diff --git a/gradle.properties b/gradle.properties index 5eaa14bc..4bbdec4d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,8 +31,8 @@ TARGET_COMPATIBILITY=17 ### Dependencies LIB_GRAPHQL_JAVA_VER=19.3 LIB_EXTENDED_SCALARS_VER=19.1 -LIB_SPRING_BOOT_VER=2.7.6 -LIB_GRAPHQL_SERVLET_VER=14.0.0 +LIB_SPRING_BOOT_VER=3.0.0 +LIB_GRAPHQL_SERVLET_VER=15.0.0 LIB_GRAPHQL_JAVA_TOOLS_VER=13.0.2 LIB_GRAPHQL_ANNOTATIONS_VER=9.1 LIB_REFLECTIONS_VER=0.10.2 diff --git a/graphql-kickstart-spring-support/src/test/java/graphql/kickstart/spring/error/GraphQLErrorStartupListenerTest.java b/graphql-kickstart-spring-support/src/test/java/graphql/kickstart/spring/error/GraphQLErrorStartupListenerTest.java index f3bddc7b..e1c4a6e2 100644 --- a/graphql-kickstart-spring-support/src/test/java/graphql/kickstart/spring/error/GraphQLErrorStartupListenerTest.java +++ b/graphql-kickstart-spring-support/src/test/java/graphql/kickstart/spring/error/GraphQLErrorStartupListenerTest.java @@ -34,6 +34,6 @@ private ApplicationReadyEvent getApplicationReadyEvent() { new AnnotationConfigWebApplicationContext(); annotationConfigWebApplicationContext.refresh(); return new ApplicationReadyEvent( - new SpringApplication(), new String[0], annotationConfigWebApplicationContext); + new SpringApplication(), new String[0], annotationConfigWebApplicationContext, null); } } diff --git a/graphql-spring-boot-autoconfigure/build.gradle b/graphql-spring-boot-autoconfigure/build.gradle index 7a38d474..d74dc9e8 100644 --- a/graphql-spring-boot-autoconfigure/build.gradle +++ b/graphql-spring-boot-autoconfigure/build.gradle @@ -19,8 +19,8 @@ dependencies { api "com.graphql-java-kickstart:graphql-java-tools:$LIB_GRAPHQL_JAVA_TOOLS_VER" - api(project(":graphql-kickstart-spring-support")) - api(project(':graphql-kickstart-spring-webflux')) + api project(":graphql-kickstart-spring-support") + api project(':graphql-kickstart-spring-webflux') api "com.graphql-java:graphql-java-extended-scalars:$LIB_EXTENDED_SCALARS_VER" api "com.graphql-java-kickstart:graphql-java-kickstart:$LIB_GRAPHQL_SERVLET_VER" api "com.graphql-java-kickstart:graphql-java-servlet:$LIB_GRAPHQL_SERVLET_VER" @@ -46,7 +46,7 @@ dependencies { compileOnly "org.springframework.boot:spring-boot-configuration-processor" compileOnly "org.springframework.boot:spring-boot-starter-web" - testImplementation(project(":graphql-spring-boot-starter-test")) + testImplementation project(":graphql-spring-boot-starter-test") testImplementation "com.graphql-java:graphql-java:$LIB_GRAPHQL_JAVA_VER" testImplementation "org.springframework.boot:spring-boot-starter-web" testImplementation "org.springframework.boot:spring-boot-starter-test" @@ -57,7 +57,7 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-security" testImplementation "org.springframework.security:spring-security-test" testImplementation "io.projectreactor:reactor-core" - testImplementation "io.reactivex.rxjava2:rxjava" + testImplementation "io.reactivex.rxjava2:rxjava:2.2.21" testImplementation "org.jsoup:jsoup:$LIB_JSOUP_VER" } diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsAutoConfiguration.java index 1bf0dd31..00ed9a6d 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsAutoConfiguration.java @@ -34,14 +34,14 @@ import org.reflections.scanners.MethodAnnotationsScanner; import org.reflections.scanners.SubTypesScanner; import org.reflections.scanners.TypeAnnotationsScanner; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; @Slf4j -@Configuration +@AutoConfiguration @RequiredArgsConstructor @ConditionalOnProperty(value = "graphql.schema-strategy", havingValue = "ANNOTATIONS") @EnableConfigurationProperties(GraphQLAnnotationsProperties.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsProperties.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsProperties.java index 6ebab3b1..f35ed9f0 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsProperties.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/annotations/GraphQLAnnotationsProperties.java @@ -1,6 +1,6 @@ package graphql.kickstart.autoconfigure.annotations; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairAutoConfiguration.java index d01f8acd..5f588d8c 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairAutoConfiguration.java @@ -1,15 +1,15 @@ package graphql.kickstart.autoconfigure.editor.altair; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.DispatcherServlet; /** @author Moncef AOUDIA */ -@Configuration +@AutoConfiguration @ConditionalOnWebApplication @EnableConfigurationProperties({AltairProperties.class, AltairOptions.class, AltairResources.class}) @ConditionalOnClass(DispatcherServlet.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairController.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairController.java index f37b2a4e..4bdc93ff 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairController.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/altair/AltairController.java @@ -11,8 +11,8 @@ import java.nio.charset.Charset; import java.util.HashMap; import java.util.Map; -import javax.annotation.PostConstruct; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.PostConstruct; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/GraphiQLAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/GraphiQLAutoConfiguration.java index 919f0d18..acad69d4 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/GraphiQLAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/GraphiQLAutoConfiguration.java @@ -3,6 +3,7 @@ import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type.REACTIVE; import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type.SERVLET; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -16,13 +17,15 @@ import org.springframework.web.reactive.function.server.ServerResponse; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +; /** * @author Andrew Potter * @author Ronny Bräunlich */ -@Configuration +@AutoConfiguration @ConditionalOnProperty(value = "graphql.graphiql.enabled", havingValue = "true") @EnableConfigurationProperties(GraphiQLProperties.class) public class GraphiQLAutoConfiguration { diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ReactiveGraphiQLController.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ReactiveGraphiQLController.java index 4244c6e3..deb5ee1d 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ReactiveGraphiQLController.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ReactiveGraphiQLController.java @@ -2,7 +2,7 @@ import java.io.IOException; import java.util.Map; -import javax.annotation.PostConstruct; +import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.buffer.DataBufferFactory; import org.springframework.core.io.buffer.DefaultDataBufferFactory; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ServletGraphiQLController.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ServletGraphiQLController.java index 085a421f..74e3a785 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ServletGraphiQLController.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/ServletGraphiQLController.java @@ -2,9 +2,9 @@ import java.io.IOException; import java.util.Map; -import javax.annotation.PostConstruct; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.annotation.PostConstruct; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundAutoConfiguration.java index fc5c32e9..8fd76de8 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundAutoConfiguration.java @@ -2,13 +2,13 @@ import com.fasterxml.jackson.databind.ObjectMapper; import graphql.kickstart.autoconfigure.editor.playground.properties.PlaygroundProperties; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -@Configuration +@AutoConfiguration @ConditionalOnWebApplication @EnableConfigurationProperties(PlaygroundProperties.class) public class PlaygroundAutoConfiguration { diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundWebFluxAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundWebFluxAutoConfiguration.java index 2d3e65d0..f412cb07 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundWebFluxAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/PlaygroundWebFluxAutoConfiguration.java @@ -1,10 +1,10 @@ package graphql.kickstart.autoconfigure.editor.playground; import lombok.RequiredArgsConstructor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.io.ClassPathResource; import org.springframework.web.reactive.config.WebFluxConfigurer; @@ -12,7 +12,7 @@ import org.springframework.web.reactive.function.server.RouterFunctions; import org.springframework.web.reactive.function.server.ServerResponse; -@Configuration +@AutoConfiguration @Import(PlaygroundWebFluxControllerAdvice.class) @ConditionalOnClass(WebFluxConfigurer.class) @ConditionalOnProperty(value = "graphql.playground.enabled", havingValue = "true") diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/ResourceSerializer.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/ResourceSerializer.java index 98109925..dc2b058b 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/ResourceSerializer.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/ResourceSerializer.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import java.nio.charset.StandardCharsets; -import org.apache.tomcat.util.http.fileupload.util.Streams; import org.springframework.boot.jackson.JsonComponent; import org.springframework.core.io.Resource; +import org.springframework.util.StreamUtils; @JsonComponent public class ResourceSerializer extends JsonSerializer { @@ -15,7 +15,7 @@ public class ResourceSerializer extends JsonSerializer { public void serialize( final Resource value, final JsonGenerator gen, final SerializerProvider serializers) throws IOException { - final String content = Streams.asString(value.getInputStream(), StandardCharsets.UTF_8.name()); + final String content = StreamUtils.copyToString(value.getInputStream(), StandardCharsets.UTF_8); gen.writeString(content); } } diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundCdn.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundCdn.java index 80b1a39f..fcdb8a80 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundCdn.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundCdn.java @@ -1,6 +1,6 @@ package graphql.kickstart.autoconfigure.editor.playground.properties; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import lombok.Data; @Data diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundProperties.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundProperties.java index 2ccb5372..0a68ce43 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundProperties.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundProperties.java @@ -5,7 +5,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundStaticPathSettings.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundStaticPathSettings.java index d3d7c375..cb46de14 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundStaticPathSettings.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/PlaygroundStaticPathSettings.java @@ -1,6 +1,6 @@ package graphql.kickstart.autoconfigure.editor.playground.properties; -import javax.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotBlank; import lombok.Data; @Data diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundPrettierSettings.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundPrettierSettings.java index e551db7d..6902e5e0 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundPrettierSettings.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundPrettierSettings.java @@ -1,7 +1,7 @@ package graphql.kickstart.autoconfigure.editor.playground.properties.settings; import com.fasterxml.jackson.annotation.JsonInclude; -import javax.validation.constraints.Min; +import jakarta.validation.constraints.Min; import lombok.Data; @Data diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundSchemaPollingSettings.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundSchemaPollingSettings.java index 75b06ded..f1ef0f99 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundSchemaPollingSettings.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/playground/properties/settings/PlaygroundSchemaPollingSettings.java @@ -1,7 +1,7 @@ package graphql.kickstart.autoconfigure.editor.playground.properties.settings; import com.fasterxml.jackson.annotation.JsonInclude; -import javax.validation.constraints.Min; +import jakarta.validation.constraints.Min; import lombok.Data; @Data diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/ReactiveVoyagerAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/ReactiveVoyagerAutoConfiguration.java index 09623f5e..39e3f119 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/ReactiveVoyagerAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/ReactiveVoyagerAutoConfiguration.java @@ -1,17 +1,17 @@ package graphql.kickstart.autoconfigure.editor.voyager; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.web.reactive.function.server.RouterFunction; import org.springframework.web.reactive.function.server.RouterFunctions; import org.springframework.web.reactive.function.server.ServerResponse; /** @author Max David Günther */ -@Configuration +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnProperty(value = "graphql.voyager.enabled", havingValue = "true") @EnableConfigurationProperties(VoyagerPropertiesConfiguration.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerAutoConfiguration.java index 85e79782..a196c746 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerAutoConfiguration.java @@ -1,13 +1,13 @@ package graphql.kickstart.autoconfigure.editor.voyager; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** @author Guilherme Blanco */ -@Configuration +@AutoConfiguration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) @ConditionalOnProperty(value = "graphql.voyager.enabled", havingValue = "true") @EnableConfigurationProperties(VoyagerPropertiesConfiguration.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerController.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerController.java index bb6fde1f..32c7ac7c 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerController.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerController.java @@ -4,7 +4,7 @@ import java.io.IOException; import java.util.Map; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/tools/GraphQLJavaToolsAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/tools/GraphQLJavaToolsAutoConfiguration.java index 9eefb37a..c548438d 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/tools/GraphQLJavaToolsAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/tools/GraphQLJavaToolsAutoConfiguration.java @@ -27,6 +27,7 @@ import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -36,11 +37,10 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** @author Andrew Potter */ @Slf4j -@Configuration +@AutoConfiguration @ConditionalOnClass(SchemaParser.class) @ConditionalOnProperty( value = "graphql.schema-strategy", diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/GraphQLSpringWebfluxAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/GraphQLSpringWebfluxAutoConfiguration.java index 1369a60a..822e23ff 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/GraphQLSpringWebfluxAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/GraphQLSpringWebfluxAutoConfiguration.java @@ -36,13 +36,13 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.web.reactive.HandlerMapping; import org.springframework.web.reactive.handler.SimpleUrlHandlerMapping; @@ -50,7 +50,7 @@ import org.springframework.web.reactive.socket.server.support.WebSocketHandlerAdapter; @Slf4j -@Configuration +@AutoConfiguration @Import({ GraphQLController.class, ReactiveWebSocketSubscriptionsHandler.class, diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/MonoAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/MonoAutoConfiguration.java index be63d422..1274432e 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/MonoAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/reactive/MonoAutoConfiguration.java @@ -7,14 +7,14 @@ import graphql.kickstart.tools.SchemaParserOptions.GenericWrapper; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import reactor.core.publisher.Mono; -@Configuration +@AutoConfiguration @ConditionalOnClass(SchemaParser.class) @ConditionalOnWebApplication(type = REACTIVE) @AutoConfigureBefore(GraphQLJavaToolsAutoConfiguration.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLInstrumentationAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLInstrumentationAutoConfiguration.java index bc1ed701..9d919e71 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLInstrumentationAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLInstrumentationAutoConfiguration.java @@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -19,10 +20,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; /** @author Marcel Overdijk */ -@Configuration +@AutoConfiguration @RequiredArgsConstructor @ConditionalOnClass(MetricsAutoConfiguration.class) @AutoConfigureAfter({ diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebAutoConfiguration.java index 0105b507..c82a028d 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebAutoConfiguration.java @@ -57,23 +57,24 @@ import graphql.kickstart.spring.error.ErrorHandlerSupplier; import graphql.kickstart.spring.error.GraphQLErrorStartupListener; import graphql.schema.GraphQLSchema; +import jakarta.servlet.MultipartConfigElement; import java.time.Duration; import java.util.Arrays; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import java.util.Optional; import java.util.concurrent.Executor; -import javax.servlet.MultipartConfigElement; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; @@ -95,9 +96,8 @@ import org.springframework.web.util.UrlPathHelper; /** @author oEmbedler Inc. */ -@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") @Slf4j -@Configuration +@AutoConfiguration @RequiredArgsConstructor @Import(GraphQLInvokerAutoConfiguration.class) @ConditionalOnWebApplication(type = Type.SERVLET) @@ -359,11 +359,9 @@ public ServletRegistrationBean graphQLServletRegistr @Autowired(required = false) MultipartConfigElement multipartConfigElement) { ServletRegistrationBean registration = new ServletRegistrationBean<>(servlet, graphQLServletProperties.getServletMapping()); - if (multipartConfigElement != null) { - registration.setMultipartConfig(multipartConfigElement); - } else { - registration.setMultipartConfig(new MultipartConfigElement("")); - } + registration.setMultipartConfig( + Objects.requireNonNullElseGet( + multipartConfigElement, () -> new MultipartConfigElement(""))); registration.setAsyncSupported(asyncServletProperties.isEnabled()); return registration; } diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebSecurityAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebSecurityAutoConfiguration.java index 13e85b96..7fbf81b4 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebSecurityAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebSecurityAutoConfiguration.java @@ -3,6 +3,7 @@ import graphql.kickstart.autoconfigure.web.OnSchemaOrSchemaProviderBean; import java.util.concurrent.Executor; import lombok.RequiredArgsConstructor; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -12,13 +13,12 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.authentication.DefaultAuthenticationEventPublisher; import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecutor; import org.springframework.web.servlet.DispatcherServlet; -@Configuration +@AutoConfiguration @RequiredArgsConstructor @ConditionalOnWebApplication(type = Type.SERVLET) @Conditional(OnSchemaOrSchemaProviderBean.class) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebsocketAutoConfiguration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebsocketAutoConfiguration.java index 47ebd933..9e15c4c0 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebsocketAutoConfiguration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWebsocketAutoConfiguration.java @@ -8,14 +8,15 @@ import graphql.kickstart.execution.subscriptions.SubscriptionConnectionListener; import graphql.kickstart.execution.subscriptions.apollo.KeepAliveSubscriptionConnectionListener; import graphql.kickstart.servlet.GraphQLWebsocketServlet; +import jakarta.websocket.server.ServerContainer; import java.time.Duration; import java.util.Collection; import java.util.HashSet; import java.util.Optional; import java.util.Set; -import javax.websocket.server.ServerContainer; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -25,12 +26,11 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.DispatcherServlet; import org.springframework.web.socket.server.standard.ServerEndpointExporter; import org.springframework.web.socket.server.standard.ServerEndpointRegistration; -@Configuration +@AutoConfiguration @RequiredArgsConstructor @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnClass({DispatcherServlet.class, ServerEndpointRegistration.class}) diff --git a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWsServerEndpointRegistration.java b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWsServerEndpointRegistration.java index 4a11dd8d..d7b5af38 100644 --- a/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWsServerEndpointRegistration.java +++ b/graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/web/servlet/GraphQLWsServerEndpointRegistration.java @@ -1,9 +1,9 @@ package graphql.kickstart.autoconfigure.web.servlet; import graphql.kickstart.servlet.GraphQLWebsocketServlet; -import javax.websocket.HandshakeResponse; -import javax.websocket.server.HandshakeRequest; -import javax.websocket.server.ServerEndpointConfig; +import jakarta.websocket.HandshakeResponse; +import jakarta.websocket.server.HandshakeRequest; +import jakarta.websocket.server.ServerEndpointConfig; import org.springframework.context.Lifecycle; import org.springframework.web.socket.server.standard.ServerEndpointRegistration; diff --git a/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories b/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories index b8e6c25a..b37ce545 100644 --- a/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring.factories @@ -1,20 +1,3 @@ org.springframework.context.ApplicationContextInitializer=\ graphql.kickstart.autoconfigure.scalars.GraphQLExtendedScalarsInitializer,\ graphql.kickstart.autoconfigure.scalars.GraphQLAliasedScalarsInitializer -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - graphql.kickstart.autoconfigure.web.servlet.GraphQLWebAutoConfiguration,\ - graphql.kickstart.autoconfigure.web.servlet.GraphQLWebSecurityAutoConfiguration,\ - graphql.kickstart.autoconfigure.web.servlet.GraphQLWebsocketAutoConfiguration,\ - graphql.kickstart.autoconfigure.web.servlet.GraphQLInstrumentationAutoConfiguration,\ - graphql.kickstart.autoconfigure.web.reactive.GraphQLSpringWebfluxAutoConfiguration,\ - graphql.kickstart.autoconfigure.web.reactive.MonoAutoConfiguration,\ - graphql.kickstart.autoconfigure.tools.GraphQLJavaToolsAutoConfiguration,\ - graphql.kickstart.autoconfigure.annotations.GraphQLAnnotationsAutoConfiguration,\ - graphql.kickstart.autoconfigure.GraphQLProperties,\ - graphql.kickstart.autoconfigure.editor.graphiql.GraphiQLAutoConfiguration,\ - graphql.kickstart.autoconfigure.editor.altair.AltairAutoConfiguration,\ - graphql.kickstart.autoconfigure.editor.voyager.VoyagerAutoConfiguration,\ - graphql.kickstart.autoconfigure.editor.voyager.ReactiveVoyagerAutoConfiguration,\ - graphql.kickstart.autoconfigure.editor.playground.PlaygroundAutoConfiguration,\ - graphql.kickstart.autoconfigure.editor.playground.PlaygroundWebFluxAutoConfiguration - diff --git a/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000..811b6251 --- /dev/null +++ b/graphql-spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,15 @@ +graphql.kickstart.autoconfigure.web.servlet.GraphQLWebAutoConfiguration +graphql.kickstart.autoconfigure.web.servlet.GraphQLWebSecurityAutoConfiguration +graphql.kickstart.autoconfigure.web.servlet.GraphQLWebsocketAutoConfiguration +graphql.kickstart.autoconfigure.web.servlet.GraphQLInstrumentationAutoConfiguration +graphql.kickstart.autoconfigure.web.reactive.GraphQLSpringWebfluxAutoConfiguration +graphql.kickstart.autoconfigure.web.reactive.MonoAutoConfiguration +graphql.kickstart.autoconfigure.tools.GraphQLJavaToolsAutoConfiguration +graphql.kickstart.autoconfigure.annotations.GraphQLAnnotationsAutoConfiguration +graphql.kickstart.autoconfigure.GraphQLProperties +graphql.kickstart.autoconfigure.editor.graphiql.GraphiQLAutoConfiguration +graphql.kickstart.autoconfigure.editor.altair.AltairAutoConfiguration +graphql.kickstart.autoconfigure.editor.voyager.VoyagerAutoConfiguration +graphql.kickstart.autoconfigure.editor.voyager.ReactiveVoyagerAutoConfiguration +graphql.kickstart.autoconfigure.editor.playground.PlaygroundAutoConfiguration +graphql.kickstart.autoconfigure.editor.playground.PlaygroundWebFluxAutoConfiguration diff --git a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/PermitAllWebSecurity.java b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/PermitAllWebSecurity.java index fd713e57..459de005 100644 --- a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/PermitAllWebSecurity.java +++ b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/PermitAllWebSecurity.java @@ -1,16 +1,18 @@ package graphql.kickstart.autoconfigure; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity -public class PermitAllWebSecurity extends WebSecurityConfigurerAdapter { +public class PermitAllWebSecurity { - @Override - protected void configure(final HttpSecurity http) throws Exception { - http.authorizeRequests().anyRequest().permitAll(); + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + http.authorizeHttpRequests().anyRequest().permitAll(); + return http.build(); } } diff --git a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/tools/AbstractAutoConfigurationTest.java b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/tools/AbstractAutoConfigurationTest.java index eb7329d1..ab31131f 100644 --- a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/tools/AbstractAutoConfigurationTest.java +++ b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/tools/AbstractAutoConfigurationTest.java @@ -2,8 +2,8 @@ import static org.mockito.Mockito.mock; -import javax.servlet.ServletContext; -import javax.websocket.server.ServerContainer; +import jakarta.servlet.ServletContext; +import jakarta.websocket.server.ServerContainer; import lombok.SneakyThrows; import org.junit.jupiter.api.AfterEach; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; @@ -65,7 +65,7 @@ private void loadServletContext() { if (context instanceof AnnotationConfigWebApplicationContext) { ServerContainer serverContainer = mock(ServerContainer.class); ServletContext servletContext = new MockServletContext(); - servletContext.setAttribute("javax.websocket.server.ServerContainer", serverContainer); + servletContext.setAttribute("jakarta.websocket.server.ServerContainer", serverContainer); ((AnnotationConfigWebApplicationContext) context).setServletContext(servletContext); } } diff --git a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/web/servlet/test/AbstractAutoConfigurationTest.java b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/web/servlet/test/AbstractAutoConfigurationTest.java index 26e64cae..11a7151f 100644 --- a/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/web/servlet/test/AbstractAutoConfigurationTest.java +++ b/graphql-spring-boot-autoconfigure/src/test/java/graphql/kickstart/autoconfigure/web/servlet/test/AbstractAutoConfigurationTest.java @@ -2,8 +2,8 @@ import static org.mockito.Mockito.mock; -import javax.servlet.ServletContext; -import javax.websocket.server.ServerContainer; +import jakarta.servlet.ServletContext; +import jakarta.websocket.server.ServerContainer; import org.junit.jupiter.api.AfterEach; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; @@ -61,14 +61,14 @@ protected void load(Class config, String... environment) { getContext().refresh(); getContext() .publishEvent( - new ApplicationReadyEvent(new SpringApplication(), new String[0], getContext())); + new ApplicationReadyEvent(new SpringApplication(), new String[0], getContext(), null)); } private void loadServletContext() { if (context instanceof AnnotationConfigWebApplicationContext) { ServerContainer serverContainer = mock(ServerContainer.class); ServletContext servletContext = new MockServletContext(); - servletContext.setAttribute("javax.websocket.server.ServerContainer", serverContainer); + servletContext.setAttribute("jakarta.websocket.server.ServerContainer", serverContainer); ((AnnotationConfigWebApplicationContext) context).setServletContext(servletContext); } } diff --git a/graphql-spring-boot-test-autoconfigure/build.gradle b/graphql-spring-boot-test-autoconfigure/build.gradle index f463d0ee..6434b6fd 100644 --- a/graphql-spring-boot-test-autoconfigure/build.gradle +++ b/graphql-spring-boot-test-autoconfigure/build.gradle @@ -26,7 +26,7 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-websocket") implementation("com.graphql-java-kickstart:graphql-java-tools:$LIB_GRAPHQL_JAVA_TOOLS_VER") - testImplementation "io.reactivex.rxjava2:rxjava" + testImplementation "io.reactivex.rxjava2:rxjava:2.2.21" } compileJava.dependsOn(processResources) diff --git a/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTest.java b/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTest.java index 7007f081..f9c524cb 100644 --- a/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTest.java +++ b/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTest.java @@ -31,7 +31,7 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import javax.servlet.MultipartConfigElement; +import jakarta.servlet.MultipartConfigElement; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; diff --git a/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.java b/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.java index 952628bf..2d35406c 100644 --- a/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.java +++ b/graphql-spring-boot-test-autoconfigure/src/main/java/com/graphql/spring/boot/test/GraphQLTestAutoConfiguration.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -14,7 +15,7 @@ import org.springframework.core.env.Environment; import org.springframework.core.io.ResourceLoader; -@Configuration +@AutoConfiguration @ConditionalOnWebApplication(type = Type.SERVLET) @ConditionalOnProperty( value = "graphql.servlet.enabled", diff --git a/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories b/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories deleted file mode 100644 index ed9c14fd..00000000 --- a/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -com.graphql.spring.boot.test.GraphQLTestAutoConfiguration diff --git a/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 00000000..9e42b7af --- /dev/null +++ b/graphql-spring-boot-test-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +com.graphql.spring.boot.test.GraphQLTestAutoConfiguration diff --git a/graphql-spring-boot-test/build.gradle b/graphql-spring-boot-test/build.gradle index 0caabd59..df9e4c6e 100644 --- a/graphql-spring-boot-test/build.gradle +++ b/graphql-spring-boot-test/build.gradle @@ -27,5 +27,5 @@ dependencies { testImplementation("org.springframework.boot:spring-boot-starter-web") testImplementation "org.springframework.boot:spring-boot-starter-websocket" testImplementation project(":graphql-spring-boot-starter") - testImplementation "io.reactivex.rxjava2:rxjava" + testImplementation "io.reactivex.rxjava2:rxjava:2.2.21" } diff --git a/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLResponse.java b/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLResponse.java index e6b0f164..331a195a 100644 --- a/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLResponse.java +++ b/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLResponse.java @@ -65,7 +65,7 @@ public boolean isOk() { } public HttpStatus getStatusCode() { - return responseEntity.getStatusCode(); + return HttpStatus.resolve(responseEntity.getStatusCode().value()); } public ResponseEntity getRawResponse() { diff --git a/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLTestSubscription.java b/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLTestSubscription.java index 82132c20..17bb12fa 100644 --- a/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLTestSubscription.java +++ b/graphql-spring-boot-test/src/main/java/com/graphql/spring/boot/test/GraphQLTestSubscription.java @@ -22,15 +22,15 @@ import java.util.Queue; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Predicate; -import javax.websocket.ClientEndpointConfig; -import javax.websocket.CloseReason; -import javax.websocket.ContainerProvider; -import javax.websocket.DeploymentException; -import javax.websocket.Endpoint; -import javax.websocket.EndpointConfig; -import javax.websocket.MessageHandler; -import javax.websocket.Session; -import javax.websocket.WebSocketContainer; +import jakarta.websocket.ClientEndpointConfig; +import jakarta.websocket.CloseReason; +import jakarta.websocket.ContainerProvider; +import jakarta.websocket.DeploymentException; +import jakarta.websocket.Endpoint; +import jakarta.websocket.EndpointConfig; +import jakarta.websocket.MessageHandler; +import jakarta.websocket.Session; +import jakarta.websocket.WebSocketContainer; import lombok.Getter; import lombok.NonNull; import lombok.RequiredArgsConstructor; diff --git a/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyMutation.java b/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyMutation.java index 77b6d363..993d418a 100644 --- a/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyMutation.java +++ b/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyMutation.java @@ -6,7 +6,7 @@ import graphql.schema.GraphQLScalarType; import java.util.List; import java.util.stream.Collectors; -import javax.servlet.http.Part; +import jakarta.servlet.http.Part; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; diff --git a/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyQuery.java b/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyQuery.java index ea2a93e3..09c14500 100644 --- a/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyQuery.java +++ b/graphql-spring-boot-test/src/test/java/com/graphql/spring/boot/test/beans/DummyQuery.java @@ -3,7 +3,7 @@ import graphql.kickstart.tools.GraphQLQueryResolver; import graphql.schema.DataFetchingEnvironment; import java.util.Optional; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.stereotype.Service; @Service