diff --git a/graphql-dgs-reactive/src/main/kotlin/com/netflix/graphql/dgs/reactive/internal/DefaultDgsReactiveQueryExecutor.kt b/graphql-dgs-reactive/src/main/kotlin/com/netflix/graphql/dgs/reactive/internal/DefaultDgsReactiveQueryExecutor.kt index 07e8b9656..7f891e068 100644 --- a/graphql-dgs-reactive/src/main/kotlin/com/netflix/graphql/dgs/reactive/internal/DefaultDgsReactiveQueryExecutor.kt +++ b/graphql-dgs-reactive/src/main/kotlin/com/netflix/graphql/dgs/reactive/internal/DefaultDgsReactiveQueryExecutor.kt @@ -32,7 +32,6 @@ import graphql.execution.ExecutionIdProvider import graphql.execution.ExecutionStrategy import graphql.execution.NonNullableFieldWasNullError import graphql.execution.instrumentation.Instrumentation -import graphql.execution.preparsed.NoOpPreparsedDocumentProvider import graphql.execution.preparsed.PreparsedDocumentProvider import graphql.schema.GraphQLSchema import org.slf4j.Logger @@ -54,7 +53,7 @@ class DefaultDgsReactiveQueryExecutor( private val mutationExecutionStrategy: ExecutionStrategy, private val idProvider: Optional, private val reloadIndicator: DefaultDgsQueryExecutor.ReloadSchemaIndicator = DefaultDgsQueryExecutor.ReloadSchemaIndicator { false }, - private val preparsedDocumentProvider: PreparsedDocumentProvider = NoOpPreparsedDocumentProvider.INSTANCE, + private val preparsedDocumentProvider: PreparsedDocumentProvider? = null, private val queryValueCustomizer: QueryValueCustomizer = QueryValueCustomizer { query -> query } ) : com.netflix.graphql.dgs.reactive.DgsReactiveQueryExecutor { diff --git a/graphql-dgs-spring-boot-oss-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/autoconfig/DgsAutoConfiguration.kt b/graphql-dgs-spring-boot-oss-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/autoconfig/DgsAutoConfiguration.kt index 4c0b6f03e..94a742911 100644 --- a/graphql-dgs-spring-boot-oss-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/autoconfig/DgsAutoConfiguration.kt +++ b/graphql-dgs-spring-boot-oss-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/autoconfig/DgsAutoConfiguration.kt @@ -32,7 +32,6 @@ import graphql.execution.ExecutionIdProvider import graphql.execution.ExecutionStrategy import graphql.execution.instrumentation.ChainedInstrumentation import graphql.execution.instrumentation.Instrumentation -import graphql.execution.preparsed.NoOpPreparsedDocumentProvider import graphql.execution.preparsed.PreparsedDocumentProvider import graphql.schema.DataFetcherFactory import graphql.schema.GraphQLCodeRegistry @@ -86,7 +85,7 @@ open class DgsAutoConfiguration( @Qualifier("mutation") providedMutationExecutionStrategy: Optional, idProvider: Optional, reloadSchemaIndicator: ReloadSchemaIndicator, - preparsedDocumentProvider: PreparsedDocumentProvider, + preparsedDocumentProvider: ObjectProvider, queryValueCustomizer: QueryValueCustomizer ): DgsQueryExecutor { val queryExecutionStrategy = @@ -111,7 +110,7 @@ open class DgsAutoConfiguration( mutationExecutionStrategy = mutationExecutionStrategy, idProvider = idProvider, reloadIndicator = reloadSchemaIndicator, - preparsedDocumentProvider = preparsedDocumentProvider, + preparsedDocumentProvider = preparsedDocumentProvider.ifAvailable, queryValueCustomizer = queryValueCustomizer ) } @@ -122,12 +121,6 @@ open class DgsAutoConfiguration( return QueryValueCustomizer { a -> a } } - @Bean - @ConditionalOnMissingBean - open fun preparsedDocumentProvider(): PreparsedDocumentProvider { - return NoOpPreparsedDocumentProvider.INSTANCE - } - @Bean open fun dgsDataLoaderProvider(applicationContext: ApplicationContext): DgsDataLoaderProvider { return DgsDataLoaderProvider(applicationContext) diff --git a/graphql-dgs-spring-webflux-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/webflux/autoconfiguration/DgsWebFluxAutoConfiguration.kt b/graphql-dgs-spring-webflux-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/webflux/autoconfiguration/DgsWebFluxAutoConfiguration.kt index b89f92edd..9be301eb2 100644 --- a/graphql-dgs-spring-webflux-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/webflux/autoconfiguration/DgsWebFluxAutoConfiguration.kt +++ b/graphql-dgs-spring-webflux-autoconfigure/src/main/kotlin/com/netflix/graphql/dgs/webflux/autoconfiguration/DgsWebFluxAutoConfiguration.kt @@ -92,7 +92,7 @@ open class DgsWebFluxAutoConfiguration(private val configProps: DgsWebfluxConfig @Qualifier("mutation") providedMutationExecutionStrategy: Optional, idProvider: Optional, reloadSchemaIndicator: DefaultDgsQueryExecutor.ReloadSchemaIndicator, - preparsedDocumentProvider: PreparsedDocumentProvider, + preparsedDocumentProvider: ObjectProvider, queryValueCustomizer: QueryValueCustomizer ): DgsReactiveQueryExecutor { @@ -117,7 +117,7 @@ open class DgsWebFluxAutoConfiguration(private val configProps: DgsWebfluxConfig mutationExecutionStrategy = mutationExecutionStrategy, idProvider = idProvider, reloadIndicator = reloadSchemaIndicator, - preparsedDocumentProvider = preparsedDocumentProvider, + preparsedDocumentProvider = preparsedDocumentProvider.ifAvailable, queryValueCustomizer = queryValueCustomizer ) } diff --git a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/BaseDgsQueryExecutor.kt b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/BaseDgsQueryExecutor.kt index aa1a3cd20..d9953307c 100644 --- a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/BaseDgsQueryExecutor.kt +++ b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/BaseDgsQueryExecutor.kt @@ -70,7 +70,7 @@ object BaseDgsQueryExecutor { queryExecutionStrategy: ExecutionStrategy, mutationExecutionStrategy: ExecutionStrategy, idProvider: Optional, - preparsedDocumentProvider: PreparsedDocumentProvider, + preparsedDocumentProvider: PreparsedDocumentProvider?, ): CompletableFuture { if (!StringUtils.hasText(query)) { @@ -89,10 +89,10 @@ object BaseDgsQueryExecutor { val graphQLBuilder = GraphQL.newGraphQL(graphQLSchema) - .preparsedDocumentProvider(preparsedDocumentProvider) .queryExecutionStrategy(queryExecutionStrategy) .mutationExecutionStrategy(mutationExecutionStrategy) + preparsedDocumentProvider?.let { graphQLBuilder.preparsedDocumentProvider(it) } instrumentation?.let { graphQLBuilder.instrumentation(it) } idProvider.ifPresent { graphQLBuilder.executionIdProvider(it) } diff --git a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DefaultDgsQueryExecutor.kt b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DefaultDgsQueryExecutor.kt index 5db2aa8d2..d8b68ad1d 100644 --- a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DefaultDgsQueryExecutor.kt +++ b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DefaultDgsQueryExecutor.kt @@ -30,7 +30,6 @@ import graphql.execution.ExecutionIdProvider import graphql.execution.ExecutionStrategy import graphql.execution.NonNullableFieldWasNullError import graphql.execution.instrumentation.Instrumentation -import graphql.execution.preparsed.NoOpPreparsedDocumentProvider import graphql.execution.preparsed.PreparsedDocumentProvider import graphql.schema.GraphQLSchema import org.slf4j.Logger @@ -53,7 +52,7 @@ class DefaultDgsQueryExecutor( private val mutationExecutionStrategy: ExecutionStrategy, private val idProvider: Optional, private val reloadIndicator: ReloadSchemaIndicator = ReloadSchemaIndicator { false }, - private val preparsedDocumentProvider: PreparsedDocumentProvider = NoOpPreparsedDocumentProvider.INSTANCE, + private val preparsedDocumentProvider: PreparsedDocumentProvider? = null, private val queryValueCustomizer: QueryValueCustomizer = QueryValueCustomizer { query -> query } ) : DgsQueryExecutor {