|
1 | 1 | package graphql.kickstart.execution.config;
|
2 | 2 |
|
3 | 3 | import graphql.GraphQL;
|
| 4 | +import graphql.execution.ExecutionStrategy; |
4 | 5 | import graphql.execution.instrumentation.ChainedInstrumentation;
|
5 | 6 | import graphql.execution.instrumentation.Instrumentation;
|
6 | 7 | import graphql.execution.instrumentation.SimpleInstrumentation;
|
@@ -49,11 +50,25 @@ public GraphQL build(GraphQLSchema schema) {
|
49 | 50 |
|
50 | 51 | public GraphQL build(GraphQLSchema schema, Supplier<Instrumentation> configuredInstrumentationSupplier) {
|
51 | 52 | ExecutionStrategyProvider executionStrategyProvider = executionStrategyProviderSupplier.get();
|
| 53 | + ExecutionStrategy queryExecutionStrategy = executionStrategyProvider.getQueryExecutionStrategy(); |
| 54 | + ExecutionStrategy mutationExecutionStrategy = executionStrategyProvider.getMutationExecutionStrategy(); |
| 55 | + ExecutionStrategy subscriptionExecutionStrategy = executionStrategyProvider.getSubscriptionExecutionStrategy(); |
| 56 | + |
52 | 57 | GraphQL.Builder builder = GraphQL.newGraphQL(schema)
|
53 |
| - .queryExecutionStrategy(executionStrategyProvider.getQueryExecutionStrategy()) |
54 |
| - .mutationExecutionStrategy(executionStrategyProvider.getMutationExecutionStrategy()) |
55 |
| - .subscriptionExecutionStrategy(executionStrategyProvider.getSubscriptionExecutionStrategy()) |
56 | 58 | .preparsedDocumentProvider(preparsedDocumentProviderSupplier.get());
|
| 59 | + |
| 60 | + if (queryExecutionStrategy != null) { |
| 61 | + builder.queryExecutionStrategy(queryExecutionStrategy); |
| 62 | + } |
| 63 | + |
| 64 | + if (mutationExecutionStrategy != null) { |
| 65 | + builder.mutationExecutionStrategy(mutationExecutionStrategy); |
| 66 | + } |
| 67 | + |
| 68 | + if (subscriptionExecutionStrategy != null) { |
| 69 | + builder.subscriptionExecutionStrategy(subscriptionExecutionStrategy); |
| 70 | + } |
| 71 | + |
57 | 72 | Instrumentation instrumentation = configuredInstrumentationSupplier.get();
|
58 | 73 | builder.instrumentation(instrumentation);
|
59 | 74 | if (containsDispatchInstrumentation(instrumentation)) {
|
|
0 commit comments