Minor refactoring and polishing
This commit is contained in:
@@ -65,7 +65,7 @@ public class GraphQlAutoConfiguration {
|
||||
.schemaResources(schemaResources.toArray(new Resource[0]))
|
||||
.exceptionResolvers(exceptionResolversProvider.orderedStream().collect(Collectors.toList()))
|
||||
.instrumentation(instrumentationsProvider.orderedStream().collect(Collectors.toList()));
|
||||
wiringConfigurers.orderedStream().forEach(builder::runtimeWiringConfigurer);
|
||||
wiringConfigurers.orderedStream().forEach(builder::configureRuntimeWiring);
|
||||
sourceCustomizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ import org.springframework.util.ClassUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* A {@link RuntimeWiringConfigurer} that detects {@link SchemaMapping @SchemaMapping}
|
||||
* {@link RuntimeWiringConfigurer} that detects {@link SchemaMapping @SchemaMapping}
|
||||
* annotated handler methods in {@link GraphQlController @GraphQlController}
|
||||
* classes and registers them as {@link DataFetcher}s.
|
||||
*
|
||||
@@ -181,8 +181,8 @@ public class AnnotatedDataFetcherConfigurer
|
||||
|
||||
@Override
|
||||
public void configure(RuntimeWiring.Builder builder) {
|
||||
Assert.state(this.argumentResolvers != null, "`argumentResolvers` not initialized");
|
||||
Assert.state(this.applicationContext != null, "ApplicationContext is required");
|
||||
Assert.notNull(this.applicationContext, "ApplicationContext is required");
|
||||
Assert.notNull(this.argumentResolvers, "`argumentResolvers` are required");
|
||||
|
||||
detectHandlerMethods().forEach((coordinates, handlerMethod) -> {
|
||||
DataFetcher<?> dataFetcher = new AnnotatedDataFetcher(coordinates, handlerMethod, this.argumentResolvers);
|
||||
@@ -301,7 +301,6 @@ public class AnnotatedDataFetcherConfigurer
|
||||
if (hasTypeName && hasFieldName) {
|
||||
return coordinates;
|
||||
}
|
||||
|
||||
String typeName = coordinates.getTypeName();
|
||||
if (!hasTypeName) {
|
||||
for (MethodParameter parameter : handlerMethod.getMethodParameters()) {
|
||||
@@ -315,7 +314,6 @@ public class AnnotatedDataFetcherConfigurer
|
||||
"No parentType specified, and a source/container method argument was also not found: " +
|
||||
handlerMethod.getShortLogMessage());
|
||||
}
|
||||
|
||||
return FieldCoordinates.coordinates(typeName,
|
||||
(hasFieldName ? coordinates.getFieldName() : handlerMethod.getMethod().getName()));
|
||||
}
|
||||
@@ -333,7 +331,6 @@ public class AnnotatedDataFetcherConfigurer
|
||||
return entry.getKey() + " => " + method.getName() + methodParameters;
|
||||
})
|
||||
.collect(Collectors.joining("\n\t", "\n\t" + formattedType + ":" + "\n\t", ""));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ class DefaultGraphQlSourceBuilder implements GraphQlSource.Builder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public GraphQlSource.Builder runtimeWiringConfigurer(RuntimeWiringConfigurer configurer) {
|
||||
public GraphQlSource.Builder configureRuntimeWiring(RuntimeWiringConfigurer configurer) {
|
||||
this.runtimeWiringConfigurers.add(configurer);
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -40,9 +40,11 @@ public class ExecutionGraphQlService implements GraphQlService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<ExecutionResult> execute(RequestInput input) {
|
||||
ExecutionInput executionInput = input.toExecutionInput();
|
||||
public final Mono<ExecutionResult> execute(RequestInput requestInput) {
|
||||
ExecutionInput executionInput = requestInput.toExecutionInput();
|
||||
|
||||
GraphQL graphQl = this.graphQlSource.graphQl();
|
||||
|
||||
return Mono.deferContextual((contextView) -> {
|
||||
ReactorContextManager.setReactorContext(contextView, executionInput);
|
||||
return Mono.fromFuture(graphQl.executeAsync(executionInput));
|
||||
|
||||
@@ -86,7 +86,7 @@ public interface GraphQlSource {
|
||||
* @return the current builder
|
||||
* @see graphql.schema.idl.SchemaGenerator#makeExecutableSchema(TypeDefinitionRegistry, RuntimeWiring)
|
||||
*/
|
||||
Builder runtimeWiringConfigurer(RuntimeWiringConfigurer configurer);
|
||||
Builder configureRuntimeWiring(RuntimeWiringConfigurer configurer);
|
||||
|
||||
/**
|
||||
* Add {@link DataFetcherExceptionResolver}'s to use for resolving exceptions from
|
||||
|
||||
@@ -54,7 +54,7 @@ public abstract class GraphQlTestUtils {
|
||||
|
||||
return GraphQlSource.builder()
|
||||
.schemaResources(new ByteArrayResource(schemaContent.getBytes(StandardCharsets.UTF_8)))
|
||||
.runtimeWiringConfigurer(wiring -> wiring.type(typeName, (builder) -> builder.dataFetcher(fieldName, fetcher)));
|
||||
.configureRuntimeWiring(wiring -> wiring.type(typeName, (builder) -> builder.dataFetcher(fieldName, fetcher)));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ public class AnnotatedDataFetcherInvocationTests {
|
||||
|
||||
GraphQlSource graphQlSource = GraphQlSource.builder()
|
||||
.schemaResources(new ClassPathResource("books/schema.graphqls"))
|
||||
.runtimeWiringConfigurer(configurer::configure)
|
||||
.configureRuntimeWiring(configurer::configure)
|
||||
.build();
|
||||
|
||||
return graphQlSource.graphQl();
|
||||
|
||||
@@ -282,7 +282,7 @@ class QuerydslDataFetcherTests {
|
||||
if (configurer != null) {
|
||||
TypeRuntimeWiring.Builder typeBuilder = TypeRuntimeWiring.newTypeWiring("Query");
|
||||
configurer.accept(typeBuilder);
|
||||
graphQlSourceBuilder.runtimeWiringConfigurer(wiring -> wiring.type(typeBuilder));
|
||||
graphQlSourceBuilder.configureRuntimeWiring(wiring -> wiring.type(typeBuilder));
|
||||
}
|
||||
|
||||
GraphQLTypeVisitor visitor = QuerydslDataFetcher.registrationTypeVisitor(
|
||||
|
||||
@@ -69,7 +69,7 @@ public abstract class BookTestUtils {
|
||||
private static GraphQlSource graphQlSource() {
|
||||
return GraphQlSource.builder()
|
||||
.schemaResources(new ClassPathResource("books/schema.graphqls"))
|
||||
.runtimeWiringConfigurer(builder -> builder.type(TypeRuntimeWiring.newTypeWiring("Query")
|
||||
.configureRuntimeWiring(builder -> builder.type(TypeRuntimeWiring.newTypeWiring("Query")
|
||||
.dataFetcher("bookById", (env) -> {
|
||||
Long id = Long.parseLong(env.getArgument("id"));
|
||||
return BookSource.getBook(id);
|
||||
|
||||
Reference in New Issue
Block a user