Replace QL with Ql for consistency with Spring naming
This commit is contained in:
@@ -29,22 +29,22 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.graphql.execution.DataFetcherExceptionResolver;
|
||||
import org.springframework.graphql.execution.GraphQLSource;
|
||||
import org.springframework.graphql.execution.GraphQlSource;
|
||||
|
||||
@Configuration
|
||||
@ConditionalOnClass(GraphQL.class)
|
||||
@ConditionalOnMissingBean(GraphQLSource.class)
|
||||
@EnableConfigurationProperties(GraphQLProperties.class)
|
||||
public class GraphQLAutoConfiguration {
|
||||
@ConditionalOnMissingBean(GraphQlSource.class)
|
||||
@EnableConfigurationProperties(GraphQlProperties.class)
|
||||
public class GraphQlAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
public GraphQLSource graphQLSource(GraphQLSource.Builder builder) {
|
||||
public GraphQlSource graphQlSource(GraphQlSource.Builder builder) {
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@ConditionalOnMissingBean(GraphQLSource.Builder.class)
|
||||
static class GraphQLSourceConfiguration {
|
||||
@ConditionalOnMissingBean(GraphQlSource.Builder.class)
|
||||
static class GraphQlSourceConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
@@ -55,13 +55,13 @@ public class GraphQLAutoConfiguration {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public GraphQLSource.Builder graphQLSourceBuilder(
|
||||
GraphQLProperties properties, RuntimeWiring runtimeWiring,
|
||||
public GraphQlSource.Builder graphQlSourceBuilder(
|
||||
GraphQlProperties properties, RuntimeWiring runtimeWiring,
|
||||
ObjectProvider<DataFetcherExceptionResolver> exceptionResolversProvider,
|
||||
ResourceLoader resourceLoader, ObjectProvider<Instrumentation> instrumentationsProvider) {
|
||||
|
||||
String schemaLocation = properties.getSchema().getLocation();
|
||||
return GraphQLSource.builder()
|
||||
return GraphQlSource.builder()
|
||||
.schemaResource(resourceLoader.getResource(schemaLocation))
|
||||
.runtimeWiring(runtimeWiring)
|
||||
.exceptionResolvers(exceptionResolversProvider.orderedStream().collect(Collectors.toList()))
|
||||
@@ -20,7 +20,7 @@ import java.time.Duration;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
|
||||
@ConfigurationProperties(prefix = "spring.graphql")
|
||||
public class GraphQLProperties {
|
||||
public class GraphQlProperties {
|
||||
|
||||
/**
|
||||
* Path at which to expose a GraphQL request HTTP endpoint.
|
||||
@@ -22,20 +22,20 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.graphql.GraphQLService;
|
||||
import org.springframework.graphql.execution.ExecutionGraphQLService;
|
||||
import org.springframework.graphql.execution.GraphQLSource;
|
||||
import org.springframework.graphql.GraphQlService;
|
||||
import org.springframework.graphql.execution.ExecutionGraphQlService;
|
||||
import org.springframework.graphql.execution.GraphQlSource;
|
||||
|
||||
@Configuration
|
||||
@ConditionalOnClass(GraphQL.class)
|
||||
@ConditionalOnMissingBean(GraphQLService.class)
|
||||
@AutoConfigureAfter(GraphQLAutoConfiguration.class)
|
||||
public class GraphQLServiceAutoConfiguration {
|
||||
@ConditionalOnMissingBean(GraphQlService.class)
|
||||
@AutoConfigureAfter(GraphQlAutoConfiguration.class)
|
||||
public class GraphQlServiceAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public GraphQLService graphQLService(GraphQLSource graphQLSource) {
|
||||
return new ExecutionGraphQLService(graphQLSource);
|
||||
public GraphQlService graphQlService(GraphQlSource graphQlSource) {
|
||||
return new ExecutionGraphQlService(graphQlSource);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -35,12 +35,12 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.graphql.GraphQLService;
|
||||
import org.springframework.graphql.execution.GraphQLSource;
|
||||
import org.springframework.graphql.web.WebGraphQLHandler;
|
||||
import org.springframework.graphql.GraphQlService;
|
||||
import org.springframework.graphql.execution.GraphQlSource;
|
||||
import org.springframework.graphql.web.WebGraphQlHandler;
|
||||
import org.springframework.graphql.web.WebInterceptor;
|
||||
import org.springframework.graphql.web.webflux.GraphQLHttpHandler;
|
||||
import org.springframework.graphql.web.webflux.GraphQLWebSocketHandler;
|
||||
import org.springframework.graphql.web.webflux.GraphQlHttpHandler;
|
||||
import org.springframework.graphql.web.webflux.GraphQlWebSocketHandler;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.codec.ServerCodecConfigurer;
|
||||
import org.springframework.web.reactive.HandlerMapping;
|
||||
@@ -56,28 +56,28 @@ import static org.springframework.web.reactive.function.server.RequestPredicates
|
||||
@Configuration
|
||||
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
|
||||
@ConditionalOnClass(GraphQL.class)
|
||||
@ConditionalOnBean(GraphQLSource.class)
|
||||
@AutoConfigureAfter(GraphQLAutoConfiguration.class)
|
||||
public class WebFluxGraphQLAutoConfiguration {
|
||||
@ConditionalOnBean(GraphQlSource.class)
|
||||
@AutoConfigureAfter(GraphQlAutoConfiguration.class)
|
||||
public class WebFluxGraphQlAutoConfiguration {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(WebFluxGraphQLAutoConfiguration.class);
|
||||
private static final Log logger = LogFactory.getLog(WebFluxGraphQlAutoConfiguration.class);
|
||||
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public WebGraphQLHandler webGraphQLHandler(ObjectProvider<WebInterceptor> interceptors, GraphQLService service) {
|
||||
public WebGraphQlHandler webGraphQlHandler(ObjectProvider<WebInterceptor> interceptors, GraphQlService service) {
|
||||
return WebInterceptor.createHandler(interceptors.orderedStream().collect(Collectors.toList()), service);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public GraphQLHttpHandler graphQLHttpHandler(WebGraphQLHandler webGraphQLHandler) {
|
||||
return new GraphQLHttpHandler(webGraphQLHandler);
|
||||
public GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) {
|
||||
return new GraphQlHttpHandler(webGraphQlHandler);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RouterFunction<ServerResponse> graphQLEndpoint(GraphQLHttpHandler handler, GraphQLSource graphQLSource,
|
||||
GraphQLProperties properties, ResourceLoader resourceLoader) {
|
||||
public RouterFunction<ServerResponse> graphQlEndpoint(GraphQlHttpHandler handler, GraphQlSource graphQlSource,
|
||||
GraphQlProperties properties, ResourceLoader resourceLoader) {
|
||||
|
||||
String path = properties.getPath();
|
||||
Resource resource = resourceLoader.getResource("classpath:graphiql/index.html");
|
||||
@@ -90,7 +90,7 @@ public class WebFluxGraphQLAutoConfiguration {
|
||||
if (properties.getSchema().getPrinter().isEnabled()) {
|
||||
SchemaPrinter schemaPrinter = new SchemaPrinter();
|
||||
builder = builder.GET(path + properties.getSchema().getPrinter().getPath(),
|
||||
req -> ServerResponse.ok().contentType(MediaType.TEXT_PLAIN).bodyValue(schemaPrinter.print(graphQLSource.schema())));
|
||||
req -> ServerResponse.ok().contentType(MediaType.TEXT_PLAIN).bodyValue(schemaPrinter.print(graphQlSource.schema())));
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
@@ -100,23 +100,23 @@ public class WebFluxGraphQLAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public GraphQLWebSocketHandler graphQLWebSocketHandler(
|
||||
WebGraphQLHandler webGraphQLHandler, GraphQLProperties properties, ServerCodecConfigurer configurer) {
|
||||
public GraphQlWebSocketHandler graphQlWebSocketHandler(
|
||||
WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties, ServerCodecConfigurer configurer) {
|
||||
|
||||
return new GraphQLWebSocketHandler(
|
||||
webGraphQLHandler, configurer, properties.getWebsocket().getConnectionInitTimeout());
|
||||
return new GraphQlWebSocketHandler(
|
||||
webGraphQlHandler, configurer, properties.getWebsocket().getConnectionInitTimeout());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public HandlerMapping graphQLWebSocketEndpoint(
|
||||
GraphQLWebSocketHandler graphQLWebSocketHandler, GraphQLProperties properties) {
|
||||
public HandlerMapping graphQlWebSocketEndpoint(
|
||||
GraphQlWebSocketHandler graphQlWebSocketHandler, GraphQlProperties properties) {
|
||||
|
||||
String path = properties.getWebsocket().getPath();
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("GraphQL endpoint WebSocket " + path);
|
||||
}
|
||||
WebSocketHandlerMapping handlerMapping = new WebSocketHandlerMapping();
|
||||
handlerMapping.setUrlMap(Collections.singletonMap(path, graphQLWebSocketHandler));
|
||||
handlerMapping.setUrlMap(Collections.singletonMap(path, graphQlWebSocketHandler));
|
||||
handlerMapping.setOrder(-2); // Ahead of HTTP endpoint ("routerFunctionMapping" bean)
|
||||
return handlerMapping;
|
||||
}
|
||||
@@ -39,12 +39,12 @@ import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
import org.springframework.graphql.GraphQLService;
|
||||
import org.springframework.graphql.execution.GraphQLSource;
|
||||
import org.springframework.graphql.web.WebGraphQLHandler;
|
||||
import org.springframework.graphql.GraphQlService;
|
||||
import org.springframework.graphql.execution.GraphQlSource;
|
||||
import org.springframework.graphql.web.WebGraphQlHandler;
|
||||
import org.springframework.graphql.web.WebInterceptor;
|
||||
import org.springframework.graphql.web.webmvc.GraphQLHttpHandler;
|
||||
import org.springframework.graphql.web.webmvc.GraphQLWebSocketHandler;
|
||||
import org.springframework.graphql.web.webmvc.GraphQlHttpHandler;
|
||||
import org.springframework.graphql.web.webmvc.GraphQlWebSocketHandler;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
@@ -63,28 +63,28 @@ import static org.springframework.web.servlet.function.RequestPredicates.content
|
||||
@Configuration
|
||||
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
|
||||
@ConditionalOnClass(GraphQL.class)
|
||||
@ConditionalOnBean(GraphQLSource.class)
|
||||
@AutoConfigureAfter(GraphQLAutoConfiguration.class)
|
||||
public class WebMvcGraphQLAutoConfiguration {
|
||||
@ConditionalOnBean(GraphQlSource.class)
|
||||
@AutoConfigureAfter(GraphQlAutoConfiguration.class)
|
||||
public class WebMvcGraphQlAutoConfiguration {
|
||||
|
||||
private static final Log logger = LogFactory.getLog(WebMvcGraphQLAutoConfiguration.class);
|
||||
private static final Log logger = LogFactory.getLog(WebMvcGraphQlAutoConfiguration.class);
|
||||
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public WebGraphQLHandler webGraphQLHandler(ObjectProvider<WebInterceptor> interceptors, GraphQLService service) {
|
||||
public WebGraphQlHandler webGraphQlHandler(ObjectProvider<WebInterceptor> interceptors, GraphQlService service) {
|
||||
return WebInterceptor.createHandler(interceptors.orderedStream().collect(Collectors.toList()), service);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public GraphQLHttpHandler graphQLHttpHandler(WebGraphQLHandler webGraphQLHandler) {
|
||||
return new GraphQLHttpHandler(webGraphQLHandler);
|
||||
public GraphQlHttpHandler graphQlHttpHandler(WebGraphQlHandler webGraphQlHandler) {
|
||||
return new GraphQlHttpHandler(webGraphQlHandler);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RouterFunction<ServerResponse> graphQLRouterFunction(GraphQLHttpHandler handler, GraphQLSource graphQLSource,
|
||||
GraphQLProperties properties, ResourceLoader resourceLoader) {
|
||||
public RouterFunction<ServerResponse> graphQlRouterFunction(GraphQlHttpHandler handler, GraphQlSource graphQlSource,
|
||||
GraphQlProperties properties, ResourceLoader resourceLoader) {
|
||||
|
||||
String path = properties.getPath();
|
||||
Resource resource = resourceLoader.getResource("classpath:graphiql/index.html");
|
||||
@@ -97,7 +97,7 @@ public class WebMvcGraphQLAutoConfiguration {
|
||||
if (properties.getSchema().getPrinter().isEnabled()) {
|
||||
SchemaPrinter schemaPrinter = new SchemaPrinter();
|
||||
builder = builder.GET(path + properties.getSchema().getPrinter().getPath(),
|
||||
req -> ServerResponse.ok().contentType(MediaType.TEXT_PLAIN).body(schemaPrinter.print(graphQLSource.schema())));
|
||||
req -> ServerResponse.ok().contentType(MediaType.TEXT_PLAIN).body(schemaPrinter.print(graphQlSource.schema())));
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
@@ -109,20 +109,20 @@ public class WebMvcGraphQLAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public GraphQLWebSocketHandler graphQLWebSocketHandler(
|
||||
WebGraphQLHandler webGraphQLHandler, GraphQLProperties properties, HttpMessageConverters converters) {
|
||||
public GraphQlWebSocketHandler graphQlWebSocketHandler(
|
||||
WebGraphQlHandler webGraphQlHandler, GraphQlProperties properties, HttpMessageConverters converters) {
|
||||
|
||||
HttpMessageConverter<?> converter = converters.getConverters().stream()
|
||||
.filter(candidate -> candidate.canRead(Map.class, MediaType.APPLICATION_JSON))
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new IllegalStateException("No JSON converter"));
|
||||
|
||||
return new GraphQLWebSocketHandler(
|
||||
webGraphQLHandler, converter, properties.getWebsocket().getConnectionInitTimeout());
|
||||
return new GraphQlWebSocketHandler(
|
||||
webGraphQlHandler, converter, properties.getWebsocket().getConnectionInitTimeout());
|
||||
}
|
||||
|
||||
@Bean
|
||||
public HandlerMapping graphQLWebSocketMapping(GraphQLWebSocketHandler handler, GraphQLProperties properties) {
|
||||
public HandlerMapping graphQlWebSocketMapping(GraphQlWebSocketHandler handler, GraphQlProperties properties) {
|
||||
String path = properties.getWebsocket().getPath();
|
||||
if (logger.isInfoEnabled()) {
|
||||
logger.info("GraphQL endpoint WebSocket " + path);
|
||||
@@ -26,19 +26,19 @@ import graphql.schema.DataFetcher;
|
||||
import io.micrometer.core.instrument.Tag;
|
||||
import io.micrometer.core.instrument.Tags;
|
||||
|
||||
public class DefaultGraphQLTagsProvider implements GraphQLTagsProvider {
|
||||
public class DefaultGraphQlTagsProvider implements GraphQlTagsProvider {
|
||||
|
||||
private final List<GraphQLTagsContributor> contributors;
|
||||
private final List<GraphQlTagsContributor> contributors;
|
||||
|
||||
public DefaultGraphQLTagsProvider(List<GraphQLTagsContributor> contributors) {
|
||||
public DefaultGraphQlTagsProvider(List<GraphQlTagsContributor> contributors) {
|
||||
this.contributors = contributors;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Iterable<Tag> getExecutionTags(InstrumentationExecutionParameters parameters, ExecutionResult result, Throwable exception) {
|
||||
Tags tags = Tags.of(GraphQLTags.executionOutcome(result, exception));
|
||||
for (GraphQLTagsContributor contributor : this.contributors) {
|
||||
Tags tags = Tags.of(GraphQlTags.executionOutcome(result, exception));
|
||||
for (GraphQlTagsContributor contributor : this.contributors) {
|
||||
tags = tags.and(contributor.getExecutionTags(parameters, result, exception));
|
||||
}
|
||||
return tags;
|
||||
@@ -46,8 +46,8 @@ public class DefaultGraphQLTagsProvider implements GraphQLTagsProvider {
|
||||
|
||||
@Override
|
||||
public Iterable<Tag> getErrorTags(InstrumentationExecutionParameters parameters, GraphQLError error) {
|
||||
Tags tags = Tags.of(GraphQLTags.errorType(error), GraphQLTags.errorPath(error));
|
||||
for (GraphQLTagsContributor contributor : this.contributors) {
|
||||
Tags tags = Tags.of(GraphQlTags.errorType(error), GraphQlTags.errorPath(error));
|
||||
for (GraphQlTagsContributor contributor : this.contributors) {
|
||||
tags = tags.and(contributor.getErrorTags(parameters, error));
|
||||
}
|
||||
return tags;
|
||||
@@ -55,8 +55,8 @@ public class DefaultGraphQLTagsProvider implements GraphQLTagsProvider {
|
||||
|
||||
@Override
|
||||
public Iterable<Tag> getDataFetchingTags(DataFetcher<?> dataFetcher, InstrumentationFieldFetchParameters parameters, Throwable exception) {
|
||||
Tags tags = Tags.of(GraphQLTags.dataFetchingOutcome(exception), GraphQLTags.dataFetchingPath(parameters));
|
||||
for (GraphQLTagsContributor contributor : this.contributors) {
|
||||
Tags tags = Tags.of(GraphQlTags.dataFetchingOutcome(exception), GraphQlTags.dataFetchingPath(parameters));
|
||||
for (GraphQlTagsContributor contributor : this.contributors) {
|
||||
tags = tags.and(contributor.getDataFetchingTags(dataFetcher, parameters, exception));
|
||||
}
|
||||
return tags;
|
||||
@@ -40,18 +40,18 @@ import org.springframework.context.annotation.Configuration;
|
||||
@AutoConfigureAfter({MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
|
||||
SimpleMetricsExportAutoConfiguration.class})
|
||||
@ConditionalOnBean(MeterRegistry.class)
|
||||
@EnableConfigurationProperties(GraphQLMetricsProperties.class)
|
||||
public class GraphQLMetricsAutoConfiguration {
|
||||
@EnableConfigurationProperties(GraphQlMetricsProperties.class)
|
||||
public class GraphQlMetricsAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(GraphQLTagsProvider.class)
|
||||
public DefaultGraphQLTagsProvider graphQLTagsProvider(ObjectProvider<GraphQLTagsContributor> contributors) {
|
||||
return new DefaultGraphQLTagsProvider(contributors.orderedStream().collect(Collectors.toList()));
|
||||
@ConditionalOnMissingBean(GraphQlTagsProvider.class)
|
||||
public DefaultGraphQlTagsProvider graphQlTagsProvider(ObjectProvider<GraphQlTagsContributor> contributors) {
|
||||
return new DefaultGraphQlTagsProvider(contributors.orderedStream().collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
@Bean
|
||||
public GraphQLMetricsInstrumentation graphQLMetricsInstrumentation(MeterRegistry meterRegistry,
|
||||
GraphQLTagsProvider tagsProvider, GraphQLMetricsProperties properties) {
|
||||
return new GraphQLMetricsInstrumentation(meterRegistry, tagsProvider, properties.getAutotime());
|
||||
public GraphQlMetricsInstrumentation graphQlMetricsInstrumentation(MeterRegistry meterRegistry,
|
||||
GraphQlTagsProvider tagsProvider, GraphQlMetricsProperties properties) {
|
||||
return new GraphQlMetricsInstrumentation(meterRegistry, tagsProvider, properties.getAutotime());
|
||||
}
|
||||
}
|
||||
@@ -32,15 +32,15 @@ import io.micrometer.core.instrument.Timer;
|
||||
|
||||
import org.springframework.boot.actuate.metrics.AutoTimer;
|
||||
|
||||
public class GraphQLMetricsInstrumentation extends SimpleInstrumentation {
|
||||
public class GraphQlMetricsInstrumentation extends SimpleInstrumentation {
|
||||
|
||||
private final MeterRegistry registry;
|
||||
|
||||
private final GraphQLTagsProvider tagsProvider;
|
||||
private final GraphQlTagsProvider tagsProvider;
|
||||
|
||||
private final AutoTimer autoTimer;
|
||||
|
||||
public GraphQLMetricsInstrumentation(MeterRegistry registry, GraphQLTagsProvider tagsProvider, AutoTimer autoTimer) {
|
||||
public GraphQlMetricsInstrumentation(MeterRegistry registry, GraphQlTagsProvider tagsProvider, AutoTimer autoTimer) {
|
||||
this.registry = registry;
|
||||
this.tagsProvider = tagsProvider;
|
||||
this.autoTimer = autoTimer;
|
||||
@@ -24,7 +24,7 @@ import org.springframework.boot.context.properties.NestedConfigurationProperty;
|
||||
* This class could be merged with {@link org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties}
|
||||
*/
|
||||
@ConfigurationProperties("management.metrics.graphql")
|
||||
public class GraphQLMetricsProperties {
|
||||
public class GraphQlMetricsProperties {
|
||||
|
||||
/**
|
||||
* Auto-timed queries settings.
|
||||
@@ -32,7 +32,7 @@ import io.micrometer.core.instrument.Tag;
|
||||
*
|
||||
* @author Brian Clozel
|
||||
*/
|
||||
public final class GraphQLTags {
|
||||
public final class GraphQlTags {
|
||||
|
||||
private static final Tag OUTCOME_SUCCESS = Tag.of("outcome", "SUCCESS");
|
||||
|
||||
@@ -23,7 +23,7 @@ import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchPar
|
||||
import graphql.schema.DataFetcher;
|
||||
import io.micrometer.core.instrument.Tag;
|
||||
|
||||
public interface GraphQLTagsContributor {
|
||||
public interface GraphQlTagsContributor {
|
||||
|
||||
Iterable<Tag> getExecutionTags(InstrumentationExecutionParameters parameters, ExecutionResult result, Throwable exception);
|
||||
|
||||
@@ -23,7 +23,7 @@ import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchPar
|
||||
import graphql.schema.DataFetcher;
|
||||
import io.micrometer.core.instrument.Tag;
|
||||
|
||||
public interface GraphQLTagsProvider {
|
||||
public interface GraphQlTagsProvider {
|
||||
|
||||
Iterable<Tag> getExecutionTags(InstrumentationExecutionParameters parameters, ExecutionResult result, Throwable exception);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* Auto-configuration classes to configure
|
||||
* {@link org.springframework.graphql.execution.GraphQLSource},
|
||||
* {@link org.springframework.graphql.GraphQLService}, and HTTP and WebSocket
|
||||
* {@link org.springframework.graphql.execution.GraphQlSource},
|
||||
* {@link org.springframework.graphql.GraphQlService}, and HTTP and WebSocket
|
||||
* endpoints.
|
||||
*/
|
||||
@NonNullApi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
org.springframework.graphql.boot.actuate.metrics.GraphQLMetricsAutoConfiguration,\
|
||||
org.springframework.graphql.boot.GraphQLAutoConfiguration,\
|
||||
org.springframework.graphql.boot.GraphQLServiceAutoConfiguration,\
|
||||
org.springframework.graphql.boot.WebFluxGraphQLAutoConfiguration,\
|
||||
org.springframework.graphql.boot.WebMvcGraphQLAutoConfiguration
|
||||
org.springframework.graphql.boot.actuate.metrics.GraphQlMetricsAutoConfiguration,\
|
||||
org.springframework.graphql.boot.GraphQlAutoConfiguration,\
|
||||
org.springframework.graphql.boot.GraphQlServiceAutoConfiguration,\
|
||||
org.springframework.graphql.boot.WebFluxGraphQlAutoConfiguration,\
|
||||
org.springframework.graphql.boot.WebMvcGraphQlAutoConfiguration
|
||||
|
||||
@@ -23,17 +23,17 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.graphql.execution.GraphQLSource;
|
||||
import org.springframework.graphql.execution.GraphQlSource;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link GraphQLAutoConfiguration}
|
||||
* Tests for {@link GraphQlAutoConfiguration}
|
||||
*/
|
||||
class GraphQLAutoConfigurationTests {
|
||||
class GraphQlAutoConfigurationTests {
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(GraphQLAutoConfiguration.class));
|
||||
.withConfiguration(AutoConfigurations.of(GraphQlAutoConfiguration.class));
|
||||
|
||||
|
||||
@Test
|
||||
@@ -48,26 +48,26 @@ class GraphQLAutoConfigurationTests {
|
||||
void shouldCreateBuilderWithSdl() {
|
||||
contextRunner
|
||||
.withPropertyValues("spring.graphql.schema.location:classpath:books/schema.graphqls")
|
||||
.run((context) -> assertThat(context).hasSingleBean(GraphQLSource.class));
|
||||
.run((context) -> assertThat(context).hasSingleBean(GraphQlSource.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldUseProgrammaticallyDefinedBuilder() {
|
||||
contextRunner
|
||||
.withPropertyValues("spring.graphql.schema.location:classpath:books/schema.graphqls")
|
||||
.withUserConfiguration(CustomGraphQLBuilderConfiguration.class)
|
||||
.withUserConfiguration(CustomGraphQlBuilderConfiguration.class)
|
||||
.run((context) -> {
|
||||
assertThat(context).hasBean("customGraphQLSourceBuilder");
|
||||
assertThat(context).hasSingleBean(GraphQLSource.Builder.class);
|
||||
assertThat(context).hasBean("customGraphQlSourceBuilder");
|
||||
assertThat(context).hasSingleBean(GraphQlSource.Builder.class);
|
||||
});
|
||||
}
|
||||
|
||||
@Configuration
|
||||
static class CustomGraphQLBuilderConfiguration {
|
||||
static class CustomGraphQlBuilderConfiguration {
|
||||
|
||||
@Bean
|
||||
public GraphQLSource.Builder customGraphQLSourceBuilder() {
|
||||
return GraphQLSource.builder().schemaResource(new ClassPathResource("books/schema.graphqls"));
|
||||
public GraphQlSource.Builder customGraphQlSourceBuilder() {
|
||||
return GraphQlSource.builder().schemaResource(new ClassPathResource("books/schema.graphqls"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.util.List;
|
||||
import graphql.schema.DataFetcher;
|
||||
import reactor.core.publisher.Flux;
|
||||
|
||||
public class GraphQLDataFetchers {
|
||||
public class GraphQlDataFetchers {
|
||||
|
||||
private static List<Book> books = Arrays.asList(
|
||||
new Book("book-1", "GraphQL for beginners", 100, "John GraphQL"),
|
||||
@@ -42,8 +42,8 @@ class WebFluxApplicationContextTests {
|
||||
private static final AutoConfigurations AUTO_CONFIGURATIONS = AutoConfigurations.of(
|
||||
HttpHandlerAutoConfiguration.class, WebFluxAutoConfiguration.class,
|
||||
CodecsAutoConfiguration.class, JacksonAutoConfiguration.class,
|
||||
GraphQLAutoConfiguration.class, GraphQLServiceAutoConfiguration.class,
|
||||
WebFluxGraphQLAutoConfiguration.class);
|
||||
GraphQlAutoConfiguration.class, GraphQlServiceAutoConfiguration.class,
|
||||
WebFluxGraphQlAutoConfiguration.class);
|
||||
|
||||
private static final String BASE_URL = "https://spring.example.org/graphql";
|
||||
|
||||
@@ -141,7 +141,7 @@ class WebFluxApplicationContextTests {
|
||||
public RuntimeWiringCustomizer bookDataFetcher() {
|
||||
return (runtimeWiring) ->
|
||||
runtimeWiring.type(newTypeWiring("Query")
|
||||
.dataFetcher("bookById", GraphQLDataFetchers.getBookByIdDataFetcher()));
|
||||
.dataFetcher("bookById", GraphQlDataFetchers.getBookByIdDataFetcher()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ import org.springframework.http.MediaType;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.MvcResult;
|
||||
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
|
||||
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
|
||||
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
|
||||
|
||||
import static graphql.schema.idl.TypeRuntimeWiring.newTypeWiring;
|
||||
@@ -50,11 +49,11 @@ class WebMvcApplicationContextTests {
|
||||
public static final AutoConfigurations AUTO_CONFIGURATIONS = AutoConfigurations.of(
|
||||
DispatcherServletAutoConfiguration.class, WebMvcAutoConfiguration.class,
|
||||
HttpMessageConvertersAutoConfiguration.class, JacksonAutoConfiguration.class,
|
||||
GraphQLAutoConfiguration.class, GraphQLServiceAutoConfiguration.class,
|
||||
WebMvcGraphQLAutoConfiguration.class);
|
||||
GraphQlAutoConfiguration.class, GraphQlServiceAutoConfiguration.class,
|
||||
WebMvcGraphQlAutoConfiguration.class);
|
||||
|
||||
@Test
|
||||
void endpointHandlesGraphQLQuery() {
|
||||
void endpointHandlesGraphQlQuery() {
|
||||
testWith(mockMvc -> {
|
||||
String query = "{" +
|
||||
" bookById(id: \\\"book-1\\\"){ " +
|
||||
@@ -139,7 +138,7 @@ class WebMvcApplicationContextTests {
|
||||
@Bean
|
||||
public RuntimeWiringCustomizer bookDataFetcher() {
|
||||
return (builder) -> builder.type(newTypeWiring("Query")
|
||||
.dataFetcher("bookById", GraphQLDataFetchers.getBookByIdDataFetcher()));
|
||||
.dataFetcher("bookById", GraphQlDataFetchers.getBookByIdDataFetcher()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,21 +30,21 @@ import org.springframework.graphql.test.tester.TestExecutionResult;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Tests for {@link GraphQLTags}
|
||||
* Tests for {@link GraphQlTags}
|
||||
*
|
||||
* @author Brian Clozel
|
||||
*/
|
||||
class GraphQLTagsTests {
|
||||
class GraphQlTagsTests {
|
||||
|
||||
@Test
|
||||
void executionOutcomeShouldSucceed() {
|
||||
Tag outcomeTag = GraphQLTags.executionOutcome(new TestExecutionResult(), null);
|
||||
Tag outcomeTag = GraphQlTags.executionOutcome(new TestExecutionResult(), null);
|
||||
assertThat(outcomeTag.getValue()).isEqualTo("SUCCESS");
|
||||
}
|
||||
|
||||
@Test
|
||||
void executionOutcomeShouldErrorWhenExceptionThrown() {
|
||||
Tag outcomeTag = GraphQLTags.executionOutcome(new TestExecutionResult(), new IllegalArgumentException("test error"));
|
||||
Tag outcomeTag = GraphQlTags.executionOutcome(new TestExecutionResult(), new IllegalArgumentException("test error"));
|
||||
assertThat(outcomeTag.getValue()).isEqualTo("ERROR");
|
||||
}
|
||||
|
||||
@@ -52,40 +52,40 @@ class GraphQLTagsTests {
|
||||
void executionOutcomeShouldErrorWhenResponseErrors() {
|
||||
ExecutionResultImpl.Builder builder = new ExecutionResultImpl.Builder();
|
||||
builder.addError(GraphqlErrorBuilder.newError().message("Invalid query").build());
|
||||
Tag outcomeTag = GraphQLTags.executionOutcome(builder.build(), null);
|
||||
Tag outcomeTag = GraphQlTags.executionOutcome(builder.build(), null);
|
||||
assertThat(outcomeTag.getValue()).isEqualTo("ERROR");
|
||||
}
|
||||
|
||||
@Test
|
||||
void errorTypeShouldBeDefinedIfPresent() {
|
||||
GraphQLError error = GraphqlErrorBuilder.newError().errorType(ErrorType.DataFetchingException).message("test error").build();
|
||||
Tag errorTypeTag = GraphQLTags.errorType(error);
|
||||
Tag errorTypeTag = GraphQlTags.errorType(error);
|
||||
assertThat(errorTypeTag.getValue()).isEqualTo("DataFetchingException");
|
||||
}
|
||||
|
||||
@Test
|
||||
void errorPathShouldUseJsonPathFormat() {
|
||||
GraphQLError error = GraphqlErrorBuilder.newError().path(Arrays.asList("project", "name")).message("test error").build();
|
||||
Tag errorPathTag = GraphQLTags.errorPath(error);
|
||||
Tag errorPathTag = GraphQlTags.errorPath(error);
|
||||
assertThat(errorPathTag.getValue()).isEqualTo("$.project.name");
|
||||
}
|
||||
|
||||
@Test
|
||||
void errorPathShouldUseJsonPathFormatForIndices() {
|
||||
GraphQLError error = GraphqlErrorBuilder.newError().path(Arrays.asList("issues", "42", "title")).message("test error").build();
|
||||
Tag errorPathTag = GraphQLTags.errorPath(error);
|
||||
Tag errorPathTag = GraphQlTags.errorPath(error);
|
||||
assertThat(errorPathTag.getValue()).isEqualTo("$.issues[*].title");
|
||||
}
|
||||
|
||||
@Test
|
||||
void dataFetchingOutcomeShouldBeSuccessfulIfNoException() {
|
||||
Tag fetchingOutcomeTag = GraphQLTags.dataFetchingOutcome(null);
|
||||
Tag fetchingOutcomeTag = GraphQlTags.dataFetchingOutcome(null);
|
||||
assertThat(fetchingOutcomeTag.getValue()).isEqualTo("SUCCESS");
|
||||
}
|
||||
|
||||
@Test
|
||||
void dataFetchingOutcomeShouldBeErrorIfException() {
|
||||
Tag fetchingOutcomeTag = GraphQLTags.dataFetchingOutcome(new IllegalStateException("error state"));
|
||||
Tag fetchingOutcomeTag = GraphQlTags.dataFetchingOutcome(new IllegalStateException("error state"));
|
||||
assertThat(fetchingOutcomeTag.getValue()).isEqualTo("ERROR");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user