From b493f521b243b304bf4cae863c41e8ab65c516f1 Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Sat, 7 Feb 2026 12:48:32 +0100 Subject: [PATCH 1/5] Split into -client and -server modules (Spring Boot) --- belgif-rest-problem-bom/pom.xml | 40 +++++++ .../pom.xml | 86 ++++++++++++++ .../spring/ProblemResponseErrorHandler.java | 0 .../spring/ProblemRestClientCustomizer.java | 0 .../spring/ProblemRestTemplateCustomizer.java | 0 .../spring/ProblemWebClientCustomizer.java | 0 .../src/test/resources/logback-test.xml | 0 .../pom.xml | 70 +++++++++++ .../problem/spring/SpringProblemModule.java | 0 .../spring/SpringProblemModuleTest.java | 0 .../src/test/resources/logback-test.xml | 0 .../pom.xml | 106 +++++++++++++++++ .../InvalidRequestExceptionHandler.java | 0 ...blemValidationConfigurationCustomizer.java | 0 .../spring/RoutingExceptionsHandler.java | 0 .../InvalidRequestExceptionHandlerTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ belgif-rest-problem-spring-boot-3/pom.xml | 87 +------------- .../pom.xml | 97 +++++++++++++++ .../spring/ProblemResponseErrorHandler.java | 0 .../spring/ProblemRestClientCustomizer.java | 0 .../spring/ProblemRestTemplateCustomizer.java | 0 .../spring/ProblemWebClientCustomizer.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ .../pom.xml | 70 +++++++++++ .../problem/spring/SpringProblemModule.java | 0 .../spring/SpringProblemModuleTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ .../pom.xml | 106 +++++++++++++++++ .../InvalidRequestExceptionHandler.java | 0 ...blemValidationConfigurationCustomizer.java | 0 .../spring/RoutingExceptionsHandler.java | 0 .../InvalidRequestExceptionHandlerTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ belgif-rest-problem-spring-boot-4/pom.xml | 98 +--------------- .../pom.xml | 82 +++++++++++++ .../AbstractProblemResponseErrorHandler.java | 0 .../AbstractProblemRestClientCustomizer.java | 0 ...AbstractProblemRestTemplateCustomizer.java | 0 .../AbstractProblemWebClientCustomizer.java | 0 ...stractProblemResponseErrorHandlerTest.java | 0 ...stractProblemRestClientCustomizerTest.java | 0 ...ractProblemRestTemplateCustomizerTest.java | 0 ...bstractProblemWebClientCustomizerTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ .../pom.xml | 110 ++++++++++++++++++ ...bstractInvalidRequestExceptionHandler.java | 0 ...blemValidationConfigurationCustomizer.java | 0 .../AbstractRoutingExceptionsHandler.java | 0 .../AnnotationParameterNameProvider.java | 0 .../BeanValidationExceptionsHandler.java | 0 .../NoResourceFoundExceptionHandler.java | 0 .../spring/ProblemExceptionHandler.java | 0 .../LocaleContextHolderLocaleResolver.java | 0 .../internal/BeanValidationExceptionUtil.java | 0 .../CachedAnnotationParameterNameSupport.java | 0 .../spring/internal/DetermineSourceUtil.java | 0 .../internal/InvalidRequestExceptionUtil.java | 0 ...ub.belgif.rest.problem.i18n.LocaleResolver | 0 ...actInvalidRequestExceptionHandlerTest.java | 0 ...ValidationConfigurationCustomizerTest.java | 0 .../AbstractRoutingExceptionsHandlerTest.java | 0 .../AnnotationParameterNameProviderTest.java | 0 .../BeanValidationExceptionsHandlerTest.java | 0 .../NoResourceFoundExceptionHandlerTest.java | 0 .../spring/ProblemExceptionHandlerTest.java | 0 ...LocaleContextHolderLocaleResolverTest.java | 0 .../BeanValidationExceptionUtilTest.java | 0 ...hedAnnotationParameterNameSupportTest.java | 0 .../internal/DetermineSourceUtilTest.java | 0 .../InvalidRequestExceptionUtilTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++ .../pom.xml | 32 ----- jacoco-aggregator/pom.xml | 40 +++++++ pom.xml | 30 ++++- src/main/asciidoc/index.adoc | 10 ++ src/main/asciidoc/release-notes.adoc | 20 ++++ 77 files changed, 1062 insertions(+), 214 deletions(-) create mode 100644 belgif-rest-problem-spring-boot-3-client/pom.xml rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-client}/src/test/resources/logback-test.xml (100%) create mode 100644 belgif-rest-problem-spring-boot-3-core/pom.xml rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-core}/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-core}/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-3-core}/src/test/resources/logback-test.xml (100%) create mode 100644 belgif-rest-problem-spring-boot-3-server/pom.xml rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-server}/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-server}/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-server}/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java (100%) rename {belgif-rest-problem-spring-boot-3 => belgif-rest-problem-spring-boot-3-server}/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java (100%) create mode 100644 belgif-rest-problem-spring-boot-3-server/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-spring-boot-4-client/pom.xml rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemResponseErrorHandler.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestClientCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemRestTemplateCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-client}/src/main/java/io/github/belgif/rest/problem/spring/ProblemWebClientCustomizer.java (100%) create mode 100644 belgif-rest-problem-spring-boot-4-client/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-spring-boot-4-core/pom.xml rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-core}/src/main/java/io/github/belgif/rest/problem/spring/SpringProblemModule.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-core}/src/test/java/io/github/belgif/rest/problem/spring/SpringProblemModuleTest.java (100%) create mode 100644 belgif-rest-problem-spring-boot-4-core/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-spring-boot-4-server/pom.xml rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-server}/src/main/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandler.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-server}/src/main/java/io/github/belgif/rest/problem/spring/ProblemValidationConfigurationCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-server}/src/main/java/io/github/belgif/rest/problem/spring/RoutingExceptionsHandler.java (100%) rename {belgif-rest-problem-spring-boot-4 => belgif-rest-problem-spring-boot-4-server}/src/test/java/io/github/belgif/rest/problem/spring/InvalidRequestExceptionHandlerTest.java (100%) create mode 100644 belgif-rest-problem-spring-boot-4-server/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-spring-boot-common-client/pom.xml rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemResponseErrorHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestClientCustomizerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemRestTemplateCustomizerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-client}/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemWebClientCustomizerTest.java (100%) create mode 100644 belgif-rest-problem-spring-boot-common-client/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-spring-boot-common-server/pom.xml rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizer.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProvider.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandler.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolver.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtil.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupport.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtil.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtil.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/AbstractInvalidRequestExceptionHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/AbstractProblemValidationConfigurationCustomizerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/AbstractRoutingExceptionsHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/AnnotationParameterNameProviderTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/BeanValidationExceptionsHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/NoResourceFoundExceptionHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/ProblemExceptionHandlerTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/i18n/LocaleContextHolderLocaleResolverTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/internal/BeanValidationExceptionUtilTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/internal/CachedAnnotationParameterNameSupportTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/internal/DetermineSourceUtilTest.java (100%) rename {belgif-rest-problem-spring-boot-common => belgif-rest-problem-spring-boot-common-server}/src/test/java/io/github/belgif/rest/problem/spring/internal/InvalidRequestExceptionUtilTest.java (100%) create mode 100644 belgif-rest-problem-spring-boot-common-server/src/test/resources/logback-test.xml diff --git a/belgif-rest-problem-bom/pom.xml b/belgif-rest-problem-bom/pom.xml index ea61bbd1..98d25174 100644 --- a/belgif-rest-problem-bom/pom.xml +++ b/belgif-rest-problem-bom/pom.xml @@ -37,16 +37,56 @@ 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 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/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-client/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-spring-boot-3-client/src/test/resources/logback-test.xml 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-4/src/test/resources/logback-test.xml b/belgif-rest-problem-spring-boot-3-core/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-spring-boot-3-core/src/test/resources/logback-test.xml 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..4302d939 --- /dev/null +++ b/belgif-rest-problem-spring-boot-common-server/pom.xml @@ -0,0 +1,110 @@ + + + 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..d584dfae 100644 --- a/jacoco-aggregator/pom.xml +++ b/jacoco-aggregator/pom.xml @@ -29,16 +29,56 @@ 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 diff --git a/pom.xml b/pom.xml index 366a73bf..619eeb8a 100644 --- a/pom.xml +++ b/pom.xml @@ -242,7 +242,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 @@ -378,8 +382,16 @@ belgif-rest-problem-validator belgif-rest-problem-java-ee 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-it @@ -481,8 +493,16 @@ belgif-rest-problem-validator belgif-rest-problem-java-ee 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-it @@ -527,8 +547,16 @@ 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 diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index bd3ad0d3..8c7fd8cb 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -25,6 +25,7 @@ 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-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 +78,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 diff --git a/src/main/asciidoc/release-notes.adoc b/src/main/asciidoc/release-notes.adoc index a98575d1..b039d157 100644 --- a/src/main/asciidoc/release-notes.adoc +++ b/src/main/asciidoc/release-notes.adoc @@ -12,6 +12,26 @@ // tag::recent-versions[] +== Version 0.21 + +*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 if you want both client-side and server-side integration. + == Version 0.20 *belgif-rest-problem:* From e09014e2faedb5f3f38be429562c10afd220253f Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Sat, 7 Feb 2026 15:14:30 +0100 Subject: [PATCH 2/5] Split into -client and -server modules (Jakarta EE) --- belgif-rest-problem-bom/pom.xml | 33 ++++++- .../pom.xml | 42 +++++++++ .../belgif-rest-problem-it-common/pom.xml | 18 ---- .../belgif-rest-problem-jakarta-ee-it/pom.xml | 6 +- .../belgif-rest-problem-quarkus-it/pom.xml | 3 +- .../pom.xml | 3 +- .../pom.xml | 3 +- belgif-rest-problem-it/pom.xml | 1 + belgif-rest-problem-jakarta-ee-client/pom.xml | 51 +++++++++++ belgif-rest-problem-jakarta-ee-core/pom.xml | 43 +++++++++ belgif-rest-problem-jakarta-ee-server/pom.xml | 51 +++++++++++ belgif-rest-problem-jakarta-ee/pom.xml | 29 ++++++ belgif-rest-problem-java-ee-client/pom.xml | 69 ++++++++++++++ .../ee/jaxrs/client/ProblemClientBuilder.java | 0 .../client/ProblemClientBuilderProducer.java | 0 .../client/ProblemClientResponseFilter.java | 0 .../ProblemResponseExceptionMapper.java | 0 .../client/ProblemRestClientListener.java | 0 .../ee/jaxrs/client/ProblemSupport.java | 0 .../ee/jaxrs/client/ProblemWrapper.java | 0 .../src/main/resources/META-INF/beans.xml | 0 ...profile.rest.client.spi.RestClientListener | 0 .../ProblemClientBuilderProducerTest.java | 3 +- .../client/ProblemClientBuilderTest.java | 3 +- .../ProblemClientResponseFilterTest.java | 3 +- .../ProblemResponseExceptionMapperTest.java | 0 .../client/ProblemRestClientListenerTest.java | 0 .../ee/jaxrs/client/ProblemSupportTest.java | 59 ++++++------ .../ee/jaxrs/client/ProblemWrapperTest.java | 0 .../src/test/resources/logback-test.xml | 0 belgif-rest-problem-java-ee-core/pom.xml | 82 +++++++++++++++++ .../rest/problem/ee/CdiProblemModule.java | 0 .../problem/ee/CdiProblemTypeRegistry.java | 0 .../problem/ee/jaxrs/ProblemConfigurator.java | 0 .../problem/ee/jaxrs/ProblemMediaType.java | 0 .../problem/ee/jaxrs/ProblemObjectMapper.java | 0 .../ProblemObjectMapperContextResolver.java | 0 .../src/main/resources/META-INF/beans.xml | 4 + .../javax.enterprise.inject.spi.Extension | 0 .../rest/problem/ee/CdiProblemModuleTest.java | 5 +- .../ee/CdiProblemTypeRegistryTest.java | 6 +- .../ee/jaxrs/ProblemConfiguratorTest.java | 0 .../ee/jaxrs/ProblemMediaTypeTest.java | 0 ...roblemObjectMapperContextResolverTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++++ belgif-rest-problem-java-ee-server/pom.xml | 81 +++++++++++++++++ .../ee/internal/ConstraintViolationUtil.java | 0 .../ee/internal/ParameterSourceMapper.java | 0 .../AbstractInputParamConverterProvider.java | 0 .../AbstractUnwrappingExceptionMapper.java | 0 .../ee/jaxrs/BadRequestExceptionMapper.java | 0 .../ConstraintViolationExceptionMapper.java | 0 .../ee/jaxrs/DefaultExceptionMapper.java | 0 .../problem/ee/jaxrs/EJBExceptionMapper.java | 0 .../JacksonJsonMappingExceptionMapper.java | 0 .../JacksonJsonParseExceptionMapper.java | 0 ...JacksonMismatchedInputExceptionMapper.java | 0 .../ee/jaxrs/JaxRsParameterNameProvider.java | 0 .../ee/jaxrs/NotFoundExceptionMapper.java | 0 .../ee/jaxrs/ProblemExceptionMapper.java | 0 .../jaxrs/WebApplicationExceptionMapper.java | 0 .../jaxrs/i18n/I18NAcceptLanguageFilter.java | 0 .../jaxrs/i18n/ThreadLocalLocaleResolver.java | 0 .../src/main/resources/META-INF/beans.xml | 4 + ...ub.belgif.rest.problem.i18n.LocaleResolver | 0 .../main/resources/META-INF/validation.xml | 0 .../internal/ConstraintViolationUtilTest.java | 0 ...stractInputParamConverterProviderTest.java | 0 .../jaxrs/BadRequestExceptionMapperTest.java | 0 ...onstraintViolationExceptionMapperTest.java | 0 .../ee/jaxrs/DefaultExceptionMapperTest.java | 0 .../ee/jaxrs/EJBExceptionMapperTest.java | 0 ...JacksonJsonMappingExceptionMapperTest.java | 0 .../JacksonJsonParseExceptionMapperTest.java | 0 ...sonMismatchedInputExceptionMapperTest.java | 0 .../jaxrs/JaxRsParameterNameProviderTest.java | 0 .../ee/jaxrs/NotFoundExceptionMapperTest.java | 0 .../ee/jaxrs/ProblemExceptionMapperTest.java | 0 .../WebApplicationExceptionMapperTest.java | 0 .../i18n/I18NAcceptLanguageFilterTest.java | 0 .../i18n/ThreadLocalLocaleResolverTest.java | 0 .../src/test/resources/logback-test.xml | 32 +++++++ belgif-rest-problem-java-ee/pom.xml | 91 +------------------ .../pom.xml | 3 +- belgif-rest-problem-quarkus/pom.xml | 25 ++++- jacoco-aggregator/pom.xml | 35 +++++++ pom.xml | 27 ++++-- src/main/asciidoc/index.adoc | 17 +++- src/main/asciidoc/release-notes.adoc | 18 ++++ 89 files changed, 708 insertions(+), 174 deletions(-) create mode 100644 belgif-rest-problem-it/belgif-rest-problem-it-common-jakarta/pom.xml create mode 100644 belgif-rest-problem-jakarta-ee-client/pom.xml create mode 100644 belgif-rest-problem-jakarta-ee-core/pom.xml create mode 100644 belgif-rest-problem-jakarta-ee-server/pom.xml create mode 100644 belgif-rest-problem-jakarta-ee/pom.xml create mode 100644 belgif-rest-problem-java-ee-client/pom.xml rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilder.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducer.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilter.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListener.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupport.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/resources/META-INF/beans.xml (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/main/resources/META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientListener (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderProducerTest.java (84%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientBuilderTest.java (99%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemClientResponseFilterTest.java (98%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemResponseExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemRestClientListenerTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemSupportTest.java (83%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/client/ProblemWrapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-client}/src/test/resources/logback-test.xml (100%) create mode 100644 belgif-rest-problem-java-ee-core/pom.xml rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemModule.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistry.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfigurator.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaType.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolver.java (100%) create mode 100644 belgif-rest-problem-java-ee-core/src/main/resources/META-INF/beans.xml rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemModuleTest.java (85%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/test/java/io/github/belgif/rest/problem/ee/CdiProblemTypeRegistryTest.java (91%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemConfiguratorTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemMediaTypeTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-core}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemObjectMapperContextResolverTest.java (100%) create mode 100644 belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml create mode 100644 belgif-rest-problem-java-ee-server/pom.xml rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtil.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/internal/ParameterSourceMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProvider.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractUnwrappingExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProvider.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapper.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilter.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolver.java (100%) create mode 100644 belgif-rest-problem-java-ee-server/src/main/resources/META-INF/beans.xml rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/main/resources/META-INF/validation.xml (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/internal/ConstraintViolationUtilTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/AbstractInputParamConverterProviderTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/BadRequestExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ConstraintViolationExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/DefaultExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/EJBExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonMappingExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonJsonParseExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JacksonMismatchedInputExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/JaxRsParameterNameProviderTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/NotFoundExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/ProblemExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/WebApplicationExceptionMapperTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/I18NAcceptLanguageFilterTest.java (100%) rename {belgif-rest-problem-java-ee => belgif-rest-problem-java-ee-server}/src/test/java/io/github/belgif/rest/problem/ee/jaxrs/i18n/ThreadLocalLocaleResolverTest.java (100%) create mode 100644 belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml diff --git a/belgif-rest-problem-bom/pom.xml b/belgif-rest-problem-bom/pom.xml index 98d25174..42c861eb 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} 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 14167bdf..ec4cc61a 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 99% 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 index e0baed97..cb29650b 100644 --- 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 @@ -21,6 +21,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemSupport.ClientInvocationHandler; @@ -59,7 +60,7 @@ void buildFilterAlreadyRegistered() { assertThat(result).isInstanceOf(Client.class); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - verifyNoMoreInteractions(client); + Mockito.verifyNoMoreInteractions(client); } @Test 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 98% 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 index 996849aa..52f32d4b 100644 --- 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 @@ -17,6 +17,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import com.fasterxml.jackson.databind.ObjectMapper; @@ -101,7 +102,7 @@ void differentMediaType() { @Test void microProfile() { when(requestContext.getProperty("org.eclipse.microprofile.rest.client.invokedMethod")) - .thenReturn(mock(Method.class)); + .thenReturn(Mockito.mock(Method.class)); assertThatNoException().isThrownBy( () -> filter.filter(requestContext, responseContext)); verifyNoMoreInteractions(requestContext, responseContext); 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 83% 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 index 28e2d38c..87a5fecb 100644 --- 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 @@ -18,6 +18,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; +import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import io.github.belgif.rest.problem.BadGatewayProblem; @@ -52,13 +53,13 @@ void registerProblemClientResponseFilter() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = mock(Invocation.class); + Invocation invocation = Mockito.mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); @@ -75,13 +76,13 @@ void unwrapProblemWrapperInJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = mock(Invocation.class); + Invocation invocation = Mockito.mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); @@ -96,13 +97,13 @@ void normalResponseFromJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = mock(Invocation.class); + Invocation invocation = Mockito.mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); Response response = Response.ok().build(); @@ -117,16 +118,16 @@ void unwrapProblemWrapperInAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = mock(Future.class); + Future future = Mockito.mock(Future.class); when(asyncInvoker.get()).thenReturn(future); when(future.get()).thenThrow(new ExecutionException(new ProblemWrapper(new BadRequestProblem()))); @@ -141,16 +142,16 @@ void normalResponseFromAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = mock(Future.class); + Future future = Mockito.mock(Future.class); when(asyncInvoker.get()).thenReturn(future); Response response = Response.ok().build(); @@ -165,16 +166,16 @@ void otherExceptionInAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = mock(Future.class); + Future future = Mockito.mock(Future.class); when(asyncInvoker.get()).thenReturn(future); when(future.get()).thenThrow(new ExecutionException(new RuntimeException("other"))); @@ -191,10 +192,10 @@ void otherExceptionInJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); when(builder.get()).thenThrow(new RuntimeException("other")); @@ -219,7 +220,7 @@ void exceptionCreatingProxiedReturnType() { @Test void unwrapProblemWrapperInProxyClient() { - Service service = mock(Service.class); + Service service = Mockito.mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -231,7 +232,7 @@ void unwrapProblemWrapperInProxyClient() { @Test void normalResponseFromProxyClient() { - Service service = mock(Service.class); + Service service = Mockito.mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -243,7 +244,7 @@ void normalResponseFromProxyClient() { @Test void otherExceptionInProxyClient() { - Service service = mock(Service.class); + Service service = Mockito.mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -261,15 +262,15 @@ void configurable() { when(client.register("test")).thenReturn(client); - WebTarget target = mock(WebTarget.class); + WebTarget target = Mockito.mock(WebTarget.class); when(target.register("test")).thenReturn(target); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = mock(Invocation.Builder.class); + Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = mock(Invocation.class); + Invocation invocation = Mockito.mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); 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 85% 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..844cc5e0 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,6 +7,7 @@ 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; @@ -37,7 +37,8 @@ void module() { 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 100% 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 diff --git a/belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-core/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-java-ee-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-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-java-ee-server/src/test/resources/logback-test.xml b/belgif-rest-problem-java-ee-server/src/test/resources/logback-test.xml new file mode 100644 index 00000000..fe45af16 --- /dev/null +++ b/belgif-rest-problem-java-ee-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-java-ee/pom.xml b/belgif-rest-problem-java-ee/pom.xml index 3a860fbb..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.26 - 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-deployment/pom.xml b/belgif-rest-problem-quarkus-deployment/pom.xml index d5c95891..2fc846db 100644 --- a/belgif-rest-problem-quarkus-deployment/pom.xml +++ b/belgif-rest-problem-quarkus-deployment/pom.xml @@ -41,8 +41,7 @@ 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/pom.xml b/belgif-rest-problem-quarkus/pom.xml index 80b90886..5c910e7c 100644 --- a/belgif-rest-problem-quarkus/pom.xml +++ b/belgif-rest-problem-quarkus/pom.xml @@ -93,17 +93,34 @@ io.github.belgif.rest.problem - belgif-rest-problem-java-ee - jakarta + 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.github.belgif.rest.problem + belgif-rest-problem-jakarta-ee-client + ${project.version} + target/classes + + META-INF/MANIFEST.MF + + + + 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/ProblemConfigurator.class, - io/github/belgif/rest/problem/ee/registry/CdiProblemTypeRegistry.class, io/github/belgif/rest/problem/ee/jaxrs/i18n/* diff --git a/jacoco-aggregator/pom.xml b/jacoco-aggregator/pom.xml index d584dfae..a2ccdebf 100644 --- a/jacoco-aggregator/pom.xml +++ b/jacoco-aggregator/pom.xml @@ -24,6 +24,41 @@ 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 diff --git a/pom.xml b/pom.xml index 619eeb8a..288addae 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 @@ -381,6 +372,13 @@ 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 @@ -461,6 +459,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 @@ -492,6 +491,13 @@ 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 @@ -561,6 +567,7 @@ 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 8c7fd8cb..bda5bff6 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -23,7 +23,8 @@ 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 @@ -95,16 +96,15 @@ Alternatively, if you specifically only want to use problems either client-side ---- 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+"] @@ -123,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 diff --git a/src/main/asciidoc/release-notes.adoc b/src/main/asciidoc/release-notes.adoc index b039d157..d33c673e 100644 --- a/src/main/asciidoc/release-notes.adoc +++ b/src/main/asciidoc/release-notes.adoc @@ -32,6 +32,24 @@ Provide separate modules in case you specifically only want to use problems eith Note that you can keep using `belgif-rest-problem-spring-boot-4` as before if 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 if 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`. +==== + == Version 0.20 *belgif-rest-problem:* From 67c6f212994fd34e09f46d2e8aec3dedde2c87a1 Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Sat, 7 Feb 2026 18:22:21 +0100 Subject: [PATCH 3/5] Split into -client and -server modules (Quarkus) --- belgif-rest-problem-bom/pom.xml | 20 +++ .../pom.xml | 97 ++++++++++++ .../ProblemExtensionClientProcessor.java | 41 +---- .../ProblemExtensionClientProcessorTest.java | 42 +---- belgif-rest-problem-quarkus-client/pom.xml | 126 +++++++++++++++ .../pom.xml | 4 +- .../core/ProblemExtensionCoreProcessor.java | 55 +++++++ .../ProblemExtensionCoreProcessorTest.java | 46 ++++++ belgif-rest-problem-quarkus-core/pom.xml | 142 +++++++++++++++++ .../core}/QuarkusProblemConfigurator.java | 2 +- .../core}/QuarkusProblemExtension.java | 2 +- .../core}/QuarkusProblemTypeRegistry.java | 2 +- ...ld.compatible.spi.BuildCompatibleExtension | 1 + .../core}/QuarkusProblemConfiguratorTest.java | 2 +- .../core}/QuarkusProblemExtensionTest.java | 5 +- .../core}/QuarkusProblemTypeRegistryTest.java | 2 +- .../pom.xml | 97 ++++++++++++ .../ProblemExtensionServerProcessor.java | 18 +++ .../ProblemExtensionServerProcessorTest.java | 16 ++ belgif-rest-problem-quarkus-server/pom.xml | 149 ++++++++++++++++++ .../i18n/I18NAcceptLanguageFilter.java | 2 +- .../quarkus/server}/i18n/LocaleHolder.java | 2 +- .../server}/i18n/QuarkusLocaleResolver.java | 2 +- ...ub.belgif.rest.problem.i18n.LocaleResolver | 1 + .../i18n/I18NAcceptLanguageFilterTest.java | 2 +- .../server}/i18n/LocaleHolderTest.java | 2 +- .../i18n/QuarkusLocaleResolverTest.java | 2 +- belgif-rest-problem-quarkus/pom.xml | 143 +---------------- ...ub.belgif.rest.problem.i18n.LocaleResolver | 1 - ...ld.compatible.spi.BuildCompatibleExtension | 1 - jacoco-aggregator/pom.xml | 27 +++- pom.xml | 14 +- src/main/asciidoc/index.adoc | 5 + src/main/asciidoc/release-notes.adoc | 13 +- 34 files changed, 850 insertions(+), 236 deletions(-) create mode 100644 belgif-rest-problem-quarkus-client-deployment/pom.xml rename belgif-rest-problem-quarkus-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessor.java => belgif-rest-problem-quarkus-client-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessor.java (56%) rename belgif-rest-problem-quarkus-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/ProblemExtensionProcessorTest.java => belgif-rest-problem-quarkus-client-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/client/ProblemExtensionClientProcessorTest.java (57%) create mode 100644 belgif-rest-problem-quarkus-client/pom.xml rename {belgif-rest-problem-quarkus-deployment => belgif-rest-problem-quarkus-core-deployment}/pom.xml (95%) create mode 100644 belgif-rest-problem-quarkus-core-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessor.java create mode 100644 belgif-rest-problem-quarkus-core-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/core/ProblemExtensionCoreProcessorTest.java create mode 100644 belgif-rest-problem-quarkus-core/pom.xml rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemConfigurator.java (96%) rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemExtension.java (97%) rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/main/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemTypeRegistry.java (95%) create mode 100644 belgif-rest-problem-quarkus-core/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemConfiguratorTest.java (97%) rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemExtensionTest.java (94%) rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-core/src/test/java/io/github/belgif/rest/problem/quarkus/core}/QuarkusProblemTypeRegistryTest.java (94%) create mode 100644 belgif-rest-problem-quarkus-server-deployment/pom.xml create mode 100644 belgif-rest-problem-quarkus-server-deployment/src/main/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessor.java create mode 100644 belgif-rest-problem-quarkus-server-deployment/src/test/java/io/github/belgif/rest/problem/quarkus/deployment/server/ProblemExtensionServerProcessorTest.java create mode 100644 belgif-rest-problem-quarkus-server/pom.xml rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server}/i18n/I18NAcceptLanguageFilter.java (93%) rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server}/i18n/LocaleHolder.java (87%) rename {belgif-rest-problem-quarkus/src/main/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/main/java/io/github/belgif/rest/problem/quarkus/server}/i18n/QuarkusLocaleResolver.java (93%) create mode 100644 belgif-rest-problem-quarkus-server/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server}/i18n/I18NAcceptLanguageFilterTest.java (96%) rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server}/i18n/LocaleHolderTest.java (90%) rename {belgif-rest-problem-quarkus/src/test/java/io/github/belgif/rest/problem/quarkus => belgif-rest-problem-quarkus-server/src/test/java/io/github/belgif/rest/problem/quarkus/server}/i18n/QuarkusLocaleResolverTest.java (95%) delete mode 100644 belgif-rest-problem-quarkus/src/main/resources/META-INF/services/io.github.belgif.rest.problem.i18n.LocaleResolver delete mode 100644 belgif-rest-problem-quarkus/src/main/resources/META-INF/services/jakarta.enterprise.inject.build.compatible.spi.BuildCompatibleExtension diff --git a/belgif-rest-problem-bom/pom.xml b/belgif-rest-problem-bom/pom.xml index 42c861eb..1605625d 100644 --- a/belgif-rest-problem-bom/pom.xml +++ b/belgif-rest-problem-bom/pom.xml @@ -116,6 +116,26 @@ 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-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 95% rename from belgif-rest-problem-quarkus-deployment/pom.xml rename to belgif-rest-problem-quarkus-core-deployment/pom.xml index 2fc846db..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,7 +36,7 @@ io.github.belgif.rest.problem - belgif-rest-problem-quarkus + belgif-rest-problem-quarkus-core ${project.version} 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 5c910e7c..e42694a9 100644 --- a/belgif-rest-problem-quarkus/pom.xml +++ b/belgif-rest-problem-quarkus/pom.xml @@ -13,152 +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-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.github.belgif.rest.problem - belgif-rest-problem-jakarta-ee-client - ${project.version} - target/classes - - META-INF/MANIFEST.MF - - - - 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/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/jacoco-aggregator/pom.xml b/jacoco-aggregator/pom.xml index a2ccdebf..82b30420 100644 --- a/jacoco-aggregator/pom.xml +++ b/jacoco-aggregator/pom.xml @@ -126,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 288addae..9e2bd7e5 100644 --- a/pom.xml +++ b/pom.xml @@ -391,7 +391,12 @@ 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 @@ -510,7 +515,12 @@ 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 diff --git a/src/main/asciidoc/index.adoc b/src/main/asciidoc/index.adoc index bda5bff6..56ecbfcd 100644 --- a/src/main/asciidoc/index.adoc +++ b/src/main/asciidoc/index.adoc @@ -153,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 d33c673e..18278f25 100644 --- a/src/main/asciidoc/release-notes.adoc +++ b/src/main/asciidoc/release-notes.adoc @@ -30,7 +30,7 @@ Provide separate modules in case you specifically only want to use problems eith * 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 if you want both client-side and server-side integration. +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:* @@ -43,13 +43,22 @@ Provide separate modules in case you specifically only want to use problems eith ** 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 if you want both client-side and server-side integration. +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:* From 62b409d9d0fad09f216923780ff4778a9b31a849 Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Mon, 16 Feb 2026 14:17:36 +0100 Subject: [PATCH 4/5] Use static import for Mockito --- .../client/ProblemClientBuilderTest.java | 3 +- .../ProblemClientResponseFilterTest.java | 3 +- .../ee/jaxrs/client/ProblemSupportTest.java | 59 +++++++++---------- .../rest/problem/ee/CdiProblemModuleTest.java | 3 +- ...roblemObjectMapperContextResolverTest.java | 3 +- 5 files changed, 33 insertions(+), 38 deletions(-) diff --git a/belgif-rest-problem-java-ee-client/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 index cb29650b..e0baed97 100644 --- a/belgif-rest-problem-java-ee-client/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 @@ -21,7 +21,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import io.github.belgif.rest.problem.ee.jaxrs.client.ProblemSupport.ClientInvocationHandler; @@ -60,7 +59,7 @@ void buildFilterAlreadyRegistered() { assertThat(result).isInstanceOf(Client.class); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - Mockito.verifyNoMoreInteractions(client); + verifyNoMoreInteractions(client); } @Test diff --git a/belgif-rest-problem-java-ee-client/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 index 52f32d4b..996849aa 100644 --- a/belgif-rest-problem-java-ee-client/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 @@ -17,7 +17,6 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import com.fasterxml.jackson.databind.ObjectMapper; @@ -102,7 +101,7 @@ void differentMediaType() { @Test void microProfile() { when(requestContext.getProperty("org.eclipse.microprofile.rest.client.invokedMethod")) - .thenReturn(Mockito.mock(Method.class)); + .thenReturn(mock(Method.class)); assertThatNoException().isThrownBy( () -> filter.filter(requestContext, responseContext)); verifyNoMoreInteractions(requestContext, responseContext); diff --git a/belgif-rest-problem-java-ee-client/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 index 87a5fecb..28e2d38c 100644 --- a/belgif-rest-problem-java-ee-client/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 @@ -18,7 +18,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import io.github.belgif.rest.problem.BadGatewayProblem; @@ -53,13 +52,13 @@ void registerProblemClientResponseFilter() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = Mockito.mock(Invocation.class); + Invocation invocation = mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); @@ -76,13 +75,13 @@ void unwrapProblemWrapperInJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = Mockito.mock(Invocation.class); + Invocation invocation = mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); @@ -97,13 +96,13 @@ void normalResponseFromJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = Mockito.mock(Invocation.class); + Invocation invocation = mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); Response response = Response.ok().build(); @@ -118,16 +117,16 @@ void unwrapProblemWrapperInAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = Mockito.mock(Future.class); + Future future = mock(Future.class); when(asyncInvoker.get()).thenReturn(future); when(future.get()).thenThrow(new ExecutionException(new ProblemWrapper(new BadRequestProblem()))); @@ -142,16 +141,16 @@ void normalResponseFromAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = Mockito.mock(Future.class); + Future future = mock(Future.class); when(asyncInvoker.get()).thenReturn(future); Response response = Response.ok().build(); @@ -166,16 +165,16 @@ void otherExceptionInAsyncJaxRsClient() throws Exception { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - AsyncInvoker asyncInvoker = Mockito.mock(AsyncInvoker.class); + AsyncInvoker asyncInvoker = mock(AsyncInvoker.class); when(builder.async()).thenReturn(asyncInvoker); - Future future = Mockito.mock(Future.class); + Future future = mock(Future.class); when(asyncInvoker.get()).thenReturn(future); when(future.get()).thenThrow(new ExecutionException(new RuntimeException("other"))); @@ -192,10 +191,10 @@ void otherExceptionInJaxRsClient() { assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ClientInvocationHandler.class); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); when(builder.get()).thenThrow(new RuntimeException("other")); @@ -220,7 +219,7 @@ void exceptionCreatingProxiedReturnType() { @Test void unwrapProblemWrapperInProxyClient() { - Service service = Mockito.mock(Service.class); + Service service = mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -232,7 +231,7 @@ void unwrapProblemWrapperInProxyClient() { @Test void normalResponseFromProxyClient() { - Service service = Mockito.mock(Service.class); + Service service = mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -244,7 +243,7 @@ void normalResponseFromProxyClient() { @Test void otherExceptionInProxyClient() { - Service service = Mockito.mock(Service.class); + Service service = mock(Service.class); Service result = ProblemSupport.enable(service); assertThat(Proxy.isProxyClass(result.getClass())).isTrue(); assertThat(Proxy.getInvocationHandler(result)).isInstanceOf(ProxyInvocationHandler.class); @@ -262,15 +261,15 @@ void configurable() { when(client.register("test")).thenReturn(client); - WebTarget target = Mockito.mock(WebTarget.class); + WebTarget target = mock(WebTarget.class); when(target.register("test")).thenReturn(target); when(client.target("https://www.belgif.be")).thenReturn(target); - Invocation.Builder builder = Mockito.mock(Invocation.Builder.class); + Invocation.Builder builder = mock(Invocation.Builder.class); when(target.request()).thenReturn(builder); - Invocation invocation = Mockito.mock(Invocation.class); + Invocation invocation = mock(Invocation.class); when(builder.buildGet()).thenReturn(invocation); when(invocation.invoke()).thenThrow(new ProblemWrapper(new BadRequestProblem())); diff --git a/belgif-rest-problem-java-ee-core/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 index 844cc5e0..0a38d244 100644 --- a/belgif-rest-problem-java-ee-core/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 @@ -12,7 +12,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 io.github.belgif.rest.problem.registry.ProblemTypeRegistry; @@ -31,7 +30,7 @@ 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); diff --git a/belgif-rest-problem-java-ee-core/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 index fed36b44..06d507ee 100644 --- a/belgif-rest-problem-java-ee-core/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); From e8eef054fff1586874827aca704ee7c1ecee6149 Mon Sep 17 00:00:00 2001 From: Jimmy Praet Date: Mon, 16 Feb 2026 14:18:42 +0100 Subject: [PATCH 5/5] Remove commented out dependency --- belgif-rest-problem-spring-boot-common-server/pom.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/belgif-rest-problem-spring-boot-common-server/pom.xml b/belgif-rest-problem-spring-boot-common-server/pom.xml index 4302d939..27b4fcff 100644 --- a/belgif-rest-problem-spring-boot-common-server/pom.xml +++ b/belgif-rest-problem-spring-boot-common-server/pom.xml @@ -51,14 +51,6 @@ spring-webmvc provided - org.slf4j slf4j-api