/** * This helps you transform the current ExecutionInput object into another one by starting a builder with all * the current values and allows you to transform it how you want. * * @param builderConsumer the consumer code that will be given a builder to transform * * @return a new ExecutionInput object based on calling build on that builder */ public ExecutionInput transform(Consumer<Builder> builderConsumer) { Builder builder = new Builder() .query(this.query) .operationName(this.operationName) .context(this.context) .root(this.root) .dataLoaderRegistry(this.dataLoaderRegistry) .variables(this.variables); builderConsumer.accept(builder); return builder.build(); }
void dataLoaderRun() { System.out.println("=== AsyncExecutionStrategy with DataLoader ==="); GraphQLSchema schema = buildDataLoaderSchema(); DataLoaderRegistry dataLoaderRegistry = new DataLoaderRegistry(); dataLoaderRegistry.register("departments", BatchCompareDataFetchers.departmentsForShopDataLoader); dataLoaderRegistry.register("products", BatchCompareDataFetchers.productsForDepartmentDataLoader); GraphQL graphQL = GraphQL .newGraphQL(schema) .instrumentation(new DataLoaderDispatcherInstrumentation()) .build(); ExecutionInput executionInput = ExecutionInput.newExecutionInput() .query("query { shops { id name departments { id name products { id name } } } }") .dataLoaderRegistry(dataLoaderRegistry) .build(); ExecutionResult result = graphQL.execute(executionInput); System.out.println("\nExecutionResult: " + result.toSpecification()); }
.operationName(parameters.getOperationName()) .variables(parameters.getVariables()) .dataLoaderRegistry(dataLoaderRegistry)
/** * This helps you transform the current ExecutionInput object into another one by starting a builder with all * the current values and allows you to transform it how you want. * * @param builderConsumer the consumer code that will be given a builder to transform * * @return a new ExecutionInput object based on calling build on that builder */ public ExecutionInput transform(Consumer<Builder> builderConsumer) { Builder builder = new Builder() .query(this.query) .operationName(this.operationName) .context(this.context) .root(this.root) .dataLoaderRegistry(this.dataLoaderRegistry) .variables(this.variables); builderConsumer.accept(builder); return builder.build(); }
private ExecutionInput input(GraphQLRequest request, HttpServletRequest raw) { ExecutionInput.Builder inputBuilder = ExecutionInput.newExecutionInput() .query(request.getQuery()) .operationName(request.getOperationName()) .variables(request.getVariables()) .context(contextFactory.createGlobalContext(GlobalContextFactoryParams.builder() .withGraphQLRequest(request) .withHttpRequest(raw) .build())); if (dataLoaderRegistryFactory != null) { inputBuilder.dataLoaderRegistry(dataLoaderRegistryFactory.createDataLoaderRegistry()); } return inputBuilder.build(); } }
private ExecutionInput input(GraphQLRequest request, HttpServletRequest raw) { ExecutionInput.Builder inputBuilder = ExecutionInput.newExecutionInput() .query(request.getQuery()) .operationName(request.getOperationName()) .variables(request.getVariables()) .context(contextFactory.createGlobalContext(GlobalContextFactoryParams.builder() .withGraphQLRequest(request) .withHttpRequest(raw) .build())); if (dataLoaderRegistryFactory != null) { inputBuilder.dataLoaderRegistry(dataLoaderRegistryFactory.createDataLoaderRegistry()); } return inputBuilder.build(); } }
protected ExecutionInput createExecutionInput(GraphQLRequest graphQLRequest) { return ExecutionInput.newExecutionInput() .query(graphQLRequest.getQuery()) .operationName(graphQLRequest.getOperationName()) .context(context) .root(root) .variables(graphQLRequest.getVariables()) .dataLoaderRegistry(context.getDataLoaderRegistry().orElse(new DataLoaderRegistry())) .build(); }
.dataLoaderRegistry(registry) .build();