Skip to content

Commit d94eacc

Browse files
authored
graphql-java#1855 add ExecutionStrategyParameters parameter to handleResults method (graphql-java#1935)
1 parent a9f7932 commit d94eacc

3 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/main/java/graphql/execution/AbstractAsyncExecutionStrategy.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ public AbstractAsyncExecutionStrategy(DataFetcherExceptionHandler dataFetcherExc
1919
super(dataFetcherExceptionHandler);
2020
}
2121

22+
protected BiConsumer<List<ExecutionResult>, Throwable> handleResults(ExecutionContext executionContext, List<String> fieldNames, CompletableFuture<ExecutionResult> overallResult, ExecutionStrategyParameters parameters) {
23+
return this.handleResults(executionContext, fieldNames, overallResult);
24+
}
25+
26+
// This method is kept for backward compatibility. Prefer calling/overriding another handleResults method
2227
protected BiConsumer<List<ExecutionResult>, Throwable> handleResults(ExecutionContext executionContext, List<String> fieldNames, CompletableFuture<ExecutionResult> overallResult) {
2328
return (List<ExecutionResult> results, Throwable exception) -> {
2429
if (exception != null) {

src/main/java/graphql/execution/AsyncExecutionStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public CompletableFuture<ExecutionResult> execute(ExecutionContext executionCont
7979
executionStrategyCtx.onDispatched(overallResult);
8080

8181
Async.each(futures).whenComplete((completeValueInfos, throwable) -> {
82-
BiConsumer<List<ExecutionResult>, Throwable> handleResultsConsumer = handleResults(executionContext, resolvedFields, overallResult);
82+
BiConsumer<List<ExecutionResult>, Throwable> handleResultsConsumer = handleResults(executionContext, resolvedFields, overallResult, parameters);
8383
if (throwable != null) {
8484
handleResultsConsumer.accept(null, throwable.getCause());
8585
return;

src/main/java/graphql/execution/AsyncSerialExecutionStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public AsyncSerialExecutionStrategy(DataFetcherExceptionHandler exceptionHandler
2424
}
2525

2626
@Override
27-
@SuppressWarnings({"TypeParameterUnusedInFormals","FutureReturnValueIgnored"})
27+
@SuppressWarnings({"TypeParameterUnusedInFormals", "FutureReturnValueIgnored"})
2828
public CompletableFuture<ExecutionResult> execute(ExecutionContext executionContext, ExecutionStrategyParameters parameters) throws NonNullableFieldWasNullException {
2929

3030
Instrumentation instrumentation = executionContext.getInstrumentation();
@@ -44,7 +44,7 @@ public CompletableFuture<ExecutionResult> execute(ExecutionContext executionCont
4444
CompletableFuture<ExecutionResult> overallResult = new CompletableFuture<>();
4545
executionStrategyCtx.onDispatched(overallResult);
4646

47-
resultsFuture.whenComplete(handleResults(executionContext, fieldNames, overallResult));
47+
resultsFuture.whenComplete(handleResults(executionContext, fieldNames, overallResult, parameters));
4848
overallResult.whenComplete(executionStrategyCtx::onCompleted);
4949
return overallResult;
5050
}

0 commit comments

Comments
 (0)