iRemove TypeDefinitionConfigurer auto-configuration

Closes gh-39604
This commit is contained in:
Brian Clozel 2024-02-16 15:27:23 +01:00
parent 77922af3ba
commit 4fd0e29cc8
2 changed files with 1 additions and 35 deletions

View File

@ -66,7 +66,6 @@ import org.springframework.graphql.execution.DefaultExecutionGraphQlService;
import org.springframework.graphql.execution.GraphQlSource; import org.springframework.graphql.execution.GraphQlSource;
import org.springframework.graphql.execution.RuntimeWiringConfigurer; import org.springframework.graphql.execution.RuntimeWiringConfigurer;
import org.springframework.graphql.execution.SubscriptionExceptionResolver; import org.springframework.graphql.execution.SubscriptionExceptionResolver;
import org.springframework.graphql.execution.TypeDefinitionConfigurer;
/** /**
* {@link EnableAutoConfiguration Auto-configuration} for creating a Spring GraphQL base * {@link EnableAutoConfiguration Auto-configuration} for creating a Spring GraphQL base
@ -96,8 +95,7 @@ public class GraphQlAutoConfiguration {
ObjectProvider<DataFetcherExceptionResolver> exceptionResolvers, ObjectProvider<DataFetcherExceptionResolver> exceptionResolvers,
ObjectProvider<SubscriptionExceptionResolver> subscriptionExceptionResolvers, ObjectProvider<SubscriptionExceptionResolver> subscriptionExceptionResolvers,
ObjectProvider<Instrumentation> instrumentations, ObjectProvider<RuntimeWiringConfigurer> wiringConfigurers, ObjectProvider<Instrumentation> instrumentations, ObjectProvider<RuntimeWiringConfigurer> wiringConfigurers,
ObjectProvider<GraphQlSourceBuilderCustomizer> sourceCustomizers, ObjectProvider<GraphQlSourceBuilderCustomizer> sourceCustomizers) {
ObjectProvider<TypeDefinitionConfigurer> typeDefinitionConfigurers) {
String[] schemaLocations = properties.getSchema().getLocations(); String[] schemaLocations = properties.getSchema().getLocations();
Resource[] schemaResources = resolveSchemaResources(resourcePatternResolver, schemaLocations, Resource[] schemaResources = resolveSchemaResources(resourcePatternResolver, schemaLocations,
properties.getSchema().getFileExtensions()); properties.getSchema().getFileExtensions());
@ -112,7 +110,6 @@ public class GraphQlAutoConfiguration {
if (!properties.getSchema().getIntrospection().isEnabled()) { if (!properties.getSchema().getIntrospection().isEnabled()) {
builder.configureRuntimeWiring(this::enableIntrospection); builder.configureRuntimeWiring(this::enableIntrospection);
} }
typeDefinitionConfigurers.forEach(builder::configureTypeDefinitions);
builder.configureTypeDefinitions(new ConnectionTypeDefinitionConfigurer()); builder.configureTypeDefinitions(new ConnectionTypeDefinitionConfigurer());
wiringConfigurers.orderedStream().forEach(builder::configureRuntimeWiring); wiringConfigurers.orderedStream().forEach(builder::configureRuntimeWiring);
sourceCustomizers.orderedStream().forEach((customizer) -> customizer.customize(builder)); sourceCustomizers.orderedStream().forEach((customizer) -> customizer.customize(builder));

View File

@ -26,7 +26,6 @@ import graphql.schema.GraphQLObjectType;
import graphql.schema.GraphQLOutputType; import graphql.schema.GraphQLOutputType;
import graphql.schema.GraphQLSchema; import graphql.schema.GraphQLSchema;
import graphql.schema.idl.RuntimeWiring; import graphql.schema.idl.RuntimeWiring;
import graphql.schema.idl.TypeDefinitionRegistry;
import graphql.schema.visibility.DefaultGraphqlFieldVisibility; import graphql.schema.visibility.DefaultGraphqlFieldVisibility;
import graphql.schema.visibility.NoIntrospectionGraphqlFieldVisibility; import graphql.schema.visibility.NoIntrospectionGraphqlFieldVisibility;
import org.assertj.core.api.InstanceOfAssertFactories; import org.assertj.core.api.InstanceOfAssertFactories;
@ -53,7 +52,6 @@ import org.springframework.graphql.execution.DataFetcherExceptionResolver;
import org.springframework.graphql.execution.DataLoaderRegistrar; import org.springframework.graphql.execution.DataLoaderRegistrar;
import org.springframework.graphql.execution.GraphQlSource; import org.springframework.graphql.execution.GraphQlSource;
import org.springframework.graphql.execution.RuntimeWiringConfigurer; import org.springframework.graphql.execution.RuntimeWiringConfigurer;
import org.springframework.graphql.execution.TypeDefinitionConfigurer;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@ -224,14 +222,6 @@ class GraphQlAutoConfigurationTests {
}); });
} }
@Test
void shouldUseCustomTypeDefinitionConfigurerWhenDefined() {
this.contextRunner.withUserConfiguration(CustomTypeDefinitionConfigurer.class).run((context) -> {
TestTypeDefinitionConfigurer configurer = context.getBean(TestTypeDefinitionConfigurer.class);
assertThat(configurer.applied).isTrue();
});
}
@Test @Test
void whenApplicationTaskExecutorIsDefinedThenAnnotatedControllerConfigurerShouldUseIt() { void whenApplicationTaskExecutorIsDefinedThenAnnotatedControllerConfigurerShouldUseIt() {
this.contextRunner.withConfiguration(AutoConfigurations.of(TaskExecutionAutoConfiguration.class)) this.contextRunner.withConfiguration(AutoConfigurations.of(TaskExecutionAutoConfiguration.class))
@ -347,25 +337,4 @@ class GraphQlAutoConfigurationTests {
} }
@Configuration(proxyBeanMethods = false)
static class CustomTypeDefinitionConfigurer {
@Bean
TestTypeDefinitionConfigurer testTypeDefinitionConfigurer() {
return new TestTypeDefinitionConfigurer();
}
}
static class TestTypeDefinitionConfigurer implements TypeDefinitionConfigurer {
boolean applied = false;
@Override
public void configure(TypeDefinitionRegistry registry) {
this.applied = true;
}
}
} }