Skip to content

Commit ea8a89f

Browse files
Change defer callback method name
1 parent fc2cfd0 commit ea8a89f

4 files changed

Lines changed: 23 additions & 25 deletions

File tree

src/main/java/graphql/execution/DataLoaderDispatchStrategy.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import graphql.schema.DataFetcher;
55

66
import java.util.List;
7-
import java.util.concurrent.CompletableFuture;
87

98
@Internal
109
public interface DataLoaderDispatchStrategy {
@@ -50,7 +49,7 @@ default DataFetcher<?> modifyDataFetcher(DataFetcher<?> dataFetcher) {
5049
return dataFetcher;
5150
}
5251

53-
default void deferredField(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters executionStrategyParameters) {
52+
default void executeDeferredOnFieldValueInfo(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters executionStrategyParameters) {
5453

5554
}
5655
}

src/main/java/graphql/execution/incremental/DeferredExecutionSupport.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ private Supplier<CompletableFuture<DeferredFragmentCall.FieldWithExecutionResult
162162

163163
CompletableFuture<ExecutionResult> executionResultCF = fieldValueResult
164164
.thenCompose(fvi -> {
165-
executionContext.getDataLoaderDispatcherStrategy().deferredField(fvi, executionStrategyParameters);
165+
executionContext.getDataLoaderDispatcherStrategy().executeDeferredOnFieldValueInfo(fvi, executionStrategyParameters);
166166

167167
return fvi
168168
.getFieldValueFuture()

src/main/java/graphql/execution/instrumentation/dataloader/PerLevelDataLoaderDispatchStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public PerLevelDataLoaderDispatchStrategy(ExecutionContext executionContext) {
9898
}
9999

100100
@Override
101-
public void deferredField(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters executionStrategyParameters) {
101+
public void executeDeferredOnFieldValueInfo(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters executionStrategyParameters) {
102102
throw new UnsupportedOperationException("Data Loaders cannot be used to resolve deferred fields");
103103
}
104104

src/main/java/graphql/execution/instrumentation/dataloader/PerLevelDataLoaderDispatchStrategyWithDefer.java

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public PerLevelDataLoaderDispatchStrategyWithDefer(ExecutionContext executionCon
117117
}
118118

119119
@Override
120-
public void deferredField(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters parameters) {
120+
public void executeDeferredOnFieldValueInfo(FieldValueInfo fieldValueInfo, ExecutionStrategyParameters parameters) {
121121
int curLevel = parameters.getExecutionStepInfo().getPath().getLevel() + 1;
122122

123123
onFieldValuesInfoDispatchIfNeeded(Collections.singletonList(fieldValueInfo), curLevel, true);
@@ -165,6 +165,25 @@ public void executeObjectOnFieldValuesException(Throwable t, ExecutionStrategyPa
165165
);
166166
}
167167

168+
@Override
169+
public void fieldFetched(ExecutionContext executionContext,
170+
ExecutionStrategyParameters parameters,
171+
DataFetcher<?> dataFetcher,
172+
Object fetchedValue) {
173+
int level = parameters.getPath().getLevel();
174+
boolean isDeferred = parameters.getField().isDeferred();
175+
boolean dispatchNeeded = callStack.lock.callLocked(() -> {
176+
if (!isDeferred) {
177+
callStack.increaseFetchCount(level);
178+
}
179+
return dispatchIfNeeded(level);
180+
});
181+
if (dispatchNeeded) {
182+
dispatch();
183+
}
184+
185+
}
186+
168187

169188
private void increaseCallCounts(int curLevel, ExecutionStrategyParameters parameters) {
170189
int fieldCount = parameters.getFields().size();
@@ -220,26 +239,6 @@ private int getCountForList(List<FieldValueInfo> fieldValueInfos) {
220239
}
221240

222241

223-
@Override
224-
public void fieldFetched(ExecutionContext executionContext,
225-
ExecutionStrategyParameters parameters,
226-
DataFetcher<?> dataFetcher,
227-
Object fetchedValue) {
228-
int level = parameters.getPath().getLevel();
229-
boolean isDeferred = parameters.getField().isDeferred();
230-
boolean dispatchNeeded = callStack.lock.callLocked(() -> {
231-
if (!isDeferred) {
232-
callStack.increaseFetchCount(level);
233-
}
234-
return dispatchIfNeeded(level);
235-
});
236-
if (dispatchNeeded) {
237-
dispatch();
238-
}
239-
240-
}
241-
242-
243242
//
244243
// thread safety : called with callStack.lock
245244
//

0 commit comments

Comments
 (0)