/** * Returns a IDL Document that represents the schema as defined by the introspection execution result * * @param introspectionResult the result of an introspection query on a schema * * @return a IDL Document of the schema */ public Document createSchemaDefinition(ExecutionResult introspectionResult) { Map<String, Object> introspectionResultMap = introspectionResult.getData(); return createSchemaDefinition(introspectionResultMap); }
public Response getGraphQLResponse(String query, Map<String, Object> variables, String operationName) { ExecutionResult executionResult = graphQL.execute(query, operationName, null, variables); Response.ResponseBuilder res = Response.status(Response.Status.OK); HashMap<String, Object> content = new HashMap<>(); if (!executionResult.getErrors().isEmpty()) { res = Response.status(Response.Status.INTERNAL_SERVER_ERROR); content.put("errors", executionResult.getErrors()); } if (executionResult.getData() != null) { content.put("data", executionResult.getData()); } return res.entity(content).build(); }
@Override public void onNext(ExecutionResult er) { // // process the next stock price // processStockPriceChange(er.getData()); // // ask the publisher for one more item please // subscriptionRef.get().request(1); }
protected BiConsumer<List<ExecutionResult>, Throwable> handleResults(ExecutionContext executionContext, List<String> fieldNames, CompletableFuture<ExecutionResult> overallResult) { return (List<ExecutionResult> results, Throwable exception) -> { if (exception != null) { handleNonNullException(executionContext, overallResult, exception); return; } Map<String, Object> resolvedValuesByField = new LinkedHashMap<>(); int ix = 0; for (ExecutionResult executionResult : results) { String fieldName = fieldNames.get(ix++); resolvedValuesByField.put(fieldName, executionResult.getData()); } overallResult.complete(new ExecutionResultImpl(resolvedValuesByField, executionContext.getErrors())); }; } }
@Override public CompletableFuture<ExecutionResult> instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters) { Map<Object, Object> currentExt = executionResult.getExtensions(); TracingSupport tracingSupport = parameters.getInstrumentationState(); Map<Object, Object> tracingMap = new LinkedHashMap<>(); tracingMap.putAll(currentExt == null ? Collections.emptyMap() : currentExt); tracingMap.put("tracing", tracingSupport.snapshotTracingData()); return CompletableFuture.completedFuture(new ExecutionResultImpl(executionResult.getData(), executionResult.getErrors(), tracingMap)); }
private ExecutionResult wrapWithRootFieldName(ExecutionStrategyParameters parameters, ExecutionResult executionResult) { String rootFieldName = getRootFieldName(parameters); return new ExecutionResultImpl( singletonMap(rootFieldName, executionResult.getData()), executionResult.getErrors() ); }
@Override public CompletableFuture<ExecutionResult> instrumentExecutionResult(ExecutionResult executionResult, InstrumentationExecutionParameters parameters) { if (!options.isIncludeStatistics()) { return CompletableFuture.completedFuture(executionResult); } DataLoaderDispatcherInstrumentationState state = parameters.getInstrumentationState(); Map<Object, Object> currentExt = executionResult.getExtensions(); Map<Object, Object> statsMap = new LinkedHashMap<>(); statsMap.putAll(currentExt == null ? Collections.emptyMap() : currentExt); Map<Object, Object> dataLoaderStats = buildStatsMap(state); statsMap.put("dataloader", dataLoaderStats); log.debug("Data loader stats : {}", dataLoaderStats); return CompletableFuture.completedFuture(new ExecutionResultImpl(executionResult.getData(), executionResult.getErrors(), statsMap)); }
private static Map<String, Object> introspect(GraphQLSchema schema) { GraphQL gql = GraphQL.newGraphQL(schema).build(); ExecutionResult result = gql.execute(IntrospectionQuery.INTROSPECTION_QUERY); Assert.assertTrue(result.getErrors().size() == 0, "The schema has errors during Introspection"); return result.getData(); } }
private void completeValue(ExecutionContext executionContext, Map<String, Object> results, String fieldName, FetchedValue fetchedValue, ExecutionStrategyParameters newParameters) { ExecutionResult resolvedResult = completeField(executionContext, newParameters, fetchedValue).getFieldValue().join(); results.put(fieldName, resolvedResult != null ? resolvedResult.getData() : null); }
private CompletableFuture<ExecutionResult> completeFields(ExecutionContext executionContext, ExecutionStrategyParameters parameters, Map<String, FetchedValue> fetchedValues) { MergedSelectionSet fields = parameters.getFields(); // then for every fetched value, complete it, breath first Map<String, Object> results = new LinkedHashMap<>(); for (String fieldName : fetchedValues.keySet()) { ExecutionStrategyParameters newParameters = newParameters(parameters, fields, fieldName); FetchedValue fetchedValue = fetchedValues.get(fieldName); try { ExecutionResult resolvedResult = completeField(executionContext, newParameters, fetchedValue).getFieldValue().join(); results.put(fieldName, resolvedResult != null ? resolvedResult.getData() : null); } catch (NonNullableFieldWasNullException e) { assertNonNullFieldPrecondition(e); results = null; break; } } return CompletableFuture.completedFuture(new ExecutionResultImpl(results, executionContext.getErrors())); }
results.put(fieldName, executionResult != null ? executionResult.getData() : null);
public static void main(String[] args) { GraphQLSchema schema = buildSchema(); GraphQL graphql = GraphQL.newGraphQL(schema).build(); Map<String, Object> root = new HashMap<>(); root.put("dateField", LocalDateTime.of(1969, 10, 8, 0, 0)); String query = "" + "query {\n" + " default : dateField \n" + " usa : dateField(format : \"MM-dd-YYYY\") \n" + "}"; ExecutionInput executionInput = ExecutionInput.newExecutionInput() .root(root) .query(query) .build(); ExecutionResult executionResult = graphql.execute(executionInput); Map<String, Object> data = executionResult.getData(); // data['default'] == '08-10-1969' // data['usa'] == '10-08-1969' } }
completedResults.add(completedValue.getData());
public static void main(String[] args) { String schema = "type Query{hello: String}"; SchemaParser schemaParser = new SchemaParser(); TypeDefinitionRegistry typeDefinitionRegistry = schemaParser.parse(schema); RuntimeWiring runtimeWiring = newRuntimeWiring() .type("Query", builder -> builder.dataFetcher("hello", new StaticDataFetcher("world"))) .build(); SchemaGenerator schemaGenerator = new SchemaGenerator(); GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeDefinitionRegistry, runtimeWiring); GraphQL build = GraphQL.newGraphQL(graphQLSchema).build(); ExecutionResult executionResult = build.execute("{hello}"); System.out.println(executionResult.getData().toString()); // Prints: {hello=world} } }
ExecutionResult executionResult = graphQL.execute(query); Publisher<ExecutionResult> stockPriceStream = executionResult.getData();
private void simpleQueryExecution() throws Exception { //::FigureA GraphQLSchema schema = GraphQLSchema.newSchema() .query(queryType) .build(); GraphQL graphQL = GraphQL.newGraphQL(schema) .build(); ExecutionInput executionInput = ExecutionInput.newExecutionInput().query("query { hero { name } }") .build(); ExecutionResult executionResult = graphQL.execute(executionInput); Object data = executionResult.getData(); List<GraphQLError> errors = executionResult.getErrors(); //::/FigureA }
public static void main(String[] args) { GraphQLObjectType queryType = newObject() .name("helloWorldQuery") .field(newFieldDefinition() .type(GraphQLString) .name("hello") .staticValue("world")) .build(); GraphQLSchema schema = GraphQLSchema.newSchema() .query(queryType) .build(); GraphQL graphQL = GraphQL.newGraphQL(schema).build(); Map<String, Object> result = graphQL.execute("{hello}").getData(); System.out.println(result); // Prints: {hello=world} }
@Test public void helloWorldTest() { GraphQLObjectType queryType = newObject() .name("helloWorldQuery") .field(newFieldDefinition() .type(GraphQLString) .name("hello") .staticValue("world")) .build(); GraphQLSchema schema = GraphQLSchema.newSchema() .query(queryType) .build(); GraphQL graphQL = GraphQL.newGraphQL(schema).build(); Map<String, Object> result = graphQL.execute("{hello}").getData(); assertEquals("world", result.get("hello")); } }
/** * Returns a IDL Document that represents the schema as defined by the introspection execution result * * @param introspectionResult the result of an introspection query on a schema * * @return a IDL Document of the schema */ public Document createSchemaDefinition(ExecutionResult introspectionResult) { Map<String, Object> introspectionResultMap = introspectionResult.getData(); return createSchemaDefinition(introspectionResultMap); }
private static Map<String, Object> introspect(GraphQLSchema schema) { GraphQL gql = GraphQL.newGraphQL(schema).build(); ExecutionResult result = gql.execute(IntrospectionQuery.INTROSPECTION_QUERY); Assert.assertTrue(result.getErrors().size() == 0, "The schema has errors during Introspection"); return result.getData(); } }