diff --git a/belgif-rest-problem-bom/pom.xml b/belgif-rest-problem-bom/pom.xml index ea61bbd1..1605625d 100644 --- a/belgif-rest-problem-bom/pom.xml +++ b/belgif-rest-problem-bom/pom.xml @@ -28,8 +28,37 @@ io.github.belgif.rest.problem - belgif-rest-problem-java-ee - jakarta + belgif-rest-problem-java-ee-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-server + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-server ${project.version} @@ -37,16 +66,76 @@ belgif-rest-problem-spring-boot-common ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-spring-boot-3 ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-spring-boot-4 ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-server + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-validator diff --git a/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml new file mode 100644 index 00000000..40749991 --- /dev/null +++ b/belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml @@ -0,0 +1,42 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-it + ${revision} + + + belgif-rest-problem-it-common-jakarta + ${project.groupId}:${project.artifactId} + + + + + org.eclipse.transformer + transformer-maven-plugin + + + package + + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-it-common + ${project.version} + + + true + + + + + + + + + diff --git a/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml index dd326d8a..be20e755 100644 --- a/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml +++ b/belgif-rest-problem-it/belgif-rest-problem-it-common/pom.xml @@ -59,22 +59,4 @@ - - - - org.eclipse.transformer - transformer-maven-plugin - - - create-jakarta-variant - package - - jar - - - - - - - diff --git a/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml index 4b25a604..6851aa56 100644 --- a/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml +++ b/belgif-rest-problem-it/belgif-rest-problem-jakarta-ee-it/pom.xml @@ -37,9 +37,8 @@ io.github.belgif.rest.problem - belgif-rest-problem-java-ee + belgif-rest-problem-jakarta-ee ${project.version} - jakarta io.github.belgif.rest.problem @@ -48,9 +47,8 @@ io.github.belgif.rest.problem - belgif-rest-problem-it-common + belgif-rest-problem-it-common-jakarta ${project.version} - jakarta jakarta.platform diff --git a/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml index 97854a20..2d415050 100644 --- a/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml +++ b/belgif-rest-problem-it/belgif-rest-problem-quarkus-it/pom.xml @@ -38,8 +38,7 @@ io.github.belgif.rest.problem - belgif-rest-problem-it-common - jakarta + belgif-rest-problem-it-common-jakarta ${project.version} diff --git a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml index cf6db6d2..e19b6479 100644 --- a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml +++ b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-3-it/pom.xml @@ -42,9 +42,8 @@ io.github.belgif.rest.problem - belgif-rest-problem-it-common + belgif-rest-problem-it-common-jakarta ${project.version} - jakarta org.springframework.boot diff --git a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml index 72b90f05..86ec535a 100644 --- a/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml +++ b/belgif-rest-problem-it/belgif-rest-problem-spring-boot-4-it/pom.xml @@ -46,9 +46,8 @@ io.github.belgif.rest.problem - belgif-rest-problem-it-common + belgif-rest-problem-it-common-jakarta ${project.version} - jakarta org.springframework.boot diff --git a/belgif-rest-problem-it/pom.xml b/belgif-rest-problem-it/pom.xml index d0b6853a..56562119 100644 --- a/belgif-rest-problem-it/pom.xml +++ b/belgif-rest-problem-it/pom.xml @@ -34,6 +34,7 @@ belgif-rest-problem-apt belgif-rest-problem-it-common + belgif-rest-problem-it-common-jakarta belgif-rest-problem-spring-boot-3-it belgif-rest-problem-spring-boot-4-it belgif-rest-problem-java-ee-it diff --git a/belgif-rest-problem-jakarta-ee-client/pom.xml b/belgif-rest-problem-jakarta-ee-client/pom.xml new file mode 100644 index 00000000..1181f0b2 --- /dev/null +++ b/belgif-rest-problem-jakarta-ee-client/pom.xml @@ -0,0 +1,51 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-jakarta-ee-client + ${project.groupId}:${project.artifactId} + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + ${project.version} + + + + + + + org.eclipse.transformer + transformer-maven-plugin + + + package + + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-client + ${project.version} + + + true + + + + + + + + + diff --git a/belgif-rest-problem-jakarta-ee-core/pom.xml b/belgif-rest-problem-jakarta-ee-core/pom.xml new file mode 100644 index 00000000..29dd1d5b --- /dev/null +++ b/belgif-rest-problem-jakarta-ee-core/pom.xml @@ -0,0 +1,43 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-jakarta-ee-core + ${project.groupId}:${project.artifactId} + jar + + + + + org.eclipse.transformer + transformer-maven-plugin + + + package + + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-core + ${project.version} + + + true + + + + + + + + + diff --git a/belgif-rest-problem-jakarta-ee-server/pom.xml b/belgif-rest-problem-jakarta-ee-server/pom.xml new file mode 100644 index 00000000..21761cb4 --- /dev/null +++ b/belgif-rest-problem-jakarta-ee-server/pom.xml @@ -0,0 +1,51 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-jakarta-ee-server + ${project.groupId}:${project.artifactId} + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + ${project.version} + + + + + + + org.eclipse.transformer + transformer-maven-plugin + + + package + + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-server + ${project.version} + + + true + + + + + + + + + diff --git a/belgif-rest-problem-jakarta-ee/pom.xml b/belgif-rest-problem-jakarta-ee/pom.xml new file mode 100644 index 00000000..54c02415 --- /dev/null +++ b/belgif-rest-problem-jakarta-ee/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-jakarta-ee + ${project.groupId}:${project.artifactId} + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-server + ${project.version} + + + + diff --git a/belgif-rest-problem-java-ee-client/pom.xml b/belgif-rest-problem-java-ee-client/pom.xml new file mode 100644 index 00000000..d66534c4 --- /dev/null +++ b/belgif-rest-problem-java-ee-client/pom.xml @@ -0,0 +1,69 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-java-ee-client + ${project.groupId}:${project.artifactId} + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-core + ${project.version} + + + com.fasterxml.jackson.core + jackson-databind + ${version.jackson.minimal} + provided + + + jakarta.platform + jakarta.jakartaee-api + 8.0.0 + provided + + + org.jboss.resteasy + resteasy-client-microprofile + provided + 3.15.6.Final + + + org.slf4j + slf4j-api + 2.0.17 + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + ch.qos.logback + logback-classic + 1.5.26 + test + + + + diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java b/belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java rename to belgif-rest-problem-java-ee-client/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-client/src/main/resources/META-INF/beans.xml similarity index 100% rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/beans.xml rename to belgif-rest-problem-java-ee-client/src/main/resources/META-INF/beans.xml diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener b/belgif-rest-problem-java-ee-client/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener similarity index 100% rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener rename to belgif-rest-problem-java-ee-client/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java similarity index 84% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java index f9987967..f607f6d1 100644 --- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java +++ b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java @@ -21,7 +21,8 @@ void problemClientBuilder() { void problemClient() { Client client = new ProblemClientBuilderProducer().problemClient(); assertThat(Proxy.isProxyClass(client.getClass())).isTrue(); - assertThat(Proxy.getInvocationHandler(client)).isInstanceOf(ProblemSupport.ClientInvocationHandler.class); + assertThat(Proxy.getInvocationHandler(client)) + .isInstanceOf(ProblemSupport.ClientInvocationHandler.class); } } diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java b/belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java rename to belgif-rest-problem-java-ee-client/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-client/src/test/resources/logback-test.xml similarity index 100% rename from belgif-rest-problem-java-ee/src/test/resources/logback-test.xml rename to belgif-rest-problem-java-ee-client/src/test/resources/logback-test.xml diff --git a/belgif-rest-problem-java-ee-core/pom.xml b/belgif-rest-problem-java-ee-core/pom.xml new file mode 100644 index 00000000..218072f1 --- /dev/null +++ b/belgif-rest-problem-java-ee-core/pom.xml @@ -0,0 +1,82 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-java-ee-core + ${project.groupId}:${project.artifactId} + jar + + + + + --add-opens java.base/java.util=ALL-UNNAMED + --add-opens java.base/java.lang=ALL-UNNAMED + + + + + + io.github.belgif.rest.problem + belgif-rest-problem + ${project.version} + + + com.fasterxml.jackson.core + jackson-databind + ${version.jackson.minimal} + provided + + + jakarta.platform + jakarta.jakartaee-api + 8.0.0 + provided + + + org.jboss.resteasy + resteasy-jaxrs + provided + 3.15.6.Final + + + org.slf4j + slf4j-api + 2.0.17 + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + org.junit-pioneer + junit-pioneer + test + + + ch.qos.logback + logback-classic + 1.5.26 + test + + + + diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java b/belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java rename to belgif-rest-problem-java-ee-core/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java diff --git a/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml new file mode 100644 index 00000000..36fd59c6 --- /dev/null +++ b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml @@ -0,0 +1,4 @@ + + diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/belgif-rest-problem-java-ee-core/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension similarity index 100% rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension rename to belgif-rest-problem-java-ee-core/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java similarity index 79% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java index 0b48f22e..0a38d244 100644 --- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java +++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java @@ -1,6 +1,5 @@ package io.github.belgif.rest.problem.ee; -import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import java.util.HashMap; @@ -8,11 +7,11 @@ import javax.enterprise.inject.Instance; import javax.enterprise.inject.spi.CDI; +import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; -import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import io.github.belgif.rest.problem.registry.ProblemTypeRegistry; @@ -31,13 +30,14 @@ class CdiProblemModuleTest { @Test void module() { - try (MockedStatic mock = Mockito.mockStatic(CDI.class)) { + try (MockedStatic mock = mockStatic(CDI.class)) { mock.when(CDI::current).thenReturn(cdi); when(cdi.select(ProblemTypeRegistry.class)).thenReturn(instance); when(instance.get()).thenReturn(registry); when(registry.getProblemTypes()).thenReturn(new HashMap<>()); CdiProblemModule module = new CdiProblemModule(); - assertThat(module.getModuleName()).isEqualTo("io.github.belgif.rest.problem.ee.CdiProblemModule"); + Assertions.assertThat(module.getModuleName()) + .isEqualTo("io.github.belgif.rest.problem.ee.CdiProblemModule"); } } diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java similarity index 91% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java index ce4434ca..e3c8e90a 100644 --- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java +++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java @@ -1,11 +1,11 @@ package io.github.belgif.rest.problem.ee; -import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import javax.enterprise.inject.spi.AnnotatedType; import javax.enterprise.inject.spi.ProcessAnnotatedType; +import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -37,7 +37,7 @@ void processAnnotatedTypeSuccess() { verify(processAnnotatedType).veto(); - assertThat(registry.getProblemTypes()) + Assertions.assertThat(registry.getProblemTypes()) .containsEntry("urn:problem-type:belgif:badRequest", BadRequestProblem.class); } @@ -51,7 +51,7 @@ void processAnnotatedTypeNoAnnotation() { verify(processAnnotatedType).veto(); - assertThat(registry.getProblemTypes()).isEmpty(); + Assertions.assertThat(registry.getProblemTypes()).isEmpty(); } } diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java similarity index 94% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java rename to belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java index fed36b44..06d507ee 100644 --- a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java +++ b/belgif-rest-problem-java-ee-core/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java @@ -14,7 +14,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.MockedStatic; -import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import com.fasterxml.jackson.databind.ObjectMapper; @@ -36,7 +35,7 @@ class ProblemObjectMapperContextResolverTest { @Test void mapper() { - try (MockedStatic mock = Mockito.mockStatic(CDI.class)) { + try (MockedStatic mock = mockStatic(CDI.class)) { mock.when(CDI::current).thenReturn(cdi); when(cdi.select(ProblemTypeRegistry.class)).thenReturn(instance); when(instance.get()).thenReturn(registry); diff --git a/belgif-rest-problem-spring-boot-3/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/test/resources/logback-test.xml rename to belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml diff --git a/belgif-rest-problem-java-ee-server/pom.xml b/belgif-rest-problem-java-ee-server/pom.xml new file mode 100644 index 00000000..75bb610c --- /dev/null +++ b/belgif-rest-problem-java-ee-server/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-java-ee-server + ${project.groupId}:${project.artifactId} + jar + + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-core + ${project.version} + + + com.fasterxml.jackson.core + jackson-databind + ${version.jackson.minimal} + provided + + + jakarta.platform + jakarta.jakartaee-api + 8.0.0 + provided + + + org.jboss.resteasy + resteasy-jaxrs + provided + 3.15.6.Final + + + org.slf4j + slf4j-api + 2.0.17 + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + org.hibernate.validator + hibernate-validator + 6.0.23.Final + test + + + org.glassfish + javax.el + 3.0.0 + test + + + ch.qos.logback + logback-classic + 1.5.26 + test + + + + diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java diff --git a/belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java b/belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java similarity index 100% rename from belgif-rest-problem-java-ee/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java rename to belgif-rest-problem-java-ee-server/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java diff --git a/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml new file mode 100644 index 00000000..36fd59c6 --- /dev/null +++ b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml @@ -0,0 +1,4 @@ + + diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver similarity index 100% rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver rename to belgif-rest-problem-java-ee-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver diff --git a/belgif-rest-problem-java-ee/src/main/resources/META-INF/validation.xml b/belgif-rest-problem-java-ee-server/src/main/resources/META-INF/validation.xml similarity index 100% rename from belgif-rest-problem-java-ee/src/main/resources/META-INF/validation.xml rename to belgif-rest-problem-java-ee-server/src/main/resources/META-INF/validation.xml diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java diff --git a/belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java b/belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java similarity index 100% rename from belgif-rest-problem-java-ee/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java rename to belgif-rest-problem-java-ee-server/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java diff --git a/belgif-rest-problem-spring-boot-4/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/test/resources/logback-test.xml rename to belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml diff --git a/belgif-rest-problem-java-ee/pom.xml b/belgif-rest-problem-java-ee/pom.xml index d985ac5e..0c548839 100644 --- a/belgif-rest-problem-java-ee/pom.xml +++ b/belgif-rest-problem-java-ee/pom.xml @@ -13,100 +13,17 @@ ${project.groupId}:${project.artifactId} jar - - - - --add-opens java.base/java.util=ALL-UNNAMED - --add-opens java.base/java.lang=ALL-UNNAMED - - - io.github.belgif.rest.problem - belgif-rest-problem + belgif-rest-problem-java-ee-client ${project.version} - com.fasterxml.jackson.core - jackson-databind - ${version.jackson.minimal} - provided - - - jakarta.platform - jakarta.jakartaee-api - 8.0.0 - provided - - - org.jboss.resteasy - resteasy-client-microprofile - provided - 3.15.6.Final - - - org.slf4j - slf4j-api - 2.0.17 - provided - - - org.junit.jupiter - junit-jupiter - test - - - org.assertj - assertj-core - test - - - org.mockito - mockito-junit-jupiter - test - - - org.junit-pioneer - junit-pioneer - test - - - org.hibernate.validator - hibernate-validator - 6.0.23.Final - test - - - org.glassfish - javax.el - 3.0.0 - test - - - ch.qos.logback - logback-classic - 1.5.32 - test + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-server + ${project.version} - - - - org.eclipse.transformer - transformer-maven-plugin - - - create-jakarta-variant - package - - jar - - - - - - - diff --git a/belgif-rest-problem-quarkus-client-deployment/pom.xml b/belgif-rest-problem-quarkus-client-deployment/pom.xml new file mode 100644 index 00000000..799955ba --- /dev/null +++ b/belgif-rest-problem-quarkus-client-deployment/pom.xml @@ -0,0 +1,97 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-quarkus-client-deployment + ${project.groupId}:${project.artifactId} + jar + + + + + io.quarkus.platform + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + io.quarkus + quarkus-arc-deployment + + + io.quarkus + quarkus-rest-jackson-common-deployment + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core-deployment + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee + ${project.version} + provided + + + jakarta.ws.rs + jakarta.ws.rs-api + provided + + + org.jboss.resteasy.microprofile + microprofile-rest-client + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + + + + + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + + diff --git a/belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java b/belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java similarity index 56% rename from belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java rename to belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java index eec4d46d..24216978 100644 --- a/belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java +++ b/belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java @@ -1,10 +1,8 @@ -package io.github.belgif.rest.problem.quarkus.deployment; +package io.github.belgif.rest.problem.quarkus.deployment.client; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.concurrent.Future; -import java.util.stream.Collectors; import jakarta.ws.rs.client.AsyncInvoker; import jakarta.ws.rs.client.Client; @@ -12,54 +10,28 @@ import jakarta.ws.rs.client.WebTarget; import org.eclipse.microprofile.rest.client.spi.RestClientListener; -import org.jboss.jandex.ClassInfo; -import org.jboss.jandex.DotName; -import io.github.belgif.rest.problem.api.InEnum; -import io.github.belgif.rest.problem.api.Input; -import io.github.belgif.rest.problem.api.InputValidationIssue; -import io.github.belgif.rest.problem.api.Problem; import io.github.belgif.rest.problem.ee.jaxrs.ProblemObjectMapperContextResolver; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemResponseExceptionMapper; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemRestClientListener; -import io.github.belgif.rest.problem.i18n.I18N; import io.quarkus.deployment.annotations.BuildStep; -import io.quarkus.deployment.builditem.CombinedIndexBuildItem; import io.quarkus.deployment.builditem.FeatureBuildItem; import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem; -import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem; /** - * BuildSteps for belgif-rest-problem-quarkus extension needed to support native mode. + * BuildSteps for belgif-rest-problem-quarkus-client extension needed to support native mode. */ -public class ProblemExtensionProcessor { +public class ProblemExtensionClientProcessor { - private static final String FEATURE = "belgif-rest-problem"; + private static final String FEATURE = "belgif-rest-problem-client"; @BuildStep FeatureBuildItem feature() { return new FeatureBuildItem(FEATURE); } - @BuildStep - ReflectiveClassBuildItem registerProblemModelClassesForReflection(CombinedIndexBuildItem index) { - List problemModelClasses = new ArrayList<>(); - problemModelClasses.add(Problem.class.getName()); - problemModelClasses.add(InputValidationIssue.class.getName()); - problemModelClasses.add(Input.class.getName()); - problemModelClasses.add(InEnum.class.getName()); - problemModelClasses.addAll(index.getIndex().getAllKnownSubclasses(Problem.class).stream() - .map(ClassInfo::name) - .map(DotName::toString) - .collect(Collectors.toList())); - return ReflectiveClassBuildItem.builder(problemModelClasses.toArray(new String[0])) - .reason(ProblemExtensionProcessor.class.getName()) - .constructors().methods().fields() - .build(); - } - @BuildStep List registerJaxRsClientProxies() { return Arrays.asList( @@ -71,11 +43,6 @@ List registerJaxRsClientProxies() { new NativeImageProxyDefinitionBuildItem(Future.class.getName())); } - @BuildStep - NativeImageResourceBundleBuildItem i18nBundle() { - return new NativeImageResourceBundleBuildItem(I18N.DEFAULT_BUNDLE); - } - @BuildStep ServiceProviderBuildItem registerRestClientListenerServiceProvider() { return new ServiceProviderBuildItem(RestClientListener.class.getName(), diff --git a/belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java b/belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java similarity index 57% rename from belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java rename to belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java index 2093c7fc..05dac55b 100644 --- a/belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java +++ b/belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java @@ -1,7 +1,6 @@ -package io.github.belgif.rest.problem.quarkus.deployment; +package io.github.belgif.rest.problem.quarkus.deployment.client; import static org.assertj.core.api.Assertions.*; -import static org.mockito.Mockito.*; import java.util.Collections; import java.util.List; @@ -12,49 +11,22 @@ import jakarta.ws.rs.client.Invocation; import jakarta.ws.rs.client.WebTarget; -import org.jboss.jandex.ClassInfo; -import org.jboss.jandex.DotName; -import org.jboss.jandex.IndexView; import org.junit.jupiter.api.Test; -import io.github.belgif.rest.problem.api.InEnum; -import io.github.belgif.rest.problem.api.Input; -import io.github.belgif.rest.problem.api.InputValidationIssue; -import io.github.belgif.rest.problem.api.Problem; import io.github.belgif.rest.problem.ee.jaxrs.ProblemObjectMapperContextResolver; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemResponseExceptionMapper; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemRestClientListener; -import io.github.belgif.rest.problem.i18n.I18N; -import io.quarkus.deployment.builditem.CombinedIndexBuildItem; import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem; -import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem; import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem; -class ProblemExtensionProcessorTest { +class ProblemExtensionClientProcessorTest { - private final ProblemExtensionProcessor processor = new ProblemExtensionProcessor(); + private final ProblemExtensionClientProcessor processor = new ProblemExtensionClientProcessor(); @Test void feature() { - assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem"); - } - - @Test - void registerProblemModelClassesForReflection() { - CombinedIndexBuildItem indexBuildItem = mock(CombinedIndexBuildItem.class); - IndexView indexView = mock(IndexView.class); - ClassInfo classInfo = mock(ClassInfo.class); - when(indexBuildItem.getIndex()).thenReturn(indexView); - when(classInfo.name()).thenReturn(DotName.createSimple("io.github.belgif.rest.problem.MyProblem")); - when(indexView.getAllKnownSubclasses(Problem.class)).thenReturn(Collections.singletonList(classInfo)); - ReflectiveClassBuildItem result = processor.registerProblemModelClassesForReflection(indexBuildItem); - assertThat(result.getClassNames()).containsExactly(Problem.class.getName(), - InputValidationIssue.class.getName(), Input.class.getName(), InEnum.class.getName(), - "io.github.belgif.rest.problem.MyProblem"); - assertThat(result.isConstructors()).isTrue(); - assertThat(result.isMethods()).isTrue(); - assertThat(result.isFields()).isTrue(); + assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-client"); } @Test @@ -69,12 +41,6 @@ void registerJaxRsClientProxies() { Collections.singletonList(Future.class.getName())); } - @Test - void i18nBundle() { - NativeImageResourceBundleBuildItem bundle = processor.i18nBundle(); - assertThat(bundle.getBundleName()).isEqualTo(I18N.DEFAULT_BUNDLE); - } - @Test void registerRestClientListenerServiceProvider() { ServiceProviderBuildItem serviceProvider = processor.registerRestClientListenerServiceProvider(); diff --git a/belgif-rest-problem-quarkus-client/pom.xml b/belgif-rest-problem-quarkus-client/pom.xml new file mode 100644 index 00000000..a93ed01b --- /dev/null +++ b/belgif-rest-problem-quarkus-client/pom.xml @@ -0,0 +1,126 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-quarkus-client + ${project.groupId}:${project.artifactId} + jar + + + + + io.quarkus.platform + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + + + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core-deployment + ${project.version} + provided + + + io.quarkus + quarkus-rest-jackson-common + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + + + jakarta.ws.rs + jakarta.ws.rs-api + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + io.quarkus + quarkus-junit5 + test + + + io.quarkus + quarkus-junit5-mockito + test + + + + + + + io.quarkus + quarkus-extension-maven-plugin + ${version.quarkus} + + + compile + + extension-descriptor + + + ${project.groupId}:${project.artifactId}-deployment:${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + + diff --git a/belgif-rest-problem-quarkus-deployment/pom.xml b/belgif-rest-problem-quarkus-core-deployment/pom.xml similarity index 92% rename from belgif-rest-problem-quarkus-deployment/pom.xml rename to belgif-rest-problem-quarkus-core-deployment/pom.xml index d5c95891..06d39989 100644 --- a/belgif-rest-problem-quarkus-deployment/pom.xml +++ b/belgif-rest-problem-quarkus-core-deployment/pom.xml @@ -9,7 +9,7 @@ ${revision} - belgif-rest-problem-quarkus-deployment + belgif-rest-problem-quarkus-core-deployment ${project.groupId}:${project.artifactId} jar @@ -36,13 +36,12 @@ io.github.belgif.rest.problem - belgif-rest-problem-quarkus + belgif-rest-problem-quarkus-core ${project.version} io.github.belgif.rest.problem - belgif-rest-problem-java-ee - jakarta + belgif-rest-problem-jakarta-ee ${project.version} provided diff --git a/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java b/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java new file mode 100644 index 00000000..812c356a --- /dev/null +++ b/belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java @@ -0,0 +1,55 @@ +package io.github.belgif.rest.problem.quarkus.deployment.core; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.jboss.jandex.ClassInfo; +import org.jboss.jandex.DotName; + +import io.github.belgif.rest.problem.api.InEnum; +import io.github.belgif.rest.problem.api.Input; +import io.github.belgif.rest.problem.api.InputValidationIssue; +import io.github.belgif.rest.problem.api.Problem; +import io.github.belgif.rest.problem.i18n.I18N; +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.deployment.builditem.CombinedIndexBuildItem; +import io.quarkus.deployment.builditem.FeatureBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem; +import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; + +/** + * BuildSteps for belgif-rest-problem-quarkus-core extension needed to support native mode. + */ +public class ProblemExtensionCoreProcessor { + + private static final String FEATURE = "belgif-rest-problem-core"; + + @BuildStep + FeatureBuildItem feature() { + return new FeatureBuildItem(FEATURE); + } + + @BuildStep + ReflectiveClassBuildItem registerProblemModelClassesForReflection(CombinedIndexBuildItem index) { + List problemModelClasses = new ArrayList<>(); + problemModelClasses.add(Problem.class.getName()); + problemModelClasses.add(InputValidationIssue.class.getName()); + problemModelClasses.add(Input.class.getName()); + problemModelClasses.add(InEnum.class.getName()); + problemModelClasses.addAll(index.getIndex().getAllKnownSubclasses(Problem.class).stream() + .map(ClassInfo::name) + .map(DotName::toString) + .collect(Collectors.toList())); + return ReflectiveClassBuildItem.builder(problemModelClasses.toArray(new String[0])) + .reason(ProblemExtensionCoreProcessor.class.getName()) + .constructors().methods().fields() + .build(); + } + + @BuildStep + NativeImageResourceBundleBuildItem i18nBundle() { + return new NativeImageResourceBundleBuildItem(I18N.DEFAULT_BUNDLE); + } + +} diff --git a/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java b/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java new file mode 100644 index 00000000..4b26b7fb --- /dev/null +++ b/belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java @@ -0,0 +1,46 @@ +package io.github.belgif.rest.problem.quarkus.deployment.core; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; + +import java.util.Collections; + +import org.jboss.jandex.ClassInfo; +import org.jboss.jandex.DotName; +import org.jboss.jandex.IndexView; +import org.junit.jupiter.api.Test; + +import io.github.belgif.rest.problem.api.InEnum; +import io.github.belgif.rest.problem.api.Input; +import io.github.belgif.rest.problem.api.InputValidationIssue; +import io.github.belgif.rest.problem.api.Problem; +import io.quarkus.deployment.builditem.CombinedIndexBuildItem; +import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; + +class ProblemExtensionCoreProcessorTest { + + private final ProblemExtensionCoreProcessor processor = new ProblemExtensionCoreProcessor(); + + @Test + void feature() { + assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-core"); + } + + @Test + void registerProblemModelClassesForReflection() { + CombinedIndexBuildItem indexBuildItem = mock(CombinedIndexBuildItem.class); + IndexView indexView = mock(IndexView.class); + ClassInfo classInfo = mock(ClassInfo.class); + when(indexBuildItem.getIndex()).thenReturn(indexView); + when(classInfo.name()).thenReturn(DotName.createSimple("io.github.belgif.rest.problem.MyProblem")); + when(indexView.getAllKnownSubclasses(Problem.class)).thenReturn(Collections.singletonList(classInfo)); + ReflectiveClassBuildItem result = processor.registerProblemModelClassesForReflection(indexBuildItem); + assertThat(result.getClassNames()).containsExactly(Problem.class.getName(), + InputValidationIssue.class.getName(), Input.class.getName(), InEnum.class.getName(), + "io.github.belgif.rest.problem.MyProblem"); + assertThat(result.isConstructors()).isTrue(); + assertThat(result.isMethods()).isTrue(); + assertThat(result.isFields()).isTrue(); + } + +} diff --git a/belgif-rest-problem-quarkus-core/pom.xml b/belgif-rest-problem-quarkus-core/pom.xml new file mode 100644 index 00000000..6d25aa2a --- /dev/null +++ b/belgif-rest-problem-quarkus-core/pom.xml @@ -0,0 +1,142 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-quarkus-core + ${project.groupId}:${project.artifactId} + jar + + + + + io.quarkus.platform + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem + ${project.version} + + + io.quarkus + quarkus-rest-jackson-common + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + + + jakarta.ws.rs + jakarta.ws.rs-api + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + io.quarkus + quarkus-junit5 + test + + + io.quarkus + quarkus-junit5-mockito + test + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + compile + + unpack + + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + ${project.version} + target/classes + + META-INF/MANIFEST.MF, + META-INF/services/jakarta.enterprise.inject.spi.Extension, + io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.class, + io/github/belgif/rest/problem/ee/registry/CdiProblemTypeRegistry.class + + + + + + + + + io.quarkus + quarkus-extension-maven-plugin + ${version.quarkus} + + + compile + + extension-descriptor + + + ${project.groupId}:${project.artifactId}-deployment:${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + + diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java similarity index 96% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java index f3328d4f..27b4e4eb 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfigurator.java +++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfigurator.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import java.util.Optional; diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java similarity index 97% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java index 1d8cde0a..c885f2e5 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtension.java +++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtension.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import java.util.ArrayList; import java.util.List; diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java similarity index 95% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java rename to belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java index fb876486..0a7f83a3 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistry.java +++ b/belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistry.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import java.util.Collections; import java.util.HashMap; diff --git a/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension b/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension new file mode 100644 index 00000000..a60b2c78 --- /dev/null +++ b/belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension @@ -0,0 +1 @@ +io.github.belgif.rest.problem.quarkus.core.QuarkusProblemExtension \ No newline at end of file diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java similarity index 97% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java index 4ef78f56..e2c0a187 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemConfiguratorTest.java +++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemConfiguratorTest.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import static org.assertj.core.api.Assertions.*; diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java similarity index 94% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java index d5d98a87..b9da4a6b 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemExtensionTest.java +++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemExtensionTest.java @@ -1,8 +1,9 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import static org.assertj.core.api.Assertions.*; import static org.mockito.AdditionalMatchers.*; import static org.mockito.Mockito.*; +import static org.mockito.Mockito.eq; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.inject.build.compatible.spi.ClassConfig; @@ -19,7 +20,7 @@ import io.github.belgif.rest.problem.BadRequestProblem; import io.github.belgif.rest.problem.InternalServerErrorProblem; -import io.github.belgif.rest.problem.quarkus.QuarkusProblemExtension.QuarkusProblemTypeRegistryCreator; +import io.github.belgif.rest.problem.quarkus.core.QuarkusProblemExtension.QuarkusProblemTypeRegistryCreator; import io.github.belgif.rest.problem.registry.ProblemTypeRegistry; @ExtendWith(MockitoExtension.class) diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java similarity index 94% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java rename to belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java index 35c5eac8..beb8660a 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/QuarkusProblemTypeRegistryTest.java +++ b/belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core/QuarkusProblemTypeRegistryTest.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus; +package io.github.belgif.rest.problem.quarkus.core; import static org.assertj.core.api.Assertions.*; diff --git a/belgif-rest-problem-quarkus-server-deployment/pom.xml b/belgif-rest-problem-quarkus-server-deployment/pom.xml new file mode 100644 index 00000000..832425ab --- /dev/null +++ b/belgif-rest-problem-quarkus-server-deployment/pom.xml @@ -0,0 +1,97 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-quarkus-server-deployment + ${project.groupId}:${project.artifactId} + jar + + + + + io.quarkus.platform + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + io.quarkus + quarkus-arc-deployment + + + io.quarkus + quarkus-rest-jackson-common-deployment + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core-deployment + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-server + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee + ${project.version} + provided + + + jakarta.ws.rs + jakarta.ws.rs-api + provided + + + org.jboss.resteasy.microprofile + microprofile-rest-client + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + + + + + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + + diff --git a/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java b/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java new file mode 100644 index 00000000..701d8148 --- /dev/null +++ b/belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java @@ -0,0 +1,18 @@ +package io.github.belgif.rest.problem.quarkus.deployment.server; + +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.deployment.builditem.FeatureBuildItem; + +/** + * BuildSteps for belgif-rest-problem-quarkus-server extension needed to support native mode. + */ +public class ProblemExtensionServerProcessor { + + private static final String FEATURE = "belgif-rest-problem-server"; + + @BuildStep + FeatureBuildItem feature() { + return new FeatureBuildItem(FEATURE); + } + +} diff --git a/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java b/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java new file mode 100644 index 00000000..71c1eb59 --- /dev/null +++ b/belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java @@ -0,0 +1,16 @@ +package io.github.belgif.rest.problem.quarkus.deployment.server; + +import static org.assertj.core.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class ProblemExtensionServerProcessorTest { + + private final ProblemExtensionServerProcessor processor = new ProblemExtensionServerProcessor(); + + @Test + void feature() { + assertThat(processor.feature().getName()).isEqualTo("belgif-rest-problem-server"); + } + +} diff --git a/belgif-rest-problem-quarkus-server/pom.xml b/belgif-rest-problem-quarkus-server/pom.xml new file mode 100644 index 00000000..aeda1ba5 --- /dev/null +++ b/belgif-rest-problem-quarkus-server/pom.xml @@ -0,0 +1,149 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-quarkus-server + ${project.groupId}:${project.artifactId} + jar + + + + + io.quarkus.platform + quarkus-bom + ${version.quarkus} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core-deployment + ${project.version} + provided + + + io.quarkus + quarkus-rest-jackson-common + + + jakarta.enterprise + jakarta.enterprise.cdi-api + provided + + + jakarta.ws.rs + jakarta.ws.rs-api + provided + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + org.mockito + mockito-junit-jupiter + test + + + io.quarkus + quarkus-junit5 + test + + + io.quarkus + quarkus-junit5-mockito + test + + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + compile + + unpack + + + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-server + ${project.version} + target/classes + + META-INF/MANIFEST.MF, + META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver, + io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.class, + io/github/belgif/rest/problem/ee/jaxrs/i18n/* + + + + + + + + + io.quarkus + quarkus-extension-maven-plugin + ${version.quarkus} + + + compile + + extension-descriptor + + + ${project.groupId}:${project.artifactId}-deployment:${project.version} + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + io.quarkus + quarkus-extension-processor + ${version.quarkus} + + + + + + + + diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java similarity index 93% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java index fea63e21..1ed6ec82 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilter.java +++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilter.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import jakarta.inject.Inject; import jakarta.ws.rs.container.ContainerRequestContext; diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java similarity index 87% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java index e134ad81..1fa9da7a 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolder.java +++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolder.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import java.util.Locale; diff --git a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java similarity index 93% rename from belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java rename to belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java index 6905e1b9..5dfc6717 100644 --- a/belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolver.java +++ b/belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolver.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import java.util.Locale; diff --git a/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver new file mode 100644 index 00000000..e176abbf --- /dev/null +++ b/belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver @@ -0,0 +1 @@ +io.github.belgif.rest.problem.quarkus.server.i18n.QuarkusLocaleResolver \ No newline at end of file diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java similarity index 96% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java index 72af3ae1..1423162e 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/I18NAcceptLanguageFilterTest.java +++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/I18NAcceptLanguageFilterTest.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import static org.mockito.Mockito.*; diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java similarity index 90% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java index dedbf0e7..a3e06e51 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/LocaleHolderTest.java +++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/LocaleHolderTest.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import static org.assertj.core.api.Assertions.*; diff --git a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java similarity index 95% rename from belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java rename to belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java index be688a24..4a758f02 100644 --- a/belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus/i18n/QuarkusLocaleResolverTest.java +++ b/belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server/i18n/QuarkusLocaleResolverTest.java @@ -1,4 +1,4 @@ -package io.github.belgif.rest.problem.quarkus.i18n; +package io.github.belgif.rest.problem.quarkus.server.i18n; import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; diff --git a/belgif-rest-problem-quarkus/pom.xml b/belgif-rest-problem-quarkus/pom.xml index 80b90886..e42694a9 100644 --- a/belgif-rest-problem-quarkus/pom.xml +++ b/belgif-rest-problem-quarkus/pom.xml @@ -13,135 +13,17 @@ ${project.groupId}:${project.artifactId} jar - - - - io.quarkus.platform - quarkus-bom - ${version.quarkus} - pom - import - - - - io.github.belgif.rest.problem - belgif-rest-problem + belgif-rest-problem-quarkus-client ${project.version} - io.quarkus - quarkus-rest-jackson-common - - - jakarta.enterprise - jakarta.enterprise.cdi-api - provided - - - jakarta.ws.rs - jakarta.ws.rs-api - provided - - - org.junit.jupiter - junit-jupiter - test - - - org.assertj - assertj-core - test - - - org.mockito - mockito-junit-jupiter - test - - - io.quarkus - quarkus-junit5 - test - - - io.quarkus - quarkus-junit5-mockito - test + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-server + ${project.version} - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - compile - - unpack - - - - - io.github.belgif.rest.problem - belgif-rest-problem-java-ee - jakarta - ${project.version} - target/classes - - META-INF/MANIFEST.MF, - META-INF/services/jakarta.enterprise.inject.spi.Extension, - META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver, - io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.class, - io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.class, - io/github/belgif/rest/problem/ee/registry/CdiProblemTypeRegistry.class, - io/github/belgif/rest/problem/ee/jaxrs/i18n/* - - - - - - - - - io.quarkus - quarkus-extension-maven-plugin - ${version.quarkus} - - - compile - - extension-descriptor - - - ${project.groupId}:${project.artifactId}-deployment:${project.version} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - io.quarkus - quarkus-extension-processor - ${version.quarkus} - - - - - - - diff --git a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver deleted file mode 100644 index 8bb4fdfb..00000000 --- a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver +++ /dev/null @@ -1 +0,0 @@ -io.github.belgif.rest.problem.quarkus.i18n.QuarkusLocaleResolver \ No newline at end of file diff --git a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension b/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension deleted file mode 100644 index 588b5ce6..00000000 --- a/belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension +++ /dev/null @@ -1 +0,0 @@ -io.github.belgif.rest.problem.quarkus.QuarkusProblemExtension \ No newline at end of file diff --git a/belgif-rest-problem-spring-boot-3-client/pom.xml b/belgif-rest-problem-spring-boot-3-client/pom.xml new file mode 100644 index 00000000..fbd0af4a --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-client/pom.xml @@ -0,0 +1,86 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-3-client + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.3} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-client + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework + spring-webflux + provided + true + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java rename to belgif-rest-problem-spring-boot-3-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-client/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-3-core/pom.xml b/belgif-rest-problem-spring-boot-3-core/pom.xml new file mode 100644 index 00000000..791c8e52 --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-core/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-3-core + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.3} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java b/belgif-rest-problem-spring-boot-3-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java rename to belgif-rest-problem-spring-boot-3-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java diff --git a/belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java b/belgif-rest-problem-spring-boot-3-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java rename to belgif-rest-problem-spring-boot-3-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java diff --git a/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-core/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-3-server/pom.xml b/belgif-rest-problem-spring-boot-3-server/pom.xml new file mode 100644 index 00000000..80f1419b --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-server/pom.xml @@ -0,0 +1,106 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-3-server + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.3} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-server + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework + spring-webmvc + provided + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + jakarta.validation + jakarta.validation-api + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + com.atlassian.oai + swagger-request-validator-springmvc + 2.46.0 + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-validation + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java diff --git a/belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java rename to belgif-rest-problem-spring-boot-3-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java diff --git a/belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-3-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-3/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java rename to belgif-rest-problem-spring-boot-3-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-3/pom.xml b/belgif-rest-problem-spring-boot-3/pom.xml index 7a5bd74f..af707bb5 100644 --- a/belgif-rest-problem-spring-boot-3/pom.xml +++ b/belgif-rest-problem-spring-boot-3/pom.xml @@ -13,100 +13,17 @@ ${project.groupId}:${project.artifactId} jar - - 17 - - - - - - org.springframework.boot - spring-boot-dependencies - ${version.spring.boot.3} - pom - import - - - - io.github.belgif.rest.problem - belgif-rest-problem + belgif-rest-problem-spring-boot-3-client ${project.version} io.github.belgif.rest.problem - belgif-rest-problem-spring-boot-common + belgif-rest-problem-spring-boot-3-server ${project.version} - - org.springframework.boot - spring-boot-autoconfigure - provided - - - org.springframework - spring-web - provided - - - org.springframework - spring-webmvc - provided - - - org.springframework - spring-webflux - provided - true - - - org.slf4j - slf4j-api - provided - - - com.fasterxml.jackson.core - jackson-databind - provided - - - jakarta.validation - jakarta.validation-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - com.atlassian.oai - swagger-request-validator-springmvc - 2.46.0 - true - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.boot - spring-boot-starter-validation - test - - - org.junit.jupiter - junit-jupiter - test - - - org.assertj - assertj-core - test - diff --git a/belgif-rest-problem-spring-boot-4-client/pom.xml b/belgif-rest-problem-spring-boot-4-client/pom.xml new file mode 100644 index 00000000..56d9c6a6 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-client/pom.xml @@ -0,0 +1,97 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-4-client + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.4} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-client + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework.boot + spring-boot-starter-restclient + provided + + + org.springframework.boot + spring-boot-starter-jackson + provided + + + org.springframework.boot + spring-boot-starter-webflux + provided + true + + + org.springframework.boot + spring-boot-starter-webclient + provided + true + + + org.slf4j + slf4j-api + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java rename to belgif-rest-problem-spring-boot-4-client/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-4-core/pom.xml b/belgif-rest-problem-spring-boot-4-core/pom.xml new file mode 100644 index 00000000..612ac9e6 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-core/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-4-core + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.4} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework.boot + spring-boot-starter-jackson + provided + + + org.slf4j + slf4j-api + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java b/belgif-rest-problem-spring-boot-4-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java rename to belgif-rest-problem-spring-boot-4-core/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java diff --git a/belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java b/belgif-rest-problem-spring-boot-4-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java rename to belgif-rest-problem-spring-boot-4-core/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java diff --git a/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-4-server/pom.xml b/belgif-rest-problem-spring-boot-4-server/pom.xml new file mode 100644 index 00000000..825b1920 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-server/pom.xml @@ -0,0 +1,106 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-4-server + ${project.groupId}:${project.artifactId} + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.4} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-server + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework.boot + spring-boot-starter-validation + provided + + + org.springframework.boot + spring-boot-starter-jackson + provided + + + org.springframework.boot + spring-boot-starter-webmvc + provided + + + org.slf4j + slf4j-api + provided + + + jakarta.validation + jakarta.validation-api + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + com.atlassian.oai + swagger-request-validator-springmvc + 2.46.0 + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java diff --git a/belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java rename to belgif-rest-problem-spring-boot-4-server/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java diff --git a/belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-4-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-4/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java rename to belgif-rest-problem-spring-boot-4-server/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-4/pom.xml b/belgif-rest-problem-spring-boot-4/pom.xml index 011dba34..4ff85f26 100644 --- a/belgif-rest-problem-spring-boot-4/pom.xml +++ b/belgif-rest-problem-spring-boot-4/pom.xml @@ -13,111 +13,17 @@ ${project.groupId}:${project.artifactId} jar - - 17 - - - - - - org.springframework.boot - spring-boot-dependencies - ${version.spring.boot.4} - pom - import - - - - io.github.belgif.rest.problem - belgif-rest-problem + belgif-rest-problem-spring-boot-4-client ${project.version} io.github.belgif.rest.problem - belgif-rest-problem-spring-boot-common + belgif-rest-problem-spring-boot-4-server ${project.version} - - org.springframework.boot - spring-boot-autoconfigure - provided - - - org.springframework - spring-web - provided - - - org.springframework.boot - spring-boot-starter-restclient - provided - - - org.springframework.boot - spring-boot-starter-validation - provided - - - org.springframework.boot - spring-boot-starter-jackson - provided - - - org.springframework.boot - spring-boot-starter-webmvc - provided - - - org.springframework.boot - spring-boot-starter-webflux - provided - true - - - org.springframework.boot - spring-boot-starter-webclient - provided - true - - - com.atlassian.oai - swagger-request-validator-springmvc - 2.46.0 - true - - - org.slf4j - slf4j-api - provided - - - jakarta.validation - jakarta.validation-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - org.springframework.boot - spring-boot-starter-test - test - - - org.junit.jupiter - junit-jupiter - test - - - org.assertj - assertj-core - test - diff --git a/belgif-rest-problem-spring-boot-common-client/pom.xml b/belgif-rest-problem-spring-boot-common-client/pom.xml new file mode 100644 index 00000000..5ebfcea6 --- /dev/null +++ b/belgif-rest-problem-spring-boot-common-client/pom.xml @@ -0,0 +1,82 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-common-client + ${project.groupId}:${project.artifactId} + Contains shared client components that are common between Spring Boot versions + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.3} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework + spring-webflux + provided + true + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java b/belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java rename to belgif-rest-problem-spring-boot-common-client/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java b/belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java rename to belgif-rest-problem-spring-boot-common-client/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java diff --git a/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-common-server/pom.xml b/belgif-rest-problem-spring-boot-common-server/pom.xml new file mode 100644 index 00000000..27b4fcff --- /dev/null +++ b/belgif-rest-problem-spring-boot-common-server/pom.xml @@ -0,0 +1,102 @@ + + + 4.0.0 + + + io.github.belgif.rest.problem + belgif-rest-problem-parent + ${revision} + + + belgif-rest-problem-spring-boot-common-server + ${project.groupId}:${project.artifactId} + Contains shared server components that are common between Spring Boot versions + jar + + + 17 + + + + + + org.springframework.boot + spring-boot-dependencies + ${version.spring.boot.3} + pom + import + + + + + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common + ${project.version} + + + org.springframework.boot + spring-boot-autoconfigure + provided + + + org.springframework + spring-web + provided + + + org.springframework + spring-webmvc + provided + + + org.slf4j + slf4j-api + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + jakarta.validation + jakarta.validation-api + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + com.atlassian.oai + swagger-request-validator-springmvc + 2.46.0 + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-validation + test + + + org.junit.jupiter + junit-jupiter + test + + + org.assertj + assertj-core + test + + + + diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java b/belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java rename to belgif-rest-problem-spring-boot-common-server/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java diff --git a/belgif-rest-problem-spring-boot-common/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver b/belgif-rest-problem-spring-boot-common-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver rename to belgif-rest-problem-spring-boot-common-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java diff --git a/belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java b/belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java similarity index 100% rename from belgif-rest-problem-spring-boot-common/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java rename to belgif-rest-problem-spring-boot-common-server/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java diff --git a/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml @@ -0,0 +1,32 @@ + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + DENY + ACCEPT + + System.out + + + + + %d [%thread] %.-1level %logger{36} %M - %msg%n + + + ERROR + ACCEPT + DENY + + System.err + + + + + + + + diff --git a/belgif-rest-problem-spring-boot-common/pom.xml b/belgif-rest-problem-spring-boot-common/pom.xml index e086e681..cd7feac7 100644 --- a/belgif-rest-problem-spring-boot-common/pom.xml +++ b/belgif-rest-problem-spring-boot-common/pom.xml @@ -46,17 +46,6 @@ spring-web provided - - org.springframework - spring-webmvc - provided - - - org.springframework - spring-webflux - provided - true - org.slf4j slf4j-api @@ -67,32 +56,11 @@ jackson-databind provided - - jakarta.validation - jakarta.validation-api - provided - - - jakarta.servlet - jakarta.servlet-api - provided - - - com.atlassian.oai - swagger-request-validator-springmvc - 2.46.0 - true - org.springframework.boot spring-boot-starter-test test - - org.springframework.boot - spring-boot-starter-validation - test - org.junit.jupiter junit-jupiter diff --git a/jacoco-aggregator/pom.xml b/jacoco-aggregator/pom.xml index 2ec6a0d4..82b30420 100644 --- a/jacoco-aggregator/pom.xml +++ b/jacoco-aggregator/pom.xml @@ -24,21 +24,96 @@ belgif-rest-problem-java-ee ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-java-ee-server + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-spring-boot-common ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-common-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-spring-boot-3 ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-3-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-spring-boot-4 ${project.version} + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-spring-boot-4-server + ${project.version} + io.github.belgif.rest.problem belgif-rest-problem-validator @@ -51,7 +126,32 @@ io.github.belgif.rest.problem - belgif-rest-problem-quarkus-deployment + belgif-rest-problem-quarkus-core + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-core-deployment + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-client + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-client-deployment + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-server + ${project.version} + + + io.github.belgif.rest.problem + belgif-rest-problem-quarkus-server-deployment ${project.version} diff --git a/pom.xml b/pom.xml index 600e778d..c4a8c8c8 100644 --- a/pom.xml +++ b/pom.xml @@ -171,16 +171,7 @@ org.eclipse.transformer transformer-maven-plugin 1.0.0 - - - true - - - ${project.groupId} - ${project.artifactId} - - jakarta - + true org.codehaus.mojo @@ -242,7 +233,11 @@ belgif-rest-problem-it, jacoco-aggregator, - belgif-rest-problem-spring-boot-3 + + belgif-rest-problem-spring-boot-3, + belgif-rest-problem-spring-boot-3-core, + belgif-rest-problem-spring-boot-3-client, + belgif-rest-problem-spring-boot-3-server all,-missing true @@ -377,11 +372,31 @@ belgif-rest-problem belgif-rest-problem-validator belgif-rest-problem-java-ee + belgif-rest-problem-java-ee-core + belgif-rest-problem-java-ee-client + belgif-rest-problem-java-ee-server + belgif-rest-problem-jakarta-ee + belgif-rest-problem-jakarta-ee-core + belgif-rest-problem-jakarta-ee-client + belgif-rest-problem-jakarta-ee-server belgif-rest-problem-spring-boot-common + belgif-rest-problem-spring-boot-common-client + belgif-rest-problem-spring-boot-common-server belgif-rest-problem-spring-boot-3 + belgif-rest-problem-spring-boot-3-core + belgif-rest-problem-spring-boot-3-client + belgif-rest-problem-spring-boot-3-server belgif-rest-problem-spring-boot-4 + belgif-rest-problem-spring-boot-4-core + belgif-rest-problem-spring-boot-4-client + belgif-rest-problem-spring-boot-4-server belgif-rest-problem-quarkus - belgif-rest-problem-quarkus-deployment + belgif-rest-problem-quarkus-core + belgif-rest-problem-quarkus-core-deployment + belgif-rest-problem-quarkus-client + belgif-rest-problem-quarkus-client-deployment + belgif-rest-problem-quarkus-server + belgif-rest-problem-quarkus-server-deployment belgif-rest-problem-it belgif-rest-problem-bom @@ -449,6 +464,7 @@ belgif-rest-problem-apt belgif-rest-problem-codegen-it belgif-rest-problem-it-common + belgif-rest-problem-it-common-jakarta belgif-rest-problem-jackson2-latest-it belgif-rest-problem-jackson2-minimal-it belgif-rest-problem-jackson3-it @@ -480,11 +496,31 @@ belgif-rest-problem belgif-rest-problem-validator belgif-rest-problem-java-ee + belgif-rest-problem-java-ee-core + belgif-rest-problem-java-ee-client + belgif-rest-problem-java-ee-server + belgif-rest-problem-jakarta-ee + belgif-rest-problem-jakarta-ee-core + belgif-rest-problem-jakarta-ee-client + belgif-rest-problem-jakarta-ee-server belgif-rest-problem-spring-boot-common + belgif-rest-problem-spring-boot-common-client + belgif-rest-problem-spring-boot-common-server belgif-rest-problem-spring-boot-3 + belgif-rest-problem-spring-boot-3-core + belgif-rest-problem-spring-boot-3-client + belgif-rest-problem-spring-boot-3-server belgif-rest-problem-spring-boot-4 + belgif-rest-problem-spring-boot-4-core + belgif-rest-problem-spring-boot-4-client + belgif-rest-problem-spring-boot-4-server belgif-rest-problem-quarkus - belgif-rest-problem-quarkus-deployment + belgif-rest-problem-quarkus-core + belgif-rest-problem-quarkus-core-deployment + belgif-rest-problem-quarkus-client + belgif-rest-problem-quarkus-client-deployment + belgif-rest-problem-quarkus-server + belgif-rest-problem-quarkus-server-deployment belgif-rest-problem-it belgif-rest-problem-bom jacoco-aggregator @@ -527,12 +563,21 @@ belgif-rest-problem belgif-rest-problem-spring-boot-common + belgif-rest-problem-spring-boot-common-client + belgif-rest-problem-spring-boot-common-server belgif-rest-problem-spring-boot-3 + belgif-rest-problem-spring-boot-3-core + belgif-rest-problem-spring-boot-3-client + belgif-rest-problem-spring-boot-3-server belgif-rest-problem-spring-boot-4 + belgif-rest-problem-spring-boot-4-core + belgif-rest-problem-spring-boot-4-client + belgif-rest-problem-spring-boot-4-server belgif-rest-problem-it/belgif-rest-problem-apt belgif-rest-problem-it/belgif-rest-problem-codegen-it belgif-rest-problem-it/belgif-rest-problem-it-common + belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta belgif-rest-problem-it/belgif-rest-problem-jackson2-latest-it belgif-rest-problem-it/belgif-rest-problem-jackson2-minimal-it belgif-rest-problem-it/belgif-rest-problem-jackson3-it diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index bd3ad0d3..56ecbfcd 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -23,8 +23,10 @@ With this library, RFC 9457 Problems can be *automagically* treated as standard The library consists of these modules: * *belgif-rest-problem*: library for RFC 9457 standardized Belgif problems -* *belgif-rest-problem-java-ee*: Java EE / Jakarta EE integration for belgif-rest-problem +* *belgif-rest-problem-java-ee*: Java EE integration for belgif-rest-problem +* *belgif-rest-problem-jakarta-ee*: Jakarta EE integration for belgif-rest-problem * *belgif-rest-problem-spring-boot-3*: Spring Boot 3.x integration for belgif-rest-problem +* *belgif-rest-problem-spring-boot-4*: Spring Boot 4.x integration for belgif-rest-problem * *belgif-rest-problem-quarkus*: Quarkus integration for belgif-rest-problem * *belgif-rest-problem-validator*: validation library that generates Belgif-compliant BadRequestProblem with InputValidationIssues @@ -77,6 +79,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-3:{revnum compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-4:{revnumber}' ---- +Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead: + +* Spring Boot 3: +** belgif-rest-problem-spring-boot-3-client +** belgif-rest-problem-spring-boot-3-server +* Spring Boot 4: +** belgif-rest-problem-spring-boot-4-client +** belgif-rest-problem-spring-boot-4-server + [[dependencies-jakarta-ee]] ==== Jakarta EE @@ -85,16 +96,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-spring-boot-4:{revnum ---- io.github.belgif.rest.problem - belgif-rest-problem-java-ee + belgif-rest-problem-jakarta-ee {revnumber} - jakarta ---- [source,role="secondary",subs="attributes+"] .Jakarta EE 9+ (Gradle) ---- -compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}:jakarta' +compile 'io.github.belgif.rest.problem:belgif-rest-problem-jakarta-ee:{revnumber}' ---- [source,xml,role="secondary",subs="attributes+"] @@ -113,6 +123,15 @@ compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}:j compile 'io.github.belgif.rest.problem:belgif-rest-problem-java-ee:{revnumber}' ---- +Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead: + +* Jakarta EE 9+: +** belgif-rest-problem-jakarta-ee-client +** belgif-rest-problem-jakarta-ee-server +* Jakarta EE 8-: +** belgif-rest-problem-java-ee-client +** belgif-rest-problem-java-ee-server + [[dependencies-quarkus]] ==== Quarkus @@ -134,6 +153,11 @@ WARNING: Quarkus support is currently still *experimental*. compile 'io.github.belgif.rest.problem:belgif-rest-problem-quarkus:{revnumber}' ---- +Alternatively, if you specifically only want to use problems either client-side or server-side, you can depend on these modules instead: + +* belgif-rest-problem-quarkus-client +* belgif-rest-problem-quarkus-server + [[getting-started-usage]] === Usage diff --git a/src/main/asciidoc/release-notes.adoc b/src/main/asciidoc/release-notes.adoc index f533ab63..c2ef2ca0 100644 --- a/src/main/asciidoc/release-notes.adoc +++ b/src/main/asciidoc/release-notes.adoc @@ -18,6 +18,51 @@ * Fix concurrency issue in InputValidationIssues.BELGIF_ISSUE_TYPE_HREFS cache +*belgif-rest-problem-spring-boot-3:* + +Provide separate modules in case you specifically only want to use problems either client-side or server-side. + +* belgif-rest-problem-spring-boot-3-client +* belgif-rest-problem-spring-boot-3-server + +Note that you can keep using `belgif-rest-problem-spring-boot-3` as before if you want both client-side and server-side integration. + +*belgif-rest-problem-spring-boot-4:* + +Provide separate modules in case you specifically only want to use problems either client-side or server-side. + +* belgif-rest-problem-spring-boot-4-client +* belgif-rest-problem-spring-boot-4-server + +Note that you can keep using `belgif-rest-problem-spring-boot-4` as before when you want both client-side and server-side integration. + +*belgif-rest-problem-java-ee:* + +Provide separate modules in case you specifically only want to use problems either client-side or server-side. + +* Java EE: +** belgif-rest-problem-java-ee-client +** belgif-rest-problem-java-ee-server +* Jakarta EE: +** belgif-rest-problem-jakarta-ee-client +** belgif-rest-problem-jakarta-ee-server + +Note that you can keep using `belgif-rest-problem-java-ee` as before when you want both client-side and server-side integration. + +[WARNING] +==== +*Breaking change:* The `jakarta` variant of `belgif-rest-problem-java-ee` no longer exists and should be replaced by `belgif-rest-problem-jakarta-ee`. +==== + +*belgif-rest-problem-quarkus:* + +Provide separate modules in case you specifically only want to use problems either client-side or server-side. + +* belgif-rest-problem-quarkus-client +* belgif-rest-problem-quarkus-server + +Note that you can keep using `belgif-rest-problem-quarkus` as before when you want both client-side and server-side integration. + == Version 0.20 *belgif-rest-problem:*