Minor refactoring and polishing

This commit is contained in:
Rossen Stoyanchev
2021-08-13 04:48:49 +01:00
parent 6a71dc958d
commit 60b0684d80
9 changed files with 14 additions and 15 deletions

View File

@@ -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();
}

View File

@@ -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", ""));
}
}

View File

@@ -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;
}

View File

@@ -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));

View File

@@ -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

View File

@@ -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)));
}
}

View File

@@ -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();

View File

@@ -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(

View File

@@ -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);