Skip to content

Commit 1694051

Browse files
committed
Polish GraphQL QueryBE and QueryDSL auto-configurations
Closes gh-34974
1 parent 8fad26a commit 1694051

File tree

7 files changed

+28
-87
lines changed

7 files changed

+28
-87
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfiguration.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2022 the original author or authors.
2+
* Copyright 2012-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.autoconfigure.graphql.data;
1818

19+
import java.util.Collections;
1920
import java.util.List;
2021

2122
import graphql.GraphQL;
@@ -29,9 +30,9 @@
2930
import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer;
3031
import org.springframework.context.annotation.Bean;
3132
import org.springframework.data.repository.query.QueryByExampleExecutor;
32-
import org.springframework.data.repository.query.ReactiveQueryByExampleExecutor;
3333
import org.springframework.graphql.data.query.QueryByExampleDataFetcher;
3434
import org.springframework.graphql.execution.GraphQlSource;
35+
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
3536

3637
/**
3738
* {@link EnableAutoConfiguration Auto-configuration} that creates a
@@ -49,10 +50,10 @@
4950
public class GraphQlQueryByExampleAutoConfiguration {
5051

5152
@Bean
52-
public GraphQlSourceBuilderCustomizer queryByExampleRegistrar(ObjectProvider<QueryByExampleExecutor<?>> executors,
53-
ObjectProvider<ReactiveQueryByExampleExecutor<?>> reactiveExecutors) {
54-
return new GraphQlQuerydslSourceBuilderCustomizer<>(QueryByExampleDataFetcher::autoRegistrationConfigurer,
55-
executors, reactiveExecutors);
53+
public GraphQlSourceBuilderCustomizer queryByExampleRegistrar(ObjectProvider<QueryByExampleExecutor<?>> executors) {
54+
RuntimeWiringConfigurer configurer = QueryByExampleDataFetcher
55+
.autoRegistrationConfigurer(executors.orderedStream().toList(), Collections.emptyList());
56+
return (builder) -> builder.configureRuntimeWiring(configurer);
5657
}
5758

5859
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfiguration.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2022 the original author or authors.
2+
* Copyright 2012-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.autoconfigure.graphql.data;
1818

19+
import java.util.Collections;
1920
import java.util.List;
2021

2122
import graphql.GraphQL;
@@ -29,9 +30,9 @@
2930
import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer;
3031
import org.springframework.context.annotation.Bean;
3132
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
32-
import org.springframework.data.querydsl.ReactiveQuerydslPredicateExecutor;
3333
import org.springframework.graphql.data.query.QuerydslDataFetcher;
3434
import org.springframework.graphql.execution.GraphQlSource;
35+
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
3536

3637
/**
3738
* {@link EnableAutoConfiguration Auto-configuration} that creates a
@@ -50,10 +51,10 @@
5051
public class GraphQlQuerydslAutoConfiguration {
5152

5253
@Bean
53-
public GraphQlSourceBuilderCustomizer querydslRegistrar(ObjectProvider<QuerydslPredicateExecutor<?>> executors,
54-
ObjectProvider<ReactiveQuerydslPredicateExecutor<?>> reactiveExecutors) {
55-
return new GraphQlQuerydslSourceBuilderCustomizer<>(QuerydslDataFetcher::autoRegistrationConfigurer, executors,
56-
reactiveExecutors);
54+
public GraphQlSourceBuilderCustomizer querydslRegistrar(ObjectProvider<QuerydslPredicateExecutor<?>> executors) {
55+
RuntimeWiringConfigurer configurer = QuerydslDataFetcher
56+
.autoRegistrationConfigurer(executors.orderedStream().toList(), Collections.emptyList());
57+
return (builder) -> builder.configureRuntimeWiring(configurer);
5758
}
5859

5960
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslSourceBuilderCustomizer.java

-65
This file was deleted.

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQueryByExampleAutoConfiguration.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2022 the original author or authors.
2+
* Copyright 2012-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.autoconfigure.graphql.data;
1818

19+
import java.util.Collections;
1920
import java.util.List;
2021

2122
import graphql.GraphQL;
@@ -28,10 +29,10 @@
2829
import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration;
2930
import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer;
3031
import org.springframework.context.annotation.Bean;
31-
import org.springframework.data.repository.query.QueryByExampleExecutor;
3232
import org.springframework.data.repository.query.ReactiveQueryByExampleExecutor;
3333
import org.springframework.graphql.data.query.QueryByExampleDataFetcher;
3434
import org.springframework.graphql.execution.GraphQlSource;
35+
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
3536

3637
/**
3738
* {@link EnableAutoConfiguration Auto-configuration} that creates a
@@ -51,8 +52,9 @@ public class GraphQlReactiveQueryByExampleAutoConfiguration {
5152
@Bean
5253
public GraphQlSourceBuilderCustomizer reactiveQueryByExampleRegistrar(
5354
ObjectProvider<ReactiveQueryByExampleExecutor<?>> reactiveExecutors) {
54-
return new GraphQlQuerydslSourceBuilderCustomizer<>(QueryByExampleDataFetcher::autoRegistrationConfigurer,
55-
(ObjectProvider<QueryByExampleExecutor<?>>) null, reactiveExecutors);
55+
RuntimeWiringConfigurer configurer = QueryByExampleDataFetcher
56+
.autoRegistrationConfigurer(Collections.emptyList(), reactiveExecutors.orderedStream().toList());
57+
return (builder) -> builder.configureRuntimeWiring(configurer);
5658
}
5759

5860
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlReactiveQuerydslAutoConfiguration.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2022 the original author or authors.
2+
* Copyright 2012-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.boot.autoconfigure.graphql.data;
1818

19+
import java.util.Collections;
1920
import java.util.List;
2021

2122
import graphql.GraphQL;
@@ -28,10 +29,10 @@
2829
import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration;
2930
import org.springframework.boot.autoconfigure.graphql.GraphQlSourceBuilderCustomizer;
3031
import org.springframework.context.annotation.Bean;
31-
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
3232
import org.springframework.data.querydsl.ReactiveQuerydslPredicateExecutor;
3333
import org.springframework.graphql.data.query.QuerydslDataFetcher;
3434
import org.springframework.graphql.execution.GraphQlSource;
35+
import org.springframework.graphql.execution.RuntimeWiringConfigurer;
3536

3637
/**
3738
* {@link EnableAutoConfiguration Auto-configuration} that creates a
@@ -52,8 +53,9 @@ public class GraphQlReactiveQuerydslAutoConfiguration {
5253
@Bean
5354
public GraphQlSourceBuilderCustomizer reactiveQuerydslRegistrar(
5455
ObjectProvider<ReactiveQuerydslPredicateExecutor<?>> reactiveExecutors) {
55-
return new GraphQlQuerydslSourceBuilderCustomizer<>(QuerydslDataFetcher::autoRegistrationConfigurer,
56-
(ObjectProvider<QuerydslPredicateExecutor<?>>) null, reactiveExecutors);
56+
RuntimeWiringConfigurer configurer = QuerydslDataFetcher.autoRegistrationConfigurer(Collections.emptyList(),
57+
reactiveExecutors.orderedStream().toList());
58+
return (builder) -> builder.configureRuntimeWiring(configurer);
5759
}
5860

5961
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQueryByExampleAutoConfigurationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class GraphQlQueryByExampleAutoConfigurationTests {
4949
.withConfiguration(
5050
AutoConfigurations.of(GraphQlAutoConfiguration.class, GraphQlQueryByExampleAutoConfiguration.class))
5151
.withUserConfiguration(MockRepositoryConfig.class)
52-
.withPropertyValues("spring.main.web-application-type=reactive");
52+
.withPropertyValues("spring.main.web-application-type=servlet");
5353

5454
@Test
5555
void shouldRegisterDataFetcherForQueryByExampleRepositories() {

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/graphql/data/GraphQlQuerydslAutoConfigurationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class GraphQlQuerydslAutoConfigurationTests {
5050
.withConfiguration(
5151
AutoConfigurations.of(GraphQlAutoConfiguration.class, GraphQlQuerydslAutoConfiguration.class))
5252
.withUserConfiguration(MockRepositoryConfig.class)
53-
.withPropertyValues("spring.main.web-application-type=reactive");
53+
.withPropertyValues("spring.main.web-application-type=servlet");
5454

5555
@Test
5656
void shouldRegisterDataFetcherForQueryDslRepositories() {

0 commit comments

Comments
 (0)