Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit cbd083d

Browse files
committed
chore(sonar): remove duplication
1 parent 25e9b42 commit cbd083d

File tree

5 files changed

+49
-44
lines changed

5 files changed

+49
-44
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package graphql.kickstart.autoconfigure.web;
2+
3+
import graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentationOptions;
4+
import graphql.kickstart.execution.BatchedDataLoaderGraphQLBuilder;
5+
import graphql.kickstart.execution.GraphQLInvoker;
6+
import graphql.kickstart.execution.config.GraphQLBuilder;
7+
import java.util.function.Supplier;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
10+
import org.springframework.context.annotation.Bean;
11+
import org.springframework.context.annotation.Configuration;
12+
13+
@Configuration
14+
public class GraphQLInvokerAutoConfiguration {
15+
16+
@Bean
17+
@ConditionalOnMissingBean
18+
public GraphQLInvoker graphQLInvoker(
19+
GraphQLBuilder graphQLBuilder,
20+
BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder) {
21+
return new GraphQLInvoker(graphQLBuilder, batchedDataLoaderGraphQLBuilder);
22+
}
23+
24+
@Bean
25+
@ConditionalOnMissingBean
26+
public BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder(
27+
@Autowired(required = false)
28+
Supplier<DataLoaderDispatcherInstrumentationOptions> optionsSupplier) {
29+
return new BatchedDataLoaderGraphQLBuilder(optionsSupplier);
30+
}
31+
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package graphql.kickstart.autoconfigure.web.servlet;
1+
package graphql.kickstart.autoconfigure.web;
22

33
import graphql.kickstart.execution.config.GraphQLSchemaProvider;
44
import graphql.schema.GraphQLSchema;
55
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
66
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
77

8-
class OnSchemaOrSchemaProviderBean extends AnyNestedCondition {
8+
public class OnSchemaOrSchemaProviderBean extends AnyNestedCondition {
99

1010
public OnSchemaOrSchemaProviderBean() {
1111
super(ConfigurationPhase.REGISTER_BEAN);

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/GraphQLSpringWebfluxAutoConfiguration.java

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import static graphql.kickstart.execution.GraphQLObjectMapper.newBuilder;
44
import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type.REACTIVE;
55

6-
import graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentationOptions;
76
import graphql.kickstart.autoconfigure.tools.GraphQLJavaToolsAutoConfiguration;
8-
import graphql.kickstart.execution.BatchedDataLoaderGraphQLBuilder;
7+
import graphql.kickstart.autoconfigure.web.GraphQLInvokerAutoConfiguration;
8+
import graphql.kickstart.autoconfigure.web.OnSchemaOrSchemaProviderBean;
99
import graphql.kickstart.execution.GraphQLInvoker;
1010
import graphql.kickstart.execution.GraphQLObjectMapper;
1111
import graphql.kickstart.execution.config.DefaultGraphQLSchemaProvider;
@@ -32,16 +32,16 @@
3232
import java.util.HashSet;
3333
import java.util.Map;
3434
import java.util.Set;
35-
import java.util.function.Supplier;
3635
import lombok.extern.slf4j.Slf4j;
3736
import org.springframework.beans.factory.ObjectProvider;
3837
import org.springframework.beans.factory.annotation.Autowired;
3938
import org.springframework.beans.factory.annotation.Value;
4039
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
41-
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
4240
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
4341
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
42+
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
4443
import org.springframework.context.annotation.Bean;
44+
import org.springframework.context.annotation.Conditional;
4545
import org.springframework.context.annotation.Configuration;
4646
import org.springframework.context.annotation.Import;
4747
import org.springframework.web.reactive.HandlerMapping;
@@ -51,10 +51,14 @@
5151

5252
@Slf4j
5353
@Configuration
54-
@ConditionalOnBean(GraphQLSchema.class)
54+
@Import({
55+
GraphQLController.class,
56+
ReactiveWebSocketSubscriptionsHandler.class,
57+
GraphQLInvokerAutoConfiguration.class
58+
})
5559
@ConditionalOnWebApplication(type = REACTIVE)
56-
@AutoConfigureAfter(GraphQLJavaToolsAutoConfiguration.class)
57-
@Import({GraphQLController.class, ReactiveWebSocketSubscriptionsHandler.class})
60+
@Conditional(OnSchemaOrSchemaProviderBean.class)
61+
@AutoConfigureAfter({GraphQLJavaToolsAutoConfiguration.class, JacksonAutoConfiguration.class})
5862
public class GraphQLSpringWebfluxAutoConfiguration {
5963

6064
@Bean
@@ -113,22 +117,6 @@ public GraphQLBuilder graphQLBuilder() {
113117
return new GraphQLBuilder();
114118
}
115119

116-
@Bean
117-
@ConditionalOnMissingBean
118-
public BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder(
119-
@Autowired(required = false)
120-
Supplier<DataLoaderDispatcherInstrumentationOptions> optionsSupplier) {
121-
return new BatchedDataLoaderGraphQLBuilder(optionsSupplier);
122-
}
123-
124-
@Bean
125-
@ConditionalOnMissingBean
126-
public GraphQLInvoker graphQLInvoker(
127-
GraphQLBuilder graphQLBuilder,
128-
BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder) {
129-
return new GraphQLInvoker(graphQLBuilder, batchedDataLoaderGraphQLBuilder);
130-
}
131-
132120
@Bean
133121
@ConditionalOnMissingBean
134122
public ReactiveSubscriptionsProtocolFactory subscriptionProtocolFactory(

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebAutoConfiguration.java

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
import graphql.execution.SubscriptionExecutionStrategy;
2929
import graphql.execution.instrumentation.ChainedInstrumentation;
3030
import graphql.execution.instrumentation.Instrumentation;
31-
import graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentationOptions;
3231
import graphql.execution.preparsed.PreparsedDocumentProvider;
3332
import graphql.kickstart.autoconfigure.tools.GraphQLJavaToolsAutoConfiguration;
33+
import graphql.kickstart.autoconfigure.web.GraphQLInvokerAutoConfiguration;
34+
import graphql.kickstart.autoconfigure.web.OnSchemaOrSchemaProviderBean;
3435
import graphql.kickstart.autoconfigure.web.servlet.metrics.MetricsInstrumentation;
35-
import graphql.kickstart.execution.BatchedDataLoaderGraphQLBuilder;
3636
import graphql.kickstart.execution.GraphQLInvoker;
3737
import graphql.kickstart.execution.GraphQLObjectMapper;
3838
import graphql.kickstart.execution.config.DefaultExecutionStrategyProvider;
@@ -61,7 +61,6 @@
6161
import java.util.List;
6262
import java.util.Map;
6363
import java.util.Map.Entry;
64-
import java.util.function.Supplier;
6564
import javax.servlet.MultipartConfigElement;
6665
import lombok.RequiredArgsConstructor;
6766
import lombok.extern.slf4j.Slf4j;
@@ -80,6 +79,7 @@
8079
import org.springframework.context.annotation.Bean;
8180
import org.springframework.context.annotation.Conditional;
8281
import org.springframework.context.annotation.Configuration;
82+
import org.springframework.context.annotation.Import;
8383
import org.springframework.http.HttpMethod;
8484
import org.springframework.web.cors.CorsConfiguration;
8585
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@@ -92,6 +92,7 @@
9292
@Slf4j
9393
@Configuration
9494
@RequiredArgsConstructor
95+
@Import(GraphQLInvokerAutoConfiguration.class)
9596
@ConditionalOnWebApplication(type = Type.SERVLET)
9697
@ConditionalOnClass(DispatcherServlet.class)
9798
@Conditional(OnSchemaOrSchemaProviderBean.class)
@@ -253,22 +254,6 @@ public GraphQLBuilder graphQLBuilder(
253254
return graphQLBuilder;
254255
}
255256

256-
@Bean
257-
@ConditionalOnMissingBean
258-
public BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder(
259-
@Autowired(required = false)
260-
Supplier<DataLoaderDispatcherInstrumentationOptions> optionsSupplier) {
261-
return new BatchedDataLoaderGraphQLBuilder(optionsSupplier);
262-
}
263-
264-
@Bean
265-
@ConditionalOnMissingBean
266-
public GraphQLInvoker graphQLInvoker(
267-
GraphQLBuilder graphQLBuilder,
268-
BatchedDataLoaderGraphQLBuilder batchedDataLoaderGraphQLBuilder) {
269-
return new GraphQLInvoker(graphQLBuilder, batchedDataLoaderGraphQLBuilder);
270-
}
271-
272257
@Bean
273258
@ConditionalOnMissingBean
274259
public GraphQLObjectMapper graphQLObjectMapper(

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebsocketAutoConfiguration.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package graphql.kickstart.autoconfigure.web.servlet;
22

33
import graphql.kickstart.autoconfigure.tools.GraphQLJavaToolsAutoConfiguration;
4+
import graphql.kickstart.autoconfigure.web.OnSchemaOrSchemaProviderBean;
45
import graphql.kickstart.execution.GraphQLInvoker;
56
import graphql.kickstart.execution.GraphQLObjectMapper;
67
import graphql.kickstart.execution.subscriptions.GraphQLSubscriptionInvocationInputFactory;

0 commit comments

Comments
 (0)