From 307e8183d1a315306d2ec692175621a2da4639dc Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 21 May 2025 15:33:45 +0200 Subject: [PATCH 001/141] Improve bug report template --- .github/ISSUE_TEMPLATE/bug_report.yml | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index a61d834..033bcdb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -33,6 +33,15 @@ body: validations: required: true + - type: textarea + id: description + attributes: + label: Description of the problem + description: | + Describe as exactly as possible what is not working. + validations: + required: true + - type: textarea id: steps-to-reproduce attributes: @@ -47,20 +56,6 @@ body: validations: required: true - - type: textarea - id: expected-behavior - attributes: - label: Expected behavior - description: | - Tell us what you expect to happen. - - - type: textarea - id: actual-behavior - attributes: - label: Actual behavior - description: | - Tell us what happens with the steps given above. - - type: textarea id: additional-information attributes: From 0f72ad300d4e3d5e96789ad1ea4cedbd4615a863 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 22 May 2025 04:16:33 +0000 Subject: [PATCH 002/141] Update dependency com.puppycrawl.tools:checkstyle to v10.24.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d386c6f..2f769c6 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.23.1 + 10.24.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 5a67e47..05eb480 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -209,7 +209,7 @@ com.puppycrawl.tools checkstyle - 10.23.1 + 10.24.0 From 709995c578523840db6df7ee79795e2f017b346f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 31 May 2025 04:14:57 +0000 Subject: [PATCH 003/141] Update net.sourceforge.pmd to v7.14.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 2f769c6..5bffd11 100644 --- a/pom.xml +++ b/pom.xml @@ -82,12 +82,12 @@ net.sourceforge.pmd pmd-core - 7.13.0 + 7.14.0 net.sourceforge.pmd pmd-java - 7.13.0 + 7.14.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 05eb480..83ac028 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -246,12 +246,12 @@ net.sourceforge.pmd pmd-core - 7.13.0 + 7.14.0 net.sourceforge.pmd pmd-java - 7.13.0 + 7.14.0 From 4a35b838f7be1dbe648a1bda16b1b3945ebb3285 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 1 Jun 2025 04:24:06 +0000 Subject: [PATCH 004/141] Update dependency com.puppycrawl.tools:checkstyle to v10.25.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2f769c6..9552734 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.24.0 + 10.25.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 05eb480..951e302 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -209,7 +209,7 @@ com.puppycrawl.tools checkstyle - 10.24.0 + 10.25.0 From 7b2210a0e9a044fd194eeaac4761353c3b2fc357 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 3 Jun 2025 08:37:03 +0200 Subject: [PATCH 005/141] Move PMD to java subfolder https://github.com/xdev-software/java-template/issues/19 --- .config/pmd/{ => java}/ruleset.xml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .config/pmd/{ => java}/ruleset.xml (100%) diff --git a/.config/pmd/ruleset.xml b/.config/pmd/java/ruleset.xml similarity index 100% rename from .config/pmd/ruleset.xml rename to .config/pmd/java/ruleset.xml From 9c3732adbeca22563a07683980761b404d60760c Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 3 Jun 2025 08:38:27 +0200 Subject: [PATCH 006/141] Update pmd location https://github.com/xdev-software/java-template/issues/19 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index f6ad276..98aae88 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -239,7 +239,7 @@ true true - ../.config/pmd/ruleset.xml + ../.config/pmd/java/ruleset.xml From ff7d9184c194012c44fd7c2819b8ec1d8fa7e1fd Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 5 Jun 2025 09:52:46 +0200 Subject: [PATCH 007/141] Fix maven wrapper not working correctly on Windows Docker in non root (/) Properties files in subdirectory e.g. /submodule/.mvn/wrapper/maven-wrapper.properties is not formatted correctly! --- .gitattributes | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index 9c74e42..8ac8027 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,4 +6,4 @@ # Force MVN Wrapper Linux files LF mvnw text eol=lf -.mvn/wrapper/maven-wrapper.properties text eol=lf +maven-wrapper.properties text eol=lf From c5ee7c773b9c2feff77cbb57185664d3e0596263 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 6 Jun 2025 04:20:27 +0000 Subject: [PATCH 008/141] Update dependency maven to v3.9.10 --- .mvn/wrapper/maven-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 4d624fa..3112b8e 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip From 1038c7877757adbe9d59c35fed4d93faabbbbd09 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 10 Jun 2025 09:37:48 +0200 Subject: [PATCH 009/141] Correct pmd ruleset location --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 10a6321..a0d8268 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ true true - .config/pmd/ruleset.xml + .config/pmd/java/ruleset.xml From a830f314468281d45b85a281d01428db6393cf5b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 12 Jun 2025 04:17:46 +0000 Subject: [PATCH 010/141] Update shogo82148/actions-create-release digest to 4661dc5 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2cb3393..2e93568 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -89,7 +89,7 @@ jobs: - name: Create Release id: create_release - uses: shogo82148/actions-create-release@e5f206451d4ace2da9916d01f1aef279997f8659 # v1 + uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1 with: tag_name: v${{ steps.version.outputs.release }} release_name: v${{ steps.version.outputs.release }} From baf514080ced8c425a70e2438172eb58047b1f33 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 13 Jun 2025 04:16:27 +0000 Subject: [PATCH 011/141] Update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.6.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 445c33f..9fac300 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -198,7 +198,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.6.0 + 3.6.1 generate-sources From 4d937a99309804d38d86ae037346ff407abe7c55 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 13 Jun 2025 04:16:28 +0000 Subject: [PATCH 012/141] Update dependency software.xdev:find-and-replace-maven-plugin to v1.0.4 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 445c33f..66209fa 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -376,7 +376,7 @@ software.xdev find-and-replace-maven-plugin - 1.0.3 + 1.0.4 From 2bc9bf4c97e9eec35136e5753678262f7d898016 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 13 Jun 2025 04:16:29 +0000 Subject: [PATCH 013/141] Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.5 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 445c33f..8f2dd23 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -73,7 +73,7 @@ org.apache.httpcomponents.client5 httpclient5 - 5.4.4 + 5.5 From d403f3e12db74c5472832b07b28a674427ade46b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 13 Jun 2025 04:16:30 +0000 Subject: [PATCH 014/141] Update dependency org.apache.maven.plugins:maven-clean-plugin to v3.5.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 445c33f..178e094 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -289,7 +289,7 @@ org.apache.maven.plugins maven-clean-plugin - 3.4.1 + 3.5.0 pre-generation-clean From 09b005d905d0d655fd9cc191a0fdbbe43be5228d Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 14 Jun 2025 04:12:52 +0000 Subject: [PATCH 015/141] Update dependency com.fasterxml.jackson:jackson-bom to v2.19.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index a2fe140..d8fe9d9 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -61,7 +61,7 @@ com.fasterxml.jackson jackson-bom - 2.19.0 + 2.19.1 pom import From fcfe69a5f46a0156f542bce14b9b233988db21cc Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 17 Jun 2025 04:16:46 +0000 Subject: [PATCH 016/141] Update log4j2-version to v2.25.0 --- template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index 62ebc59..df80817 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -28,7 +28,7 @@ software.xdev.Application - 2.24.3 + 2.25.0 From 762cb368e6a4cd493d93079910a72391a6003225 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 18 Jun 2025 04:18:13 +0000 Subject: [PATCH 017/141] Update dependency org.sonatype.central:central-publishing-maven-plugin to v0.8.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 98aae88..91e371f 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -187,7 +187,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.7.0 + 0.8.0 true sonatype-central-portal From 88bc24fe20695d41424cf425b97fd665e578b2f2 Mon Sep 17 00:00:00 2001 From: Alex B <45384811+AB-xdev@users.noreply.github.com> Date: Wed, 18 Jun 2025 13:12:11 +0200 Subject: [PATCH 018/141] Cleanup .gitignore --- .gitignore | 46 +++++++++------------------------------------- 1 file changed, 9 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 5c85054..ba57347 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,12 @@ # Maven target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties dependency-reduced-pom.xml -buildNumber.properties -.mvn/timing.properties -# https://github.com/takari/maven-wrapper#usage-without-binary-jar + +# Maven Wrapper .mvn/wrapper/maven-wrapper.jar +# Maven Flatten Plugin +.flattened-pom.xml # Compiled class file *.class @@ -18,20 +14,12 @@ buildNumber.properties # Log file *.log -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - # Package/Binary Files don't belong into a git repo *.jar *.war -*.nar *.ear *.zip *.tar.gz -*.rar *.dll *.exe *.bin @@ -39,27 +27,11 @@ buildNumber.properties # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -# JRebel -**/resources/rebel.xml -**/resources/rebel-remote.xml - -# eclispe stuff for root -/.settings/ -/.classpath -/.project - - -# eclispe stuff for modules -/*/.metadata/ -/*/.apt_generated_tests/ -/*/.settings/ -/*/.classpath -/*/.project -/*/RemoteSystemsTempFiles/ - -#custom -.flattened-pom.xml -.tern-project +# Eclispe +.metadata +.settings +.classpath +.project # == IntelliJ == *.iml From 015131b92ffccbce5e8fac274d0ddf3d068d0e4a Mon Sep 17 00:00:00 2001 From: Alex B <45384811+AB-xdev@users.noreply.github.com> Date: Wed, 18 Jun 2025 13:38:22 +0200 Subject: [PATCH 019/141] Update .gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ba57347..14a1fb4 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,7 @@ dependency-reduced-pom.xml # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -# Eclispe +# Eclipse .metadata .settings .classpath From 67c281643f52336b68965e2216511059c19a2244 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 22 Jun 2025 04:20:31 +0000 Subject: [PATCH 020/141] Update dependency com.puppycrawl.tools:checkstyle to v10.25.1 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a0d8268..38d092c 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.25.0 + 10.25.1 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 91e371f..65e291a 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -209,7 +209,7 @@ com.puppycrawl.tools checkstyle - 10.25.0 + 10.25.1 From 861794f26b184ae23915613ade8320f2cdc39269 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 22 Jun 2025 04:20:34 +0000 Subject: [PATCH 021/141] Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.7.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 91e371f..1f1712f 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -147,7 +147,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.0 + 1.7.1 ossrh From f7426d2bdb63d4954973400f12417933e00b76a3 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 25 Jun 2025 04:21:42 +0000 Subject: [PATCH 022/141] Update dependency com.puppycrawl.tools:checkstyle to v10.26.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 38d092c..1d1131d 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.25.1 + 10.26.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index be3875e..e0a79aa 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -209,7 +209,7 @@ com.puppycrawl.tools checkstyle - 10.25.1 + 10.26.0 From 2738696da4f2f57aaf330b2a130ed9f6ab3edb04 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 26 Jun 2025 04:17:34 +0000 Subject: [PATCH 023/141] Update dependency org.openapitools:openapi-generator-maven-plugin to v7.14.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index c3e37d0..74b2388 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -318,7 +318,7 @@ org.openapitools openapi-generator-maven-plugin - 7.13.0 + 7.14.0 From 9d8d2deb86e1db67799d735fc541e56d9af9e5b4 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 26 Jun 2025 04:18:46 +0000 Subject: [PATCH 024/141] Update dependency org.apache.maven.plugins:maven-pmd-plugin to v3.27.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 38d092c..9023c63 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.26.0 + 3.27.0 true true diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index be3875e..98795f1 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -234,7 +234,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.26.0 + 3.27.0 true true From d38b73d81d914b35ae46b9b36c3afea39ee0d065 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 26 Jun 2025 11:15:18 +0200 Subject: [PATCH 025/141] Sync naming --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2e93568..c28f949 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -51,7 +51,7 @@ jobs: needs: [check-code] timeout-minutes: 10 outputs: - upload_url: ${{ steps.create_release.outputs.upload_url }} + upload_url: ${{ steps.create-release.outputs.upload_url }} steps: - uses: actions/checkout@v4 @@ -88,7 +88,7 @@ jobs: git push origin --tags - name: Create Release - id: create_release + id: create-release uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1 with: tag_name: v${{ steps.version.outputs.release }} From 08be521289fd77bdcac3f8c4d20756331f4f941c Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 28 Jun 2025 04:14:51 +0000 Subject: [PATCH 026/141] Update net.sourceforge.pmd to v7.15.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 426a852..f4358f3 100644 --- a/pom.xml +++ b/pom.xml @@ -82,12 +82,12 @@ net.sourceforge.pmd pmd-core - 7.14.0 + 7.15.0 net.sourceforge.pmd pmd-java - 7.14.0 + 7.15.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 876b7a7..d16c327 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -246,12 +246,12 @@ net.sourceforge.pmd pmd-core - 7.14.0 + 7.15.0 net.sourceforge.pmd pmd-java - 7.14.0 + 7.15.0 From a166186c6a877be931658117fda66ae7bf34a76b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 30 Jun 2025 04:24:59 +0000 Subject: [PATCH 027/141] Update dependency com.puppycrawl.tools:checkstyle to v10.26.1 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 426a852..862831e 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.26.0 + 10.26.1 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 876b7a7..adf5e1e 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -209,7 +209,7 @@ com.puppycrawl.tools checkstyle - 10.26.0 + 10.26.1 From c6e807f728ad34a6e531a43be9423092f72a9398 Mon Sep 17 00:00:00 2001 From: Alex B <45384811+AB-xdev@users.noreply.github.com> Date: Tue, 1 Jul 2025 10:50:39 +0200 Subject: [PATCH 028/141] Simplify: Use ``processAllModules`` flag --- .github/workflows/release.yml | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c28f949..89712fa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,15 +61,7 @@ jobs: git config --global user.name "GitHub Actions" - name: Un-SNAP - run: | - mvnwPath=$(readlink -f ./mvnw) - modules=("") # root - modules+=($(grep -oP '(?<=)[^<]+' 'pom.xml')) - for i in "${modules[@]}" - do - echo "Processing $i/pom.xml" - (cd "$i" && $mvnwPath -B versions:set -DremoveSnapshot -DgenerateBackupPoms=false) - done + run: ./mvnw -B versions:set -DremoveSnapshot -DprocessAllModules -DgenerateBackupPoms=false - name: Get version id: version @@ -185,15 +177,7 @@ jobs: git pull - name: Inc Version and SNAP - run: | - mvnwPath=$(readlink -f ./mvnw) - modules=("") # root - modules+=($(grep -oP '(?<=)[^<]+' 'pom.xml')) - for i in "${modules[@]}" - do - echo "Processing $i/pom.xml" - (cd "$i" && $mvnwPath -B build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion} -DgenerateBackupPoms=false -DnextSnapshot=true -DupdateMatchingVersions=false) - done + run: ./mvnw -B versions:set -DnextSnapshot -DprocessAllModules -DgenerateBackupPoms=false - name: Git Commit and Push run: | From 48f59e6a5c4582e03d57cc9f523785ba23995cd4 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 3 Jul 2025 04:20:04 +0000 Subject: [PATCH 029/141] Update dependency org.apache.maven.plugins:maven-gpg-plugin to v3.2.8 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index adb902d..85837b2 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -164,7 +164,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.7 + 3.2.8 sign-artifacts From 23eab491b4740bba9fc3f3a329958d6ef84c5389 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 3 Jul 2025 09:21:28 +0200 Subject: [PATCH 030/141] Implement dual publishing to GitHub packages --- .github/workflows/release.yml | 23 ++++++++++++++++++++--- .github/workflows/test-deploy.yml | 21 +++++++++++++++++++-- template-placeholder/pom.xml | 10 ++++++++-- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 89712fa..210ef8c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,6 +104,9 @@ jobs: runs-on: ubuntu-latest needs: [prepare-release] timeout-minutes: 60 + permissions: + contents: read + packages: write steps: - uses: actions/checkout@v4 @@ -112,20 +115,34 @@ jobs: git config --global user.email "actions@github.com" git config --global user.name "GitHub Actions" git pull + + - name: Set up JDK + uses: actions/setup-java@v4 + with: # running setup-java overwrites the settings.xml + distribution: 'temurin' + java-version: '17' + gpg-passphrase: MAVEN_GPG_PASSPHRASE + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once + - name: Publish to Central Portal + run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + - name: Set up JDK uses: actions/setup-java@v4 with: # running setup-java again overwrites the settings.xml - java-version: '17' distribution: 'temurin' + java-version: '17' server-id: sonatype-central-portal server-username: MAVEN_CENTRAL_USERNAME server-password: MAVEN_CENTRAL_TOKEN gpg-passphrase: MAVEN_GPG_PASSPHRASE - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish-sonatype-central-portal -DskipTests + run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} MAVEN_CENTRAL_TOKEN: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_TOKEN }} diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 8a85891..922eda0 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -10,8 +10,26 @@ jobs: publish-maven: runs-on: ubuntu-latest timeout-minutes: 60 + permissions: + contents: read + packages: write steps: - uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: # running setup-java overwrites the settings.xml + distribution: 'temurin' + java-version: '17' + gpg-passphrase: MAVEN_GPG_PASSPHRASE + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once + + - name: Publish to GitHub Packages + run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }} + working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK uses: actions/setup-java@v4 @@ -22,10 +40,9 @@ jobs: server-username: MAVEN_CENTRAL_USERNAME server-password: MAVEN_CENTRAL_TOKEN gpg-passphrase: MAVEN_GPG_PASSPHRASE - gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish-sonatype-central-portal -DskipTests + run: ../mvnw -B deploy -P publish,publish-sonatype-central-portal -DskipTests working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} env: MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_MAVEN_CENTRAL_PORTAL_USERNAME }} diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index adb902d..d51a7a1 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -141,7 +141,7 @@ - publish-sonatype-central-portal + publish @@ -183,7 +183,13 @@ - + + + + + publish-sonatype-central-portal + + org.sonatype.central central-publishing-maven-plugin From 05805ad560ad7c70f408f7b9799ac07f2584a4b0 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 12 Jul 2025 04:18:18 +0000 Subject: [PATCH 031/141] Update log4j2-version to v2.25.1 --- template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index df80817..74e6d0b 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -28,7 +28,7 @@ software.xdev.Application - 2.25.0 + 2.25.1 From 7da11aba3b95b8dfcb61c010539461a2f0f4e911 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 16 Jul 2025 04:24:46 +0000 Subject: [PATCH 032/141] Update dependency maven to v3.9.11 --- .mvn/wrapper/maven-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 3112b8e..6a6b8b2 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.10/apache-maven-3.9.10-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip From a65a863f2006483444c099b91a54a73d865c5a8b Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 16 Jul 2025 09:38:29 +0200 Subject: [PATCH 033/141] Remove Sonar https://github.com/xdev-software/github/issues/34 --- .github/workflows/sonar.yml | 79 ------------------------------------- README.md | 1 - 2 files changed, 80 deletions(-) delete mode 100644 .github/workflows/sonar.yml diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml deleted file mode 100644 index df6dbb7..0000000 --- a/.github/workflows/sonar.yml +++ /dev/null @@ -1,79 +0,0 @@ -name: Sonar - -on: - workflow_dispatch: - push: - branches: [ develop ] - paths-ignore: - - '**.md' - - '.config/**' - - '.github/**' - - '.idea/**' - - 'assets/**' - pull_request: - branches: [ develop ] - paths-ignore: - - '**.md' - - '.config/**' - - '.github/**' - - '.idea/**' - - 'assets/**' - -env: - SONARCLOUD_ORG: ${{ github.event.organization.login }} - SONARCLOUD_HOST: https://sonarcloud.io - -jobs: - token-check: - runs-on: ubuntu-latest - if: ${{ !(github.event_name == 'pull_request' && startsWith(github.head_ref, 'renovate/')) }} - timeout-minutes: 5 - outputs: - hasToken: ${{ steps.check-token.outputs.has }} - steps: - - id: check-token - run: | - [ -z $SONAR_TOKEN ] && echo "has=false" || echo "has=true" >> "$GITHUB_OUTPUT" - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - - sonar-scan: - runs-on: ubuntu-latest - needs: token-check - if: ${{ needs.token-check.outputs.hasToken }} - timeout-minutes: 30 - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - - - name: Set up JDK - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: 17 - - - name: Cache SonarCloud packages - uses: actions/cache@v4 - with: - path: ~/.sonar/cache - key: ${{ runner.os }}-sonar - restore-keys: ${{ runner.os }}-sonar - - - name: Cache Maven packages - uses: actions/cache@v4 - with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - restore-keys: ${{ runner.os }}-m2 - - - name: Build with Maven - run: | - ./mvnw -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ - -DskipTests \ - -Dsonar.projectKey=${{ env.SONARCLOUD_ORG }}_${{ github.event.repository.name }} \ - -Dsonar.organization=${{ env.SONARCLOUD_ORG }} \ - -Dsonar.host.url=${{ env.SONARCLOUD_HOST }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/README.md b/README.md index eccf80b..3b97901 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ [![Latest version](https://img.shields.io/maven-central/v/software.xdev/template-placeholder?logo=apache%20maven)](https://mvnrepository.com/artifact/software.xdev/template-placeholder) [![Build](https://img.shields.io/github/actions/workflow/status/xdev-software/template-placeholder/check-build.yml?branch=develop)](https://github.com/xdev-software/template-placeholder/actions/workflows/check-build.yml?query=branch%3Adevelop) -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=xdev-software_template-placeholder&metric=alert_status)](https://sonarcloud.io/dashboard?id=xdev-software_template-placeholder) # template-placeholder From b5ca8b50fab4331c039bf2820803445e75932133 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 17 Jul 2025 11:24:42 +0200 Subject: [PATCH 034/141] Publish to our GitHub Central "repo" https://github.com/xdev-software/standard-maven-template/issues/171 --- .github/workflows/release.yml | 10 ++++++---- .github/workflows/test-deploy.yml | 8 +++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 210ef8c..2b905ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -121,15 +121,17 @@ jobs: with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' + server-id: github-central + server-password: PACKAGES_CENTRAL_TOKEN gpg-passphrase: MAVEN_GPG_PASSPHRASE gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - - name: Publish to Central Portal - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }} + - name: Publish to GitHub Packages Central + run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central + working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} - name: Set up JDK uses: actions/setup-java@v4 diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 922eda0..ae28e35 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -21,14 +21,16 @@ jobs: with: # running setup-java overwrites the settings.xml distribution: 'temurin' java-version: '17' + server-id: github-central + server-password: PACKAGES_CENTRAL_TOKEN gpg-passphrase: MAVEN_GPG_PASSPHRASE gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Only import once - - name: Publish to GitHub Packages - run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github::https://maven.pkg.github.com/${{ github.repository }} + - name: Publish to GitHub Packages Central + run: ../mvnw -B deploy -P publish -DskipTests -DaltDeploymentRepository=github-central::https://maven.pkg.github.com/xdev-software/central working-directory: ${{ env.PRIMARY_MAVEN_MODULE }} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PACKAGES_CENTRAL_TOKEN: ${{ secrets.PACKAGES_CENTRAL_TOKEN }} MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - name: Set up JDK From 02651ce38abf0596c1f786190e1120de62b404ca Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 17 Jul 2025 11:36:33 +0200 Subject: [PATCH 035/141] Remove not needed permissions --- .github/workflows/release.yml | 3 --- .github/workflows/test-deploy.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2b905ac..5f8fb83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -104,9 +104,6 @@ jobs: runs-on: ubuntu-latest needs: [prepare-release] timeout-minutes: 60 - permissions: - contents: read - packages: write steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index ae28e35..046be63 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -10,9 +10,6 @@ jobs: publish-maven: runs-on: ubuntu-latest timeout-minutes: 60 - permissions: - contents: read - packages: write steps: - uses: actions/checkout@v4 From d6280496478c83214cd695e09aa916b39bf7e873 Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 17 Jul 2025 13:53:02 +0200 Subject: [PATCH 036/141] Fix link checker not creating issues Due to hidden change of how exit code is handled in https://github.com/lycheeverse/lychee-action/releases/tag/v2.0.0 Don't write 3 sentences about what has changed in the context of X; simply write: * Replace ``env.lychee_exit_code`` with ``steps.lychee.outputs.exit_code`` like you somehow did on the Readme? --- .github/workflows/broken-links.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 0d8c960..e97096a 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -30,13 +30,13 @@ jobs: GH_TOKEN: ${{ github.token }} - name: Close issue if everything is fine - if: env.lychee_exit_code == 0 && steps.find-issue.outputs.number != '' + if: steps.lychee.outputs.exit_code == 0 == 0 && steps.find-issue.outputs.number != '' run: gh issue close -r 'not planned' ${{ steps.find-issue.outputs.number }} env: GH_TOKEN: ${{ github.token }} - name: Create Issue From File - if: env.lychee_exit_code != 0 + if: steps.lychee.outputs.exit_code == 0 != 0 uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5 with: issue-number: ${{ steps.find-issue.outputs.number }} From 45e3f514b2141396212ad5cbc8399ed8258eaecd Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 17 Jul 2025 13:57:22 +0200 Subject: [PATCH 037/141] Fix typo --- .github/workflows/broken-links.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index e97096a..1d9d96b 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -30,13 +30,13 @@ jobs: GH_TOKEN: ${{ github.token }} - name: Close issue if everything is fine - if: steps.lychee.outputs.exit_code == 0 == 0 && steps.find-issue.outputs.number != '' + if: steps.lychee.outputs.exit_code == 0 && steps.find-issue.outputs.number != '' run: gh issue close -r 'not planned' ${{ steps.find-issue.outputs.number }} env: GH_TOKEN: ${{ github.token }} - name: Create Issue From File - if: steps.lychee.outputs.exit_code == 0 != 0 + if: steps.lychee.outputs.exit_code != 0 uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5 with: issue-number: ${{ steps.find-issue.outputs.number }} From 00044fbbdba12f12e92af7f749de68d8c2606ad4 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 19 Jul 2025 04:17:58 +0000 Subject: [PATCH 038/141] Update dependency com.fasterxml.jackson:jackson-bom to v2.19.2 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index b3af045..0ac9b3a 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -61,7 +61,7 @@ com.fasterxml.jackson jackson-bom - 2.19.1 + 2.19.2 pom import From 1885f22338c088ac37f6fa40d79437c2618cd0f1 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 26 Jul 2025 04:23:21 +0000 Subject: [PATCH 039/141] Update net.sourceforge.pmd to v7.16.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index b148a3f..13cbcef 100644 --- a/pom.xml +++ b/pom.xml @@ -82,12 +82,12 @@ net.sourceforge.pmd pmd-core - 7.15.0 + 7.16.0 net.sourceforge.pmd pmd-java - 7.15.0 + 7.16.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index b0e33c7..789e455 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -252,12 +252,12 @@ net.sourceforge.pmd pmd-core - 7.15.0 + 7.16.0 net.sourceforge.pmd pmd-java - 7.15.0 + 7.16.0 From f288c365ca866a08907cb7963fea3f82c7bffb01 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 29 Jul 2025 04:30:18 +0000 Subject: [PATCH 040/141] Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.7.2 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 789e455..58df6c8 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -147,7 +147,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.1 + 1.7.2 ossrh From 12b61ed91efb5330fb3c9ef12d7fe61423582fee Mon Sep 17 00:00:00 2001 From: "Alex \"Blex\" B" <45384811+AB-xdev@users.noreply.github.com> Date: Mon, 4 Aug 2025 10:07:50 +0200 Subject: [PATCH 041/141] Remove unused variable from workflow --- .github/workflows/check-build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 01edc3a..65e1e41 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -20,7 +20,6 @@ on: - 'assets/**' env: - PRIMARY_MAVEN_MODULE: ${{ github.event.repository.name }} DEMO_MAVEN_MODULE: ${{ github.event.repository.name }}-demo jobs: From d75370f1dfb63a2fc3e0e8dd40e1ab2ed957c33e Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 7 Aug 2025 09:47:14 +0200 Subject: [PATCH 042/141] [IDEA] Bump checkstyle version --- .idea/checkstyle-idea.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index b52c3e2..d43641c 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -1,7 +1,7 @@ - 10.21.0 + 10.26.1 JavaOnlyWithTests true true From 0ec6a335f6992cafc30d348c9415a71456ac08db Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 8 Aug 2025 04:26:21 +0000 Subject: [PATCH 043/141] Update lycheeverse/lychee-action digest to 5c4ee84 --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 1d9d96b..d29a4da 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -18,7 +18,7 @@ jobs: - name: Link Checker id: lychee - uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2 + uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963 # v2 with: fail: false # Don't fail on broken links, create an issue instead From f368480b8f948af255e91cd589f99d160bf1284b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 8 Aug 2025 04:31:07 +0000 Subject: [PATCH 044/141] Update lycheeverse/lychee-action digest to 5c4ee84 --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index e2f3597..d509539 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -19,7 +19,7 @@ jobs: - name: Link Checker id: lychee - uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2 + uses: lycheeverse/lychee-action@5c4ee84814c983aa7164eaee476f014e53ff3963 # v2 with: fail: false # Don't fail on broken links, create an issue instead From 3849ad71af09d44503bfbf2ae967cd33e33ac91f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 8 Aug 2025 04:31:09 +0000 Subject: [PATCH 045/141] Update dependency com.puppycrawl.tools:checkstyle to v11 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 13cbcef..c495b40 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 10.26.1 + 11.0.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 58df6c8..cc32fe8 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 10.26.1 + 11.0.0 From df23f84b8e58db57c57d0a3652ab3c4c31ea9595 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 12 Aug 2025 04:15:58 +0000 Subject: [PATCH 046/141] Update actions/checkout action to v5 --- .github/workflows/broken-links.yml | 2 +- .github/workflows/sync-labels.yml | 2 +- .github/workflows/update-from-template.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 1d9d96b..a9e2882 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -12,7 +12,7 @@ jobs: link-checker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: mv .github/.lycheeignore .lycheeignore diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 0e2beb5..3faaf1e 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -15,7 +15,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: sparse-checkout: .github/labels.yml diff --git a/.github/workflows/update-from-template.yml b/.github/workflows/update-from-template.yml index 24af3f3..3a7dc91 100644 --- a/.github/workflows/update-from-template.yml +++ b/.github/workflows/update-from-template.yml @@ -35,7 +35,7 @@ jobs: update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }} create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 @@ -181,7 +181,7 @@ jobs: if: needs.update.outputs.create_update_branch_merged_pr == 1 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 From 613e5d01c18b6bf9687473275b8ea5111224203d Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 12 Aug 2025 04:19:19 +0000 Subject: [PATCH 047/141] Update actions/checkout action to v5 --- .github/workflows/broken-links.yml | 2 +- .github/workflows/check-build.yml | 6 +++--- .github/workflows/release.yml | 10 +++++----- .github/workflows/sync-labels.yml | 2 +- .github/workflows/test-deploy.yml | 2 +- .github/workflows/update-from-template.yml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index d509539..a37abe7 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - run: mv .github/.lycheeignore .lycheeignore diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 65e1e41..fdeead2 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -33,7 +33,7 @@ jobs: distribution: [temurin] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 @@ -81,7 +81,7 @@ jobs: distribution: [temurin] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 @@ -104,7 +104,7 @@ jobs: distribution: [temurin] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5f8fb83..e415f67 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 @@ -53,7 +53,7 @@ jobs: outputs: upload_url: ${{ steps.create-release.outputs.upload_url }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Configure Git run: | @@ -105,7 +105,7 @@ jobs: needs: [prepare-release] timeout-minutes: 60 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Init Git and pull run: | @@ -153,7 +153,7 @@ jobs: needs: [prepare-release] timeout-minutes: 15 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Init Git and pull run: | @@ -184,7 +184,7 @@ jobs: needs: [publish-maven] timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Init Git and pull run: | diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index dc67287..f6c50a1 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: sparse-checkout: .github/labels.yml diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index 046be63..795bd6e 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 diff --git a/.github/workflows/update-from-template.yml b/.github/workflows/update-from-template.yml index 65f56b0..e689fe9 100644 --- a/.github/workflows/update-from-template.yml +++ b/.github/workflows/update-from-template.yml @@ -36,7 +36,7 @@ jobs: update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }} create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 @@ -183,7 +183,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 From 019ff584fedbc7f8e0bff18c9ac9db333db7aa3d Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 13 Aug 2025 13:48:55 +0200 Subject: [PATCH 048/141] Add configuration for Intellij PMD plugin --- .gitignore | 46 +++++++++++++++++++++++++++++++++++++++++++++ .idea/PMDPlugin.xml | 16 ++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/PMDPlugin.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea95295 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +# Compiled class file +*.class + +# Log file +*.log + +# Package/Binary Files don't belong into a git repo +*.jar +*.war +*.ear +*.zip +*.tar.gz +*.dll +*.exe +*.bin + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +# Eclipse +.metadata +.settings +.classpath +.project + +# == IntelliJ == +*.iml +*.ipr + +# Some files are user/installation independent and are used for configuring the IDE +# See also https://stackoverflow.com/a/35279076 + +.idea/* +!.idea/saveactions_settings.xml +!.idea/checkstyle-idea.xml +!.idea/externalDependencies.xml +!.idea/PMDPlugin.xml + +!.idea/inspectionProfiles/ +.idea/inspectionProfiles/* +!.idea/inspectionProfiles/Project_Default.xml + +!.idea/codeStyles/ +.idea/codeStyles/* +!.idea/codeStyles/codeStyleConfig.xml +!.idea/codeStyles/Project.xml diff --git a/.idea/PMDPlugin.xml b/.idea/PMDPlugin.xml new file mode 100644 index 0000000..0936e51 --- /dev/null +++ b/.idea/PMDPlugin.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file From 29aa603936a4926a2fb47cafb1fd4a1ab8115208 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 13 Aug 2025 16:38:20 +0200 Subject: [PATCH 049/141] Enable async processing by default --- .idea/saveactions_settings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/.idea/saveactions_settings.xml b/.idea/saveactions_settings.xml index 848c311..12a4f04 100644 --- a/.idea/saveactions_settings.xml +++ b/.idea/saveactions_settings.xml @@ -5,6 +5,7 @@ \ No newline at end of file From b828600535aa40c085989653d484607d30e7f6e2 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 12 Sep 2025 09:21:56 +0000 Subject: [PATCH 069/141] Update net.sourceforge.pmd to v7.17.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index abef334..f824869 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.16.0 + 7.17.0 net.sourceforge.pmd pmd-java - 7.16.0 + 7.17.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index e866684..7380883 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.16.0 + 7.17.0 net.sourceforge.pmd pmd-java - 7.16.0 + 7.17.0 From 154c6c732cbb090b1d3ddb6941759893d9d9c1f1 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 12 Sep 2025 12:09:53 +0200 Subject: [PATCH 070/141] Update to PMD 7.17 and add new rules --- .config/pmd/java/ruleset.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index ebdbd83..267fa5e 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -42,6 +42,7 @@ + @@ -138,6 +139,7 @@ + @@ -155,7 +157,7 @@ - + From 44ccd727be9ac92de19cd75f1dc5d77eea2dfd8b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 14 Sep 2025 04:14:19 +0000 Subject: [PATCH 071/141] Update shogo82148/actions-create-release digest to 7b89596 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0639fc6..6101566 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,7 +91,7 @@ jobs: - name: Create Release id: create-release - uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1 + uses: shogo82148/actions-create-release@7b89596097b26731bda0852f1504f813499079ee # v1 with: tag_name: v${{ steps.version.outputs.release }} release_name: v${{ steps.version.outputs.release }} From 088bcf340437d337ffc169567f6bdfaad3a6d2d6 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 15 Sep 2025 14:54:51 +0200 Subject: [PATCH 072/141] Add PMD 7.16 Rules --- .config/pmd/java/ruleset.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 267fa5e..5d76b2b 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -153,6 +153,8 @@ + + From dd4c7faeec7695b3b9d02cff6dbc674f9cdd582b Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 16 Sep 2025 10:26:07 +0200 Subject: [PATCH 073/141] Update mvnw --- .mvn/wrapper/maven-wrapper.properties | 18 +------ mvnw | 67 ++++++++++++++++++++++----- mvnw.cmd | 57 ++++++++++++++++++++--- 3 files changed, 108 insertions(+), 34 deletions(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 6a6b8b2..c0bcafe 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,17 +1,3 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. +wrapperVersion=3.3.4 +distributionType=only-script distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip diff --git a/mvnw b/mvnw index 0830332..bd8896b 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.3.0 +# Apache Maven Wrapper startup batch script, version 3.3.4 # # Optional ENV vars # ----------------- @@ -97,14 +97,25 @@ die() { exit 1 } +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +scriptDir="$(dirname "$0")" +scriptName="$(basename "$0")" + # parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties while IFS="=" read -r key value; do case "${key-}" in - distributionUrl) distributionUrl="${value-}" ;; - distributionSha256Sum) distributionSha256Sum="${value-}" ;; + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; esac -done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" -[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" +done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" case "${distributionUrl##*/}" in maven-mvnd-*bin.*) @@ -122,7 +133,7 @@ maven-mvnd-*bin.*) distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" ;; maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; -*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; esac # apply MVNW_REPOURL and calculate MAVEN_HOME @@ -131,7 +142,8 @@ esac distributionUrlName="${distributionUrl##*/}" distributionUrlNameMain="${distributionUrlName%.*}" distributionUrlNameMain="${distributionUrlNameMain%-bin}" -MAVEN_HOME="$HOME/.m2/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" exec_maven() { unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : @@ -199,7 +211,7 @@ elif set_java_home; then public static void main( String[] args ) throws Exception { setDefault( new Downloader() ); - java.nio.file.Files.copy( new java.net.URL( args[0] ).openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); } } END @@ -218,7 +230,7 @@ if [ -n "${distributionSha256Sum-}" ]; then echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 exit 1 elif command -v sha256sum >/dev/null; then - if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then distributionSha256Result=true fi elif command -v shasum >/dev/null; then @@ -243,8 +255,41 @@ if command -v unzip >/dev/null; then else tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" fi -printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" -mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +actualDistributionDir="" + +# First try the expected directory name (for regular distributions) +if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then + if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then + actualDistributionDir="$distributionUrlNameMain" + fi +fi + +# If not found, search for any directory with the Maven executable (for snapshots) +if [ -z "$actualDistributionDir" ]; then + # enable globbing to iterate over items + set +f + for dir in "$TMP_DOWNLOAD_DIR"/*; do + if [ -d "$dir" ]; then + if [ -f "$dir/bin/$MVN_CMD" ]; then + actualDistributionDir="$(basename "$dir")" + break + fi + fi + done + set -f +fi + +if [ -z "$actualDistributionDir" ]; then + verbose "Contents of $TMP_DOWNLOAD_DIR:" + verbose "$(ls -la "$TMP_DOWNLOAD_DIR")" + die "Could not find Maven distribution directory in extracted archive" +fi + +verbose "Found extracted Maven distribution directory: $actualDistributionDir" +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" clean || : exec_maven "$@" diff --git a/mvnw.cmd b/mvnw.cmd index 136e686..92450f9 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -19,7 +19,7 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.3.0 +@REM Apache Maven Wrapper startup batch script, version 3.3.4 @REM @REM Optional ENV vars @REM MVNW_REPOURL - repo url base for downloading maven distribution @@ -40,7 +40,7 @@ @SET __MVNW_ARG0_NAME__= @SET MVNW_USERNAME= @SET MVNW_PASSWORD= -@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*) @echo Cannot start maven from wrapper >&2 && exit /b 1 @GOTO :EOF : end batch / begin powershell #> @@ -73,13 +73,30 @@ switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { # apply MVNW_REPOURL and calculate MAVEN_HOME # maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ if ($env:MVNW_REPOURL) { - $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } - $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" + $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')" } $distributionUrlName = $distributionUrl -replace '^.*/','' $distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' -$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" -$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' + +$MAVEN_M2_PATH = "$HOME/.m2" +if ($env:MAVEN_USER_HOME) { + $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME" +} + +if (-not (Test-Path -Path $MAVEN_M2_PATH)) { + New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null +} + +$MAVEN_WRAPPER_DISTS = $null +if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) { + $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists" +} else { + $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists" +} + +$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain" +$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' $MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { @@ -131,7 +148,33 @@ if ($distributionSha256Sum) { # unzip and move Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null -Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null + +# Find the actual extracted directory name (handles snapshots where filename != directory name) +$actualDistributionDir = "" + +# First try the expected directory name (for regular distributions) +$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain" +$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD" +if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) { + $actualDistributionDir = $distributionUrlNameMain +} + +# If not found, search for any directory with the Maven executable (for snapshots) +if (!$actualDistributionDir) { + Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object { + $testPath = Join-Path $_.FullName "bin/$MVN_CMD" + if (Test-Path -Path $testPath -PathType Leaf) { + $actualDistributionDir = $_.Name + } + } +} + +if (!$actualDistributionDir) { + Write-Error "Could not find Maven distribution directory in extracted archive" +} + +Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir" +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null try { Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null } catch { From 108486865e6442363bbcaff9b394ba5b36a2d63f Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 15 Sep 2025 15:03:03 +0200 Subject: [PATCH 074/141] PMD: Import and modify rules from `jPinpoint` See https://github.com/jborgers/PMD-jPinpoint-rules --- .config/pmd/java/ruleset.xml | 824 ++++++++++++++++++++++++++++++++++- 1 file changed, 818 insertions(+), 6 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 5d76b2b..28bc272 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -11,7 +11,6 @@ - @@ -199,6 +198,33 @@ + + + + Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or may be replaced by a simpler string concatenation. + + Solution: + * Do not use `StringBuffer` because it's thread-safe and usually this is not needed + * If `StringBuilder` is only used in a simple method (like `toString`) and is effectively inlined: Use a simpler string concatenation (`"a" + x + "b"`). This will be optimized by the Java compiler internally. + * In all other cases: + * Check what is happening and if it makes ANY sense! If for example a CSV file is built here consider using a proper library instead! + * Abstract the Strings into a DTO, join them together using a collection (or `StringJoiner`) or use Java's Streaming API instead + + 3 + + + + + + + + + - @@ -236,7 +262,7 @@ - @@ -257,7 +283,7 @@ - @@ -279,7 +305,7 @@ - @@ -303,7 +329,7 @@ - @@ -311,4 +337,790 @@ + + + + + + Do not use native HTML! Use Vaadin layouts and components to create required structure. + If you are 100% sure that you escaped the value properly and you have no better options you can suppress this. + + 2 + + + + + + + + + + + + + + + + java.text.NumberFormat: DecimalFormat and ChoiceFormat are thread-unsafe. + + Solution: Create a new local one when needed in a method. + + 1 + + + + + + + + + + + + + + + A regular expression is compiled implicitly on every invocation. + Problem: This can be (CPU) expensive, depending on the length of the regular expression. + + Solution: Compile the regex pattern only once and assign it to a private static final Pattern field. + java.util.Pattern objects are thread-safe, so they can be shared among threads. + + 2 + + + + 5 and +(matches(@Image, '[\.\$\|\(\)\[\]\{\}\^\?\*\+\\]+'))) +or +self::VariableAccess and @Name=ancestor::ClassBody[1]/FieldDeclaration/VariableDeclarator[StringLiteral[string-length(@Image) > 5 and +(matches(@Image, '[\.\$\|\(\)\[\]\{\}\^\?\*\+\\]+'))] or not(StringLiteral)]/VariableId/@Name] +]]> + + + + + + + + + + + + The default constructor of ByteArrayOutputStream creates a 32 bytes initial capacity and for StringWriter 16 chars. + Such a small buffer as capacity usually needs several expensive expansions. + + Solution: Explicitly declared the buffer size so that an expansion is not needed in most cases. + Typically much larger than 32, e.g. 4096. + + 2 + + + + + + + + + + + + + + + The time to find element is O(n); n = the number of enum values. + This identical processing is executed for every call. + Considered problematic when `n > 3`. + + Solution: Use a static field-to-enum-value Map. Access time is O(1), provided the hashCode is well-defined. + Implement a fromString method to provide the reverse conversion by using the map. + + 3 + + + + 3]//MethodDeclaration/Block + //MethodCall[pmd-java:matchesSig('java.util.stream.Stream#findFirst()') or pmd-java:matchesSig('java.util.stream.Stream#findAny()')] + [//MethodCall[pmd-java:matchesSig('java.util.stream.Stream#of(_)') or pmd-java:matchesSig('java.util.Arrays#stream(_)')] + [ArgumentList/MethodCall[pmd-java:matchesSig('_#values()')]]] +]]> + + + + + fromString(String name) { + return Stream.of(values()).filter(v -> v.toString().equals(name)).findAny(); // bad: iterates for every call, O(n) access time + } +} + +Usage: `Fruit f = Fruit.fromString("banana");` + +// GOOD +public enum Fruit { + APPLE("apple"), + ORANGE("orange"), + BANANA("banana"), + KIWI("kiwi"); + + private static final Map nameToValue = + Stream.of(values()).collect(toMap(Object::toString, v -> v)); + private final String name; + + Fruit(String name) { this.name = name; } + @Override public String toString() { return name; } + public static Optional fromString(String name) { + return Optional.ofNullable(nameToValue.get(name)); // good, get from Map, O(1) access time + } +} +]]> + + + + + + A regular expression is compiled on every invocation. + Problem: this can be expensive, depending on the length of the regular expression. + + Solution: Usually a pattern is a literal, not dynamic and can be compiled only once. Assign it to a private static field. + java.util.Pattern objects are thread-safe so they can be shared among threads. + + 2 + + + + + + + + + + + + + + + + Recreating a DateTimeFormatter is relatively expensive. + + Solution: Java 8+ java.time.DateTimeFormatter is thread-safe and can be shared among threads. + Create the formatter from a pattern only once, to initialize a static final field. + + 2 + + + + + + + + + + + + Creating a security provider is expensive because of loading of algorithms and other classes. + Additionally, it uses synchronized which leads to lock contention when used with multiple threads. + + Solution: This only needs to happen once in the JVM lifetime, because once loaded the provider is typically available from the Security class. + Create the security provider only once: Only in case when it's not yet available from the Security class. + + 2 + + + + + + + + + + + + + + + Reflection is relatively expensive. + + Solution: Avoid reflection. Use the non-reflective, explicit way like generation by IDE. + + 2 + + + + + + + + + + + + + + + java.util.SimpleDateFormat is thread-unsafe. + The usual solution is to create a new one when needed in a method. + Creating SimpleDateFormat is relatively expensive. + + Solution: Use java.time.DateTimeFormatter. These classes are immutable, thus thread-safe and can be made static. + + 2 + + + + + + + + + + + + + + + Creating Comparator instances repeatedly in methods like compareTo or sort calls is inefficient. + + Solution: Initialize the Comparator once as a static final field and reuse. + + 2 + + + + + + + + + { + @Override + public int compareTo(@NotNull Person o) { + return Comparator.comparing(Person::getFirstName) // Bad: Creates new Comparator instance on each invocation + .thenComparing(Person::getLastName) + .thenComparingInt(Person::getAge) + .compare(this, o); + } +} + +public class GoodPerson implements Comparable { + private static final Comparator COMPARE_FIRST_LAST_NAME_AGE = + Comparator.comparing(Person::getFirstName) + .thenComparing(Person::getLastName) + .thenComparingInt(Person::getAge); + + @Override + public int compareTo(@NotNull Person o) { + return COMPARE_FIRST_LAST_NAME_AGE.compare(this, o); // Good: Comparator initialized once as static final field + } +} +]]> + + + + + + Blocking calls, for instance remote calls, may exhaust the common pool for some time thereby blocking all other use of the common pool. + In addition, nested use of the common pool can lead to deadlock. Do not use the common pool for blocking calls. + The parallelStream() call uses the common pool. + + Solution: Use a dedicated thread pool with enough threads to get proper parallelism. + The number of threads in the common pool is equal to the number of CPUs and meant to utilize all of them. + It assumes CPU-intensive non-blocking processing of in-memory data. + + 2 + + + + + + + + + list = new ArrayList(); + final ForkJoinPool myFjPool = new ForkJoinPool(10); + final ExecutorService myExePool = Executors.newFixedThreadPool(10); + + void bad1() { + list.parallelStream().forEach(elem -> storeDataRemoteCall(elem)); // bad + } + + void good1() { + CompletableFuture[] futures = list.stream().map(elem -> CompletableFuture.supplyAsync(() -> storeDataRemoteCall(elem), myExePool)) + .toArray(CompletableFuture[]::new); + CompletableFuture.allOf(futures).get(10, TimeUnit.MILLISECONDS)); + } + + void good2() throws ExecutionException, InterruptedException { + myFjPool.submit(() -> + list.parallelStream().forEach(elem -> storeDataRemoteCall(elem)) + ).get(); + } + + String storeDataRemoteCall(String elem) { + // do remote call, blocking. We don't use the returned value. + RestTemplate tmpl; + return ""; + } +} +]]> + + + + + + Future.supplyAsync is typically used for remote calls. By default, it uses the common pool. + The number of threads in the common pool is equal to the number of CPU's, which is suitable for in-memory processing. + For I/O, however, this number is typically not suitable because most time is spent waiting for the response and not in CPU. + The common pool must not be used for blocking calls. + + Solution: A separate, properly sized, pool of threads (an Executor) should be used for the async calls. + + 2 + + + + + + + + +>[] futures = accounts.stream() + .map(account -> CompletableFuture.supplyAsync(() -> isAccountBlocked(account))) // bad + .toArray(CompletableFuture[]::new); + } + + void good() { + CompletableFuture>[] futures = accounts.stream() + .map(account -> CompletableFuture.supplyAsync(() -> isAccountBlocked(account), asyncPool)) // good + .toArray(CompletableFuture[]::new); + } +} +]]> + + + + + + `take()` stalls indefinitely in case of hanging threads and consumes a thread. + + Solution: use `poll()` with a timeout value and handle the timeout. + + 2 + + + + + + + + + void collectAllCollectionReplyFromThreads(CompletionService> completionService) { + try { + Future> futureLocal = completionService.take(); // bad + Future> futuresGood = completionService.poll(3, TimeUnit.SECONDS); // good + responseCollector.addAll(futuresGood.get(10, TimeUnit.SECONDS)); // good + } catch (InterruptedException | ExecutionException e) { + LOGGER.error("Error in Thread : {}", e); + } catch (TimeoutException e) { + LOGGER.error("Timeout in Thread : {}", e); + } +} +]]> + + + + + + Stalls indefinitely in case of stalled Callable(s) and consumes threads. + + Solution: Provide a timeout to the invokeAll/invokeAny method and handle the timeout. + + 2 + + + + + + + + +> executeTasksBad(Collection> tasks, ExecutorService executor) throws Exception { + return executor.invokeAll(tasks); // bad, no timeout + } + private List> executeTasksGood(Collection> tasks, ExecutorService executor) throws Exception { + return executor.invokeAll(tasks, OUR_TIMEOUT_IN_MILLIS, TimeUnit.MILLISECONDS); // good + } +} +]]> + + + + + + Stalls indefinitely in case of hanging threads and consumes a thread. + + Solution: Provide a timeout value and handle the timeout. + + 2 + + + + + + + + + complFuture) throws Exception { + return complFuture.get(); // bad +} + +public static String good(CompletableFuture complFuture) throws Exception { + return complFuture.get(10, TimeUnit.SECONDS); // good +} +]]> + + + + + + + Apache HttpClient with its connection pool and timeouts should be setup once and then used for many requests. + It is quite expensive to create and can only provide the benefits of pooling when reused in all requests for that connection. + + Solution: Create/build HttpClient with proper connection pooling and timeouts once, and then use it for requests. + + 3 + + + + + + + + + connectBad(Object req) { + HttpEntity requestEntity = new HttpEntity<>(req); + + HttpClient httpClient = HttpClientBuilder.create().setMaxConnPerRoute(10).build(); // bad + return remoteCall(httpClient, requestEntity); + } +} +]]> + + + + + + Problem: Gson creation is relatively expensive. A JMH benchmark shows a 24x improvement reusing one instance. + + Solution: Since Gson objects are thread-safe after creation, they can be shared between threads. + So reuse created instances from a static field. + Pay attention to use thread-safe (custom) adapters and serializers. + + 3 + + + + + + + + + + + From deddd914be12567ecf33146f9a2f7acb0c10fa0a Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 16 Sep 2025 14:36:18 +0200 Subject: [PATCH 075/141] PMD: Exclude unused rule --- .config/pmd/java/ruleset.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 28bc272..517b924 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -185,6 +185,9 @@ + + + From 53b1e5dfd3fc70d91302cfb4fef2dd48b1b65ccb Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 16 Sep 2025 14:36:48 +0200 Subject: [PATCH 076/141] PMD: Reword and also apply to runAsync --- .config/pmd/java/ruleset.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 517b924..cda412b 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -841,6 +841,8 @@ public class GoodPerson implements Comparable { Solution: Use a dedicated thread pool with enough threads to get proper parallelism. The number of threads in the common pool is equal to the number of CPUs and meant to utilize all of them. It assumes CPU-intensive non-blocking processing of in-memory data. + + See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) 2 @@ -897,22 +899,25 @@ public class Foo { - Future.supplyAsync is typically used for remote calls. By default, it uses the common pool. + CompletableFuture.supplyAsync/runAsync is typically used for remote calls. + By default it uses the common pool. The number of threads in the common pool is equal to the number of CPU's, which is suitable for in-memory processing. For I/O, however, this number is typically not suitable because most time is spent waiting for the response and not in CPU. The common pool must not be used for blocking calls. - Solution: A separate, properly sized, pool of threads (an Executor) should be used for the async calls. + Solution: A separate, properly sized pool of threads (an Executor) should be used for the async calls. + + See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) 2 From e6358ed1fa1e6c743e9a7b055a55862beacb8677 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 16 Sep 2025 14:36:56 +0200 Subject: [PATCH 077/141] PMD: Fix error --- .config/pmd/java/ruleset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index cda412b..bb8177f 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -1066,7 +1066,7 @@ public static String good(CompletableFuture complFuture) throws Exceptio //MethodDeclaration//MethodCall[ pmd-java:matchesSig('org.apache.hc.client5.http.impl.classic.HttpClientBuilder#create()') or pmd-java:matchesSig('org.apache.hc.client5.http.impl.classic.HttpClients#custom()') - or pmd-java:matchesSig('org.apache.hc.client5.http.impl.async.HttpAsyncClientBuilder#build()' + or pmd-java:matchesSig('org.apache.hc.client5.http.impl.async.HttpAsyncClientBuilder#build()') ] [ancestor::MethodDeclaration//ClassType[pmd-java:typeIs('org.springframework.http.HttpEntity') or pmd-java:typeIs('org.springframework.http.ResponseEntity')] From 042b7a495804644325788e8d174aa2d02622da85 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 16 Sep 2025 14:37:10 +0200 Subject: [PATCH 078/141] PMD: Remove rule as it yields too many FP --- .config/pmd/java/ruleset.xml | 63 ------------------------------------ 1 file changed, 63 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index bb8177f..a5b7634 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -766,69 +766,6 @@ public class Foo { - - - Creating Comparator instances repeatedly in methods like compareTo or sort calls is inefficient. - - Solution: Initialize the Comparator once as a static final field and reuse. - - 2 - - - - - - - - - { - @Override - public int compareTo(@NotNull Person o) { - return Comparator.comparing(Person::getFirstName) // Bad: Creates new Comparator instance on each invocation - .thenComparing(Person::getLastName) - .thenComparingInt(Person::getAge) - .compare(this, o); - } -} - -public class GoodPerson implements Comparable { - private static final Comparator COMPARE_FIRST_LAST_NAME_AGE = - Comparator.comparing(Person::getFirstName) - .thenComparing(Person::getLastName) - .thenComparingInt(Person::getAge); - - @Override - public int compareTo(@NotNull Person o) { - return COMPARE_FIRST_LAST_NAME_AGE.compare(this, o); // Good: Comparator initialized once as static final field - } -} -]]> - - - Date: Wed, 17 Sep 2025 10:32:54 +0200 Subject: [PATCH 079/141] PMF: Cleanup and format --- .config/pmd/java/ruleset.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index a5b7634..748c826 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -448,7 +448,7 @@ String good_replaceInnerLineBreakBySpace() { - + + 3 @@ -565,7 +565,7 @@ public enum Fruit { Solution: Usually a pattern is a literal, not dynamic and can be compiled only once. Assign it to a private static field. java.util.Pattern objects are thread-safe so they can be shared among threads. - + 2 From 7bcc1bd25b867131f2190e8e86d41f90aa8ada2a Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 21 Sep 2025 04:13:51 +0000 Subject: [PATCH 080/141] Update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3.12.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 7380883..89d4aa7 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -108,7 +108,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.11.3 + 3.12.0 attach-javadocs From e0867d36ce22ad168d47ea3c6dd59dfae4db74b4 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 22 Sep 2025 04:19:37 +0000 Subject: [PATCH 081/141] Update dependency org.apache.maven.plugins:maven-compiler-plugin to v3.14.1 --- template-placeholder-demo/pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index 3702222..b6ff1fd 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -44,7 +44,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.0 + 3.14.1 ${maven.compiler.release} diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 7380883..f67b505 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -97,7 +97,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.0 + 3.14.1 ${maven.compiler.release} From 184b908f235cf93fade385838d806417c1ee6564 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 22 Sep 2025 04:19:40 +0000 Subject: [PATCH 082/141] Update dependency org.codehaus.mojo:flatten-maven-plugin to v1.7.3 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 7380883..e356a34 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -147,7 +147,7 @@ org.codehaus.mojo flatten-maven-plugin - 1.7.2 + 1.7.3 ossrh From 0e8aefd14b6e396990ff21fcdd9d0bc0fe7e25b3 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 24 Sep 2025 04:13:23 +0000 Subject: [PATCH 083/141] Update dependency org.sonatype.central:central-publishing-maven-plugin to v0.9.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 27a24c8..4c4214c 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -193,7 +193,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.8.0 + 0.9.0 true sonatype-central-portal From f08c6622dbeb98cc1db48a845335020e361b2814 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 29 Sep 2025 04:14:48 +0000 Subject: [PATCH 084/141] Update dependency com.puppycrawl.tools:checkstyle to v11.1.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index f824869..61578c0 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 11.0.1 + 11.1.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 4c4214c..3d8cc2c 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 11.0.1 + 11.1.0 From 6278740ec8418dbe1933b70fbab9c3cf7c3f59e7 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 29 Sep 2025 13:42:00 +0200 Subject: [PATCH 085/141] Fix broken-links not finding issues on GH CLI v2.79+ Fix https://github.com/xdev-software/base-template/issues/8 --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 9493fb8..436ce50 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -25,7 +25,7 @@ jobs: - name: Find already existing issue id: find-issue run: | - echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title \"Link Checker Report\"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT + echo "number=$(gh issue list -l 'bug' -l 'automated' -L 1 -S 'in:title "Link Checker Report"' -s 'open' --json 'number' --jq '.[].number')" >> $GITHUB_OUTPUT env: GH_TOKEN: ${{ github.token }} From e55a6a352b1f2c64d855b9d0c81c0aed70c7b9de Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 30 Sep 2025 04:13:38 +0000 Subject: [PATCH 086/141] Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.5.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3560dbf..2633d75 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -73,7 +73,7 @@ org.apache.httpcomponents.client5 httpclient5 - 5.5 + 5.5.1 From 5c9ddfa5f2147988e1e972c0c5324611b71f1c7a Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 30 Sep 2025 04:13:40 +0000 Subject: [PATCH 087/141] Update log4j2-version to v2.25.2 --- template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index ba4a00f..9863614 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -28,7 +28,7 @@ software.xdev.Application - 2.25.1 + 2.25.2 From 739bfe7b5670cb5f7a64963a37e41706d0430dda Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 30 Sep 2025 04:13:41 +0000 Subject: [PATCH 088/141] Update dependency org.openapitools:openapi-generator-maven-plugin to v7.16.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3560dbf..f7275c3 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -324,7 +324,7 @@ org.openapitools openapi-generator-maven-plugin - 7.15.0 + 7.16.0 From 39c4703001cf7da323fb6b809f1ab733284a536d Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 30 Sep 2025 09:52:34 +0200 Subject: [PATCH 089/141] Test compile with Java 25 & Update docs --- .github/workflows/check-build.yml | 2 +- CONTRIBUTING.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 01f0840..e975764 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -28,7 +28,7 @@ jobs: timeout-minutes: 30 strategy: matrix: - java: [17, 21] + java: [17, 21, 25] distribution: [temurin] steps: - uses: actions/checkout@v5 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be2a186..2c7b025 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ We also encourage you to read the [contribution instructions by GitHub](https:// ### Software Requirements You should have the following things installed: * Git -* Java 21 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/)) +* Java 25 - should be as unmodified as possible (Recommended: [Eclipse Adoptium](https://adoptium.net/temurin/releases/)) * Maven (Note that the [Maven Wrapper](https://maven.apache.org/wrapper/) is shipped with the repo) ### Recommended setup From f71bf683b682ca9d985ee02a13b157676e21cd9f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 2 Oct 2025 04:10:53 +0000 Subject: [PATCH 090/141] Update peter-evans/create-issue-from-file action to v6 --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 436ce50..a99ae52 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -37,7 +37,7 @@ jobs: - name: Create Issue From File if: steps.lychee.outputs.exit_code != 0 - uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5 + uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6 with: issue-number: ${{ steps.find-issue.outputs.number }} title: Link Checker Report From 046de3916a42b79a547d1a8281de2bc875e9091c Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 2 Oct 2025 10:47:35 +0200 Subject: [PATCH 091/141] Update PMD scheme location --- .config/pmd/java/ruleset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 748c826..6bf58b3 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -2,7 +2,7 @@ + xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.github.io/ruleset_2_0_0.xsd"> This ruleset checks the code for discouraged programming constructs. From d3806058ec9caf0870392740f549fd59e9b5bf79 Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 7 Oct 2025 14:54:43 +0200 Subject: [PATCH 092/141] Fix typo --- .config/pmd/java/ruleset.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 6bf58b3..4570323 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -204,7 +204,7 @@ Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or may be replaced by a simpler string concatenation. From 43afe18c3740032f26c42d71679824e0fa485f5a Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 10 Oct 2025 04:14:02 +0000 Subject: [PATCH 093/141] Update dependency com.puppycrawl.tools:checkstyle to v12 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 61578c0..14c3d10 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 11.1.0 + 12.0.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3d8cc2c..ea07c2f 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 11.1.0 + 12.0.0 From 042d657901a3455ab272d3e5342616f958e93ce5 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 11 Oct 2025 04:14:27 +0000 Subject: [PATCH 094/141] Update dependency org.apache.maven.plugins:maven-pmd-plugin to v3.28.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 14c3d10..7236c13 100644 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.27.0 + 3.28.0 true true diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index ea07c2f..74cf0ee 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -240,7 +240,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.27.0 + 3.28.0 true true From d4bea48af9898d69073377a80fe6289ad4a2fc39 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 12 Oct 2025 04:13:47 +0000 Subject: [PATCH 095/141] Update dependency com.puppycrawl.tools:checkstyle to v12.0.1 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 14c3d10..6c2a198 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.0.0 + 12.0.1 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index ea07c2f..67b916c 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.0.0 + 12.0.1 From e28c251a2dbf97e5e8273177d05a6f8743c9902c Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 15 Oct 2025 11:20:00 +0200 Subject: [PATCH 096/141] Detect ZIP slip --- .config/pmd/java/ruleset.xml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 4570323..c72b66a 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -316,6 +316,28 @@ + + + ZipEntry name should be sanitized. + Unsanitized names may contain '..' which can result in path traversal ("ZipSlip"). + + You can suppress this warning when you properly sanitized the name. + + 4 + + + + + + + + + Date: Mon, 20 Oct 2025 04:17:59 +0000 Subject: [PATCH 097/141] Update dependency com.puppycrawl.tools:checkstyle to v12.1.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e03f17f..8a108a1 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.0.1 + 12.1.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index c1146ed..0bed85e 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.0.1 + 12.1.0 From db9dae96091208bebb9b75e42369696d76f0760e Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 23 Oct 2025 04:14:31 +0000 Subject: [PATCH 098/141] Update shogo82148/actions-create-release digest to 28d99e2 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6101566..103c9b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,7 +91,7 @@ jobs: - name: Create Release id: create-release - uses: shogo82148/actions-create-release@7b89596097b26731bda0852f1504f813499079ee # v1 + uses: shogo82148/actions-create-release@28d99e2a5b407558d17c15d0384fc0d7fb625b4c # v1 with: tag_name: v${{ steps.version.outputs.release }} release_name: v${{ steps.version.outputs.release }} From a9b4edba598ec48c137c2eb5347cf789a2963713 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 25 Oct 2025 04:14:21 +0000 Subject: [PATCH 099/141] Update actions/upload-artifact action to v5 --- .github/workflows/check-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index e975764..0e42c29 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -69,7 +69,7 @@ jobs: fi - name: Upload demo files - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: demo-files-java-${{ matrix.java }} path: ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar @@ -152,7 +152,7 @@ jobs: - name: Upload report if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: pmd-report if-no-files-found: ignore From 0f07ec79fe16525053fc2cb7583fe567b10613e0 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 27 Oct 2025 04:20:45 +0000 Subject: [PATCH 100/141] Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8a108a1..cddae72 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.1.0 + 12.1.1 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 0bed85e..7203198 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.1.0 + 12.1.1 From 1ebe4703a7b3f80152545d7704cfffd16297e77e Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 29 Oct 2025 08:38:46 +0100 Subject: [PATCH 101/141] Add `UnnecessaryWarningSuppression` https://pmd.github.io/pmd/pmd_rules_java_bestpractices.html#unnecessarywarningsuppression Detects unused suppressions --- .config/pmd/java/ruleset.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index c72b66a..37b4f63 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -25,6 +25,7 @@ + From 80835757139b9630a43fe1eb0d65b857e333517b Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 29 Oct 2025 13:28:01 +0100 Subject: [PATCH 102/141] Formatting --- .config/pmd/java/ruleset.xml | 179 ++++++++++++++++++----------------- 1 file changed, 91 insertions(+), 88 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 37b4f63..341cb3a 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -10,6 +10,9 @@ + + + @@ -208,14 +211,14 @@ message="StringBuilder/StringBuffer should not be used" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or may be replaced by a simpler string concatenation. - - Solution: - * Do not use `StringBuffer` because it's thread-safe and usually this is not needed - * If `StringBuilder` is only used in a simple method (like `toString`) and is effectively inlined: Use a simpler string concatenation (`"a" + x + "b"`). This will be optimized by the Java compiler internally. - * In all other cases: - * Check what is happening and if it makes ANY sense! If for example a CSV file is built here consider using a proper library instead! - * Abstract the Strings into a DTO, join them together using a collection (or `StringJoiner`) or use Java's Streaming API instead +Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or may be replaced by a simpler string concatenation. + +Solution: +* Do not use `StringBuffer` because it's thread-safe and usually this is not needed +* If `StringBuilder` is only used in a simple method (like `toString`) and is effectively inlined: Use a simpler string concatenation (`"a" + x + "b"`). This will be optimized by the Java compiler internally. +* In all other cases: + * Check what is happening and if it makes ANY sense! If for example a CSV file is built here consider using a proper library instead! + * Abstract the Strings into a DTO, join them together using a collection (or `StringJoiner`) or use Java's Streaming API instead 3 @@ -234,11 +237,11 @@ message="Setters of java.lang.System should not be called unless really needed" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Calling setters of java.lang.System usually indicates bad design and likely causes unexpected behavior. - For example, it may break when multiple Threads are setting the value. - It may also overwrite user defined options or properties. +Calling setters of java.lang.System usually indicates bad design and likely causes unexpected behavior. +For example, it may break when multiple Threads are setting the value. +It may also overwrite user defined options or properties. - Try to pass the value only to the place where it's really needed and use it there accordingly. +Try to pass the value only to the place where it's really needed and use it there accordingly. 3 @@ -257,10 +260,10 @@ message="Avoid @PostConstruct" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Using a `@PostConstruct` method is usually only done when field injection is used and initialization needs to be performed after that. +Using a `@PostConstruct` method is usually only done when field injection is used and initialization needs to be performed after that. - It's better to do this directly in the constructor with constructor injection, so that all logic will be encapsulated there. - This also makes using the bean in environments where JavaEE is not present - for example in tests - a lot easier, as forgetting to call the `@PostConstruct` method is no longer possible. +It's better to do this directly in the constructor with constructor injection, so that all logic will be encapsulated there. +This also makes using the bean in environments where JavaEE is not present - for example in tests - a lot easier, as forgetting to call the `@PostConstruct` method is no longer possible. 3 @@ -279,9 +282,9 @@ message="Avoid @PreDestroy" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - `@PreDestroy` should be replaced by implementing `AutoCloseable` and overwriting the `close` method instead. +`@PreDestroy` should be replaced by implementing `AutoCloseable` and overwriting the `close` method instead. - This also makes using the bean in environments where JavaEE is not present - for example in tests - a lot easier, as forgetting to call the `@PreDestroy` method is no much more difficult. +This also makes using the bean in environments where JavaEE is not present - for example in tests - a lot easier, as forgetting to call the `@PreDestroy` method is no much more difficult. 3 @@ -300,10 +303,10 @@ message="Avoid unmanaged threads" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Trying to manually manage threads usually gets quickly out of control and may result in various problems like uncontrollable spawning of threads. - Threads can also not be cancelled properly. +Trying to manually manage threads usually gets quickly out of control and may result in various problems like uncontrollable spawning of threads. +Threads can also not be cancelled properly. - Use managed Thread services like `ExecutorService` and `CompletableFuture` instead. +Use managed Thread services like `ExecutorService` and `CompletableFuture` instead. 3 @@ -322,10 +325,10 @@ message="ZipEntry name should be sanitized" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - ZipEntry name should be sanitized. - Unsanitized names may contain '..' which can result in path traversal ("ZipSlip"). +ZipEntry name should be sanitized. +Unsanitized names may contain '..' which can result in path traversal ("ZipSlip"). - You can suppress this warning when you properly sanitized the name. +You can suppress this warning when you properly sanitized the name. 4 @@ -344,12 +347,12 @@ message="Using Java Object (De-)Serialization is unsafe and has led to too many security vulnerabilities" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Nearly every known usage of (Java) Object Deserialization has resulted in [a security vulnerability](https://cloud.google.com/blog/topics/threat-intelligence/hunting-deserialization-exploits?hl=en). - Vulnerabilities are so common that there are [dedicated projects for exploit payload generation](https://github.com/frohoff/ysoserial). +Nearly every known usage of (Java) Object Deserialization has resulted in [a security vulnerability](https://cloud.google.com/blog/topics/threat-intelligence/hunting-deserialization-exploits?hl=en). +Vulnerabilities are so common that there are [dedicated projects for exploit payload generation](https://github.com/frohoff/ysoserial). - Java Object Serialization may also fail to deserialize when the underlying classes are changed. +Java Object Serialization may also fail to deserialize when the underlying classes are changed. - Use proven data interchange formats like JSON instead. +Use proven data interchange formats like JSON instead. 2 @@ -371,8 +374,8 @@ message="Unescaped native HTML is unsafe and will result in XSS vulnerabilities" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule" > - Do not use native HTML! Use Vaadin layouts and components to create required structure. - If you are 100% sure that you escaped the value properly and you have no better options you can suppress this. +Do not use native HTML! Use Vaadin layouts and components to create required structure. +If you are 100% sure that you escaped the value properly and you have no better options you can suppress this. 2 @@ -396,9 +399,9 @@ message="Avoid using DecimalFormat or ChoiceFormat as field since it is thread-unsafe" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - java.text.NumberFormat: DecimalFormat and ChoiceFormat are thread-unsafe. +java.text.NumberFormat: DecimalFormat and ChoiceFormat are thread-unsafe. - Solution: Create a new local one when needed in a method. +Solution: Create a new local one when needed in a method. 1 @@ -428,11 +431,11 @@ public class Foo { message="Detected possible resource expensive implicit regex pattern compilation" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - A regular expression is compiled implicitly on every invocation. - Problem: This can be (CPU) expensive, depending on the length of the regular expression. +A regular expression is compiled implicitly on every invocation. +Problem: This can be (CPU) expensive, depending on the length of the regular expression. - Solution: Compile the regex pattern only once and assign it to a private static final Pattern field. - java.util.Pattern objects are thread-safe, so they can be shared among threads. +Solution: Compile the regex pattern only once and assign it to a private static final Pattern field. +java.util.Pattern objects are thread-safe, so they can be shared among threads. 2 @@ -477,11 +480,11 @@ String good_replaceInnerLineBreakBySpace() { message="Default buffer capacity is used which usually needs expensive expansions" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - The default constructor of ByteArrayOutputStream creates a 32 bytes initial capacity and for StringWriter 16 chars. - Such a small buffer as capacity usually needs several expensive expansions. +The default constructor of ByteArrayOutputStream creates a 32 bytes initial capacity and for StringWriter 16 chars. +Such a small buffer as capacity usually needs several expensive expansions. - Solution: Explicitly declared the buffer size so that an expansion is not needed in most cases. - Typically much larger than 32, e.g. 4096. +Solution: Explicitly declared the buffer size so that an expansion is not needed in most cases. +Typically much larger than 32, e.g. 4096. 2 @@ -517,12 +520,12 @@ class Good { message="Avoid re-streaming enum values to find a value by a field" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - The time to find element is O(n); n = the number of enum values. - This identical processing is executed for every call. - Considered problematic when `n > 3`. +The time to find element is O(n); n = the number of enum values. +This identical processing is executed for every call. +Considered problematic when `n > 3`. - Solution: Use a static field-to-enum-value Map. Access time is O(1), provided the hashCode is well-defined. - Implement a fromString method to provide the reverse conversion by using the map. +Solution: Use a static field-to-enum-value Map. Access time is O(1), provided the hashCode is well-defined. +Implement a fromString method to provide the reverse conversion by using the map. 3 @@ -583,11 +586,11 @@ public enum Fruit { message="Pattern.compile is used in a method. Compiling a regex pattern can be expensive, make it a static final field." class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - A regular expression is compiled on every invocation. - Problem: this can be expensive, depending on the length of the regular expression. +A regular expression is compiled on every invocation. +Problem: this can be expensive, depending on the length of the regular expression. - Solution: Usually a pattern is a literal, not dynamic and can be compiled only once. Assign it to a private static field. - java.util.Pattern objects are thread-safe so they can be shared among threads. +Solution: Usually a pattern is a literal, not dynamic and can be compiled only once. Assign it to a private static field. +java.util.Pattern objects are thread-safe so they can be shared among threads. 2 @@ -629,10 +632,10 @@ public static void good() { message="Avoid expensive recreation of DateTimeFormatter" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Recreating a DateTimeFormatter is relatively expensive. +Recreating a DateTimeFormatter is relatively expensive. - Solution: Java 8+ java.time.DateTimeFormatter is thread-safe and can be shared among threads. - Create the formatter from a pattern only once, to initialize a static final field. +Solution: Java 8+ java.time.DateTimeFormatter is thread-safe and can be shared among threads. +Create the formatter from a pattern only once, to initialize a static final field. 2 @@ -659,11 +662,11 @@ or pmd-java:matchesSig('java.time.format.DateTimeFormatterBuilder#toFormatter(_) message="Avoid expensive recreation of security providers" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Creating a security provider is expensive because of loading of algorithms and other classes. - Additionally, it uses synchronized which leads to lock contention when used with multiple threads. +Creating a security provider is expensive because of loading of algorithms and other classes. +Additionally, it uses synchronized which leads to lock contention when used with multiple threads. - Solution: This only needs to happen once in the JVM lifetime, because once loaded the provider is typically available from the Security class. - Create the security provider only once: Only in case when it's not yet available from the Security class. +Solution: This only needs to happen once in the JVM lifetime, because once loaded the provider is typically available from the Security class. +Create the security provider only once: Only in case when it's not yet available from the Security class. 2 @@ -710,9 +713,9 @@ class Foo { message="Expensive Reflection is used" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Reflection is relatively expensive. +Reflection is relatively expensive. - Solution: Avoid reflection. Use the non-reflective, explicit way like generation by IDE. +Solution: Avoid reflection. Use the non-reflective, explicit way like generation by IDE. 2 @@ -753,11 +756,11 @@ class Good { message="SimpleDateFormat is used. Since it is thread-unsafe, it needs expensive recreation." class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - java.util.SimpleDateFormat is thread-unsafe. - The usual solution is to create a new one when needed in a method. - Creating SimpleDateFormat is relatively expensive. +java.util.SimpleDateFormat is thread-unsafe. +The usual solution is to create a new one when needed in a method. +Creating SimpleDateFormat is relatively expensive. - Solution: Use java.time.DateTimeFormatter. These classes are immutable, thus thread-safe and can be made static. +Solution: Use java.time.DateTimeFormatter. These classes are immutable, thus thread-safe and can be made static. 2 @@ -794,15 +797,15 @@ public class Foo { message="Avoid the ForkJoinPool::commonPool used in parallelStream for blocking calls" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Blocking calls, for instance remote calls, may exhaust the common pool for some time thereby blocking all other use of the common pool. - In addition, nested use of the common pool can lead to deadlock. Do not use the common pool for blocking calls. - The parallelStream() call uses the common pool. +Blocking calls, for instance remote calls, may exhaust the common pool for some time thereby blocking all other use of the common pool. +In addition, nested use of the common pool can lead to deadlock. Do not use the common pool for blocking calls. +The parallelStream() call uses the common pool. - Solution: Use a dedicated thread pool with enough threads to get proper parallelism. - The number of threads in the common pool is equal to the number of CPUs and meant to utilize all of them. - It assumes CPU-intensive non-blocking processing of in-memory data. +Solution: Use a dedicated thread pool with enough threads to get proper parallelism. +The number of threads in the common pool is equal to the number of CPUs and meant to utilize all of them. +It assumes CPU-intensive non-blocking processing of in-memory data. - See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) +See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) 2 @@ -862,15 +865,15 @@ public class Foo { message="Avoid using the common thread pool, use a separate pool" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - CompletableFuture.supplyAsync/runAsync is typically used for remote calls. - By default it uses the common pool. - The number of threads in the common pool is equal to the number of CPU's, which is suitable for in-memory processing. - For I/O, however, this number is typically not suitable because most time is spent waiting for the response and not in CPU. - The common pool must not be used for blocking calls. +CompletableFuture.supplyAsync/runAsync is typically used for remote calls. +By default it uses the common pool. +The number of threads in the common pool is equal to the number of CPU's, which is suitable for in-memory processing. +For I/O, however, this number is typically not suitable because most time is spent waiting for the response and not in CPU. +The common pool must not be used for blocking calls. - Solution: A separate, properly sized pool of threads (an Executor) should be used for the async calls. +Solution: A separate, properly sized pool of threads (an Executor) should be used for the async calls. - See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) +See also: [_Be Aware of ForkJoinPool#commonPool()_](https://dzone.com/articles/be-aware-of-forkjoinpoolcommonpool) 2 @@ -908,9 +911,9 @@ public class Foo { message="Avoid CompletionService.take, use poll" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - `take()` stalls indefinitely in case of hanging threads and consumes a thread. +`take()` stalls indefinitely in case of hanging threads and consumes a thread. - Solution: use `poll()` with a timeout value and handle the timeout. +Solution: use `poll()` with a timeout value and handle the timeout. 2 @@ -944,9 +947,9 @@ public static void collectAllCollectionReplyFromThreads(CompletionService
  • - Stalls indefinitely in case of stalled Callable(s) and consumes threads. +Stalls indefinitely in case of stalled Callable(s) and consumes threads. - Solution: Provide a timeout to the invokeAll/invokeAny method and handle the timeout. +Solution: Provide a timeout to the invokeAll/invokeAny method and handle the timeout. 2 @@ -979,9 +982,9 @@ class Foo { message="Avoid future.get without timeout" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Stalls indefinitely in case of hanging threads and consumes a thread. +Stalls indefinitely in case of hanging threads and consumes a thread. - Solution: Provide a timeout value and handle the timeout. +Solution: Provide a timeout value and handle the timeout. 2 @@ -1012,10 +1015,10 @@ public static String good(CompletableFuture complFuture) throws Exceptio message="An HttpClient is created and combined with request-response" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Apache HttpClient with its connection pool and timeouts should be setup once and then used for many requests. - It is quite expensive to create and can only provide the benefits of pooling when reused in all requests for that connection. +Apache HttpClient with its connection pool and timeouts should be setup once and then used for many requests. +It is quite expensive to create and can only provide the benefits of pooling when reused in all requests for that connection. - Solution: Create/build HttpClient with proper connection pooling and timeouts once, and then use it for requests. +Solution: Create/build HttpClient with proper connection pooling and timeouts once, and then use it for requests. 3 @@ -1054,11 +1057,11 @@ class Foo { message="A Gson object is created for each method call, which is expensive." class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> - Problem: Gson creation is relatively expensive. A JMH benchmark shows a 24x improvement reusing one instance. +Problem: Gson creation is relatively expensive. A JMH benchmark shows a 24x improvement reusing one instance. - Solution: Since Gson objects are thread-safe after creation, they can be shared between threads. - So reuse created instances from a static field. - Pay attention to use thread-safe (custom) adapters and serializers. +Solution: Since Gson objects are thread-safe after creation, they can be shared between threads. +So reuse created instances from a static field. +Pay attention to use thread-safe (custom) adapters and serializers. 3 From f0350dd55446e78ff917b5641070e6db9d379d3f Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 30 Oct 2025 04:11:25 +0000 Subject: [PATCH 103/141] Update lycheeverse/lychee-action digest to a8c4c7c --- .github/workflows/broken-links.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index a99ae52..0e96b20 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -18,7 +18,7 @@ jobs: - name: Link Checker id: lychee - uses: lycheeverse/lychee-action@885c65f3dc543b57c898c8099f4e08c8afd178a2 # v2 + uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0 # v2 with: fail: false # Don't fail on broken links, create an issue instead From f5923efaaa98f06a394b539ee7d795d941973e86 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 1 Nov 2025 04:16:41 +0000 Subject: [PATCH 104/141] Update net.sourceforge.pmd to v7.18.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index cddae72..046a742 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.17.0 + 7.18.0 net.sourceforge.pmd pmd-java - 7.17.0 + 7.18.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 7203198..13bcb16 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.17.0 + 7.18.0 net.sourceforge.pmd pmd-java - 7.17.0 + 7.18.0 From 4ebf84d79a7204b8641896071191c7e05ae42fe1 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Nov 2025 08:46:37 +0100 Subject: [PATCH 105/141] Updated to PMD 7.18 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/pmd/pmd/releases/tag/pmd_releases%2F7.18.0 Reasoning: * Newly included/Changed * `IdenticalConditionalBranches` → self explaining * `LabeledStatement` → are confusing to use and I barely ever see them * Not included * `UnusedLabel` → Not used because `LabeledStatement` already handles these * `ConfusingTernary` → Not helpful in most situations * `AvoidCatchingGenericException` → Might be ok for maybe Throwable or Error (but we sometimes also have to catch those), however not catching Exceptions and RuntimeExceptions is an extremely bad practice --- .config/pmd/java/ruleset.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 341cb3a..3332029 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -17,6 +17,7 @@ + @@ -149,6 +150,7 @@ + From 53e5c3113b97eb080131c1809d79b6b2d3365c60 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 3 Nov 2025 15:14:58 +0100 Subject: [PATCH 106/141] Don't allow TODO comments Fixes https://github.com/xdev-software/java-setup-template/issues/1 --- .config/checkstyle/checkstyle.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index 43b5290..ffbc2a9 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -122,9 +122,7 @@ - - - + From 4342c35dc276aecb146aa2877b1062c4a16ba3c0 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 7 Nov 2025 14:12:35 +0100 Subject: [PATCH 107/141] Small descriptive improvements Fixes https://github.com/xdev-software/java-setup-template/issues/2 --- .config/pmd/java/ruleset.xml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index 3332029..c057d1a 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -213,11 +213,11 @@ message="StringBuilder/StringBuffer should not be used" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> -Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or may be replaced by a simpler string concatenation. +Usually all cases where `StringBuilder` (or the outdated `StringBuffer`) is used are either due to confusing (legacy) logic or in situations where it may be easily replaced by a simpler string concatenation. Solution: * Do not use `StringBuffer` because it's thread-safe and usually this is not needed -* If `StringBuilder` is only used in a simple method (like `toString`) and is effectively inlined: Use a simpler string concatenation (`"a" + x + "b"`). This will be optimized by the Java compiler internally. +* If `StringBuilder` is only used in a simple method (like `toString`) and is effectively inlined: Use a simpler string concatenation (`"a" + x + "b"`). This will be [optimized by the Java compiler internally](https://docs.oracle.com/javase/specs/jls/se25/html/jls-15.html#jls-15.18.1). * In all other cases: * Check what is happening and if it makes ANY sense! If for example a CSV file is built here consider using a proper library instead! * Abstract the Strings into a DTO, join them together using a collection (or `StringJoiner`) or use Java's Streaming API instead @@ -239,8 +239,8 @@ Solution: message="Setters of java.lang.System should not be called unless really needed" class="net.sourceforge.pmd.lang.rule.xpath.XPathRule"> -Calling setters of java.lang.System usually indicates bad design and likely causes unexpected behavior. -For example, it may break when multiple Threads are setting the value. +Calling setters of `java.lang.System` usually indicates bad design and likely causes unexpected behavior. +For example, it may break when multiple Threads are working with the same value. It may also overwrite user defined options or properties. Try to pass the value only to the place where it's really needed and use it there accordingly. @@ -352,7 +352,8 @@ You can suppress this warning when you properly sanitized the name. Nearly every known usage of (Java) Object Deserialization has resulted in [a security vulnerability](https://cloud.google.com/blog/topics/threat-intelligence/hunting-deserialization-exploits?hl=en). Vulnerabilities are so common that there are [dedicated projects for exploit payload generation](https://github.com/frohoff/ysoserial). -Java Object Serialization may also fail to deserialize when the underlying classes are changed. +Java Object Serialization may also fail to deserialize properly when the underlying classes are changed. +This can result in unexpected crashes when outdated data is deserialized. Use proven data interchange formats like JSON instead. @@ -374,7 +375,8 @@ Use proven data interchange formats like JSON instead. + class="net.sourceforge.pmd.lang.rule.xpath.XPathRule" + externalInfoUrl="https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML"> Do not use native HTML! Use Vaadin layouts and components to create required structure. If you are 100% sure that you escaped the value properly and you have no better options you can suppress this. From 053d6040fb9b814e5929e61408b7934e692210bb Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 10 Nov 2025 09:47:22 +0100 Subject: [PATCH 108/141] Add initial PMD X plugin configuration See https://github.com/xdev-software/intellij-plugin-pmd --- .gitignore | 1 + .idea/pmd-x.xml | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 .idea/pmd-x.xml diff --git a/.gitignore b/.gitignore index ea95295..d35b413 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ hs_err_pid* !.idea/saveactions_settings.xml !.idea/checkstyle-idea.xml !.idea/externalDependencies.xml +!.idea/pmd-x.xml !.idea/PMDPlugin.xml !.idea/inspectionProfiles/ diff --git a/.idea/pmd-x.xml b/.idea/pmd-x.xml new file mode 100644 index 0000000..260e454 --- /dev/null +++ b/.idea/pmd-x.xml @@ -0,0 +1,27 @@ + + + + false + true + true + SUPPORTED_ONLY_WITH_TESTS + + + + \ No newline at end of file From b721e725428ab6ef132401b37458043415cb8482 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 11 Nov 2025 04:15:05 +0000 Subject: [PATCH 109/141] Update dependency com.fasterxml.jackson:jackson-bom to v2.20.1 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 440b176..198ac15 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -61,7 +61,7 @@ com.fasterxml.jackson jackson-bom - 2.20.0 + 2.20.1 pom import From 271133cfd7728ed4db265333783369ed8d9e8b22 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 11 Nov 2025 04:15:06 +0000 Subject: [PATCH 110/141] Update dependency org.openapitools:jackson-databind-nullable to v0.2.8 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 440b176..b409413 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -96,7 +96,7 @@ org.openapitools jackson-databind-nullable - 0.2.7 + 0.2.8 From 24a7535e6512384295bf634ca96e353eaf5d8174 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Tue, 11 Nov 2025 04:15:08 +0000 Subject: [PATCH 111/141] Update dependency org.openapitools:openapi-generator-maven-plugin to v7.17.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 440b176..4b457b3 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -324,7 +324,7 @@ org.openapitools openapi-generator-maven-plugin - 7.16.0 + 7.17.0 From 7b3d463b138e82bd1ac574de670fc3c90a01ce0e Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 12 Nov 2025 04:16:23 +0000 Subject: [PATCH 112/141] Update dependency com.puppycrawl.tools:checkstyle to v12.1.2 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 046a742..8eef499 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.1.1 + 12.1.2 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 13bcb16..d6a7ded 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.1.1 + 12.1.2 From b76d5553bbf3f4cf432b4eaf3e04347be793c64a Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 20 Nov 2025 09:31:05 +0100 Subject: [PATCH 113/141] Sonar is no longer in use --- template-placeholder/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 9bf9f03..8d45cda 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -49,11 +49,6 @@ UTF-8 src/generated/java - - - - src/generated/** - From 6ff31257538b8fc040f950df9d7525ce992f1434 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 21 Nov 2025 04:11:32 +0000 Subject: [PATCH 114/141] Update actions/checkout action to v6 --- .github/workflows/broken-links.yml | 2 +- .github/workflows/sync-labels.yml | 2 +- .github/workflows/update-from-template.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 0e96b20..e6c3385 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -12,7 +12,7 @@ jobs: link-checker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - run: mv .github/.lycheeignore .lycheeignore diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 3faaf1e..c43365e 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -15,7 +15,7 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: sparse-checkout: .github/labels.yml diff --git a/.github/workflows/update-from-template.yml b/.github/workflows/update-from-template.yml index ebd8220..7cff559 100644 --- a/.github/workflows/update-from-template.yml +++ b/.github/workflows/update-from-template.yml @@ -35,7 +35,7 @@ jobs: update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }} create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 @@ -181,7 +181,7 @@ jobs: if: needs.update.outputs.create_update_branch_merged_pr == 1 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 From 25f9289239221e0e8f35a121c86ecb41feceab95 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 21 Nov 2025 04:15:13 +0000 Subject: [PATCH 115/141] Update actions/checkout action to v6 --- .github/workflows/broken-links.yml | 2 +- .github/workflows/check-build.yml | 6 +++--- .github/workflows/release.yml | 10 +++++----- .github/workflows/sync-labels.yml | 2 +- .github/workflows/test-deploy.yml | 2 +- .github/workflows/update-from-template.yml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/broken-links.yml b/.github/workflows/broken-links.yml index 7f35a97..2675c8b 100644 --- a/.github/workflows/broken-links.yml +++ b/.github/workflows/broken-links.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - run: mv .github/.lycheeignore .lycheeignore diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 0e42c29..38497bb 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -31,7 +31,7 @@ jobs: java: [17, 21, 25] distribution: [temurin] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up JDK uses: actions/setup-java@v5 @@ -84,7 +84,7 @@ jobs: java: [17] distribution: [temurin] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up JDK uses: actions/setup-java@v5 @@ -120,7 +120,7 @@ jobs: java: [17] distribution: [temurin] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up JDK uses: actions/setup-java@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 103c9b1..e0265f2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up JDK uses: actions/setup-java@v5 @@ -63,7 +63,7 @@ jobs: outputs: upload_url: ${{ steps.create-release.outputs.upload_url }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Configure Git run: | @@ -115,7 +115,7 @@ jobs: needs: [prepare-release] timeout-minutes: 60 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Init Git and pull run: | @@ -163,7 +163,7 @@ jobs: needs: [prepare-release] timeout-minutes: 15 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Init Git and pull run: | @@ -202,7 +202,7 @@ jobs: needs: [publish-maven] timeout-minutes: 10 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Init Git and pull run: | diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index f6c50a1..6471ce7 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: sparse-checkout: .github/labels.yml diff --git a/.github/workflows/test-deploy.yml b/.github/workflows/test-deploy.yml index b75a246..2d13d77 100644 --- a/.github/workflows/test-deploy.yml +++ b/.github/workflows/test-deploy.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up JDK uses: actions/setup-java@v5 diff --git a/.github/workflows/update-from-template.yml b/.github/workflows/update-from-template.yml index 1088171..f447710 100644 --- a/.github/workflows/update-from-template.yml +++ b/.github/workflows/update-from-template.yml @@ -36,7 +36,7 @@ jobs: update_branch_merged_commit: ${{ steps.manage-branches.outputs.update_branch_merged_commit }} create_update_branch_merged_pr: ${{ steps.manage-branches.outputs.create_update_branch_merged_pr }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 @@ -183,7 +183,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 60 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 with: # Required because otherwise there are always changes detected when executing diff/rev-list fetch-depth: 0 From edf902f001242e39b915775d8d7d6f28a571e9ef Mon Sep 17 00:00:00 2001 From: AB Date: Tue, 2 Dec 2025 13:14:14 +0100 Subject: [PATCH 116/141] Add more common numbers --- .config/checkstyle/checkstyle.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index ffbc2a9..b5a4135 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -91,7 +91,7 @@ - + From c8756b9d201ead32afbe5e4e031505da7c2b9c31 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 3 Dec 2025 04:18:05 +0000 Subject: [PATCH 117/141] Update dependency com.puppycrawl.tools:checkstyle to v12.2.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 8eef499..b13f778 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.1.2 + 12.2.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index d6a7ded..6ca6b29 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.1.2 + 12.2.0 From df641394583403a6ce83949d31ae5b46586d5c60 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 3 Dec 2025 04:18:06 +0000 Subject: [PATCH 118/141] Update dependency org.apache.maven.plugins:maven-assembly-plugin to v3.8.0 --- template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index b6ff1fd..05b947b 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -55,7 +55,7 @@ org.apache.maven.plugins maven-assembly-plugin - 3.7.1 + 3.8.0 From 1f1983a64fb1e0a054802e79bc194c603702937b Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 3 Dec 2025 04:18:07 +0000 Subject: [PATCH 119/141] Update dependency org.apache.maven.plugins:maven-source-plugin to v3.4.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index d6a7ded..b8c21a4 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -126,7 +126,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.1 + 3.4.0 attach-sources From 3fcab4287f04880ecb7f89980d5da2c06134cff6 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 3 Dec 2025 04:18:08 +0000 Subject: [PATCH 120/141] Update net.sourceforge.pmd to v7.19.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 8eef499..14c61ce 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.18.0 + 7.19.0 net.sourceforge.pmd pmd-java - 7.18.0 + 7.19.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index d6a7ded..4f5d9ec 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.18.0 + 7.19.0 net.sourceforge.pmd pmd-java - 7.18.0 + 7.19.0 From b7be80a0ffaca6fdb3d3d68bebf98c8c85fd9947 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Fri, 12 Dec 2025 04:23:26 +0000 Subject: [PATCH 121/141] Update actions/cache action to v5 --- .github/workflows/check-build.yml | 10 +++++----- .github/workflows/release.yml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 38497bb..e558a91 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -40,7 +40,7 @@ jobs: java-version: ${{ matrix.java }} - name: Cache Maven - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} @@ -93,7 +93,7 @@ jobs: java-version: ${{ matrix.java }} - name: Cache Maven - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-mvn-checkstyle-${{ hashFiles('**/pom.xml') }} @@ -101,7 +101,7 @@ jobs: ${{ runner.os }}-mvn-checkstyle- - name: CheckStyle Cache - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: '**/target/checkstyle-cachefile' key: ${{ runner.os }}-checkstyle-${{ hashFiles('**/pom.xml') }} @@ -129,7 +129,7 @@ jobs: java-version: ${{ matrix.java }} - name: Cache Maven - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-mvn-pmd-${{ hashFiles('**/pom.xml') }} @@ -137,7 +137,7 @@ jobs: ${{ runner.os }}-mvn-pmd- - name: PMD Cache - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: '**/target/pmd/pmd.cache' key: ${{ runner.os }}-pmd-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0265f2..63c583f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ jobs: # Try to reuse existing cache from check-build - name: Try restore Maven Cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} @@ -179,7 +179,7 @@ jobs: # Try to reuse existing cache from check-build - name: Try restore Maven Cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-mvn-build-${{ hashFiles('**/pom.xml') }} From 94faaa817fcf0586ef2f77ad66fdc582e3cbc5b3 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 13 Dec 2025 04:18:54 +0000 Subject: [PATCH 122/141] Update actions/upload-artifact action to v6 --- .github/workflows/check-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 38497bb..5b1ddcd 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -69,7 +69,7 @@ jobs: fi - name: Upload demo files - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: demo-files-java-${{ matrix.java }} path: ${{ env.DEMO_MAVEN_MODULE }}/target/${{ env.DEMO_MAVEN_MODULE }}.jar @@ -152,7 +152,7 @@ jobs: - name: Upload report if: always() - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: pmd-report if-no-files-found: ignore From 9d0fc14dce5143c432b7674dfdc94b577df1d61c Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sun, 14 Dec 2025 04:26:08 +0000 Subject: [PATCH 123/141] Update dependency com.puppycrawl.tools:checkstyle to v12.3.0 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4ddf0d8..0a33102 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.2.0 + 12.3.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 57263e3..3297464 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.2.0 + 12.3.0 From 5ec11e42f23cba26475630d3685926c828ce73ce Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 17 Dec 2025 04:22:05 +0000 Subject: [PATCH 124/141] Update dependency maven to v3.9.12 --- .mvn/wrapper/maven-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index c0bcafe..8dea6c2 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,3 +1,3 @@ wrapperVersion=3.3.4 distributionType=only-script -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.12/apache-maven-3.9.12-bin.zip From d1732099fc96a89266d96bf10d1b97f6ca68e9e2 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 25 Dec 2025 04:25:20 +0000 Subject: [PATCH 125/141] Update shogo82148/actions-create-release digest to 559c27c --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 63c583f..3f55399 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,7 +91,7 @@ jobs: - name: Create Release id: create-release - uses: shogo82148/actions-create-release@28d99e2a5b407558d17c15d0384fc0d7fb625b4c # v1 + uses: shogo82148/actions-create-release@559c27ce7eb834825e2b55927c64f6d1bd1db716 # v1 with: tag_name: v${{ steps.version.outputs.release }} release_name: v${{ steps.version.outputs.release }} From b8924cfb611d0c61c80ff53bcec7c6f029386c30 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Wed, 31 Dec 2025 04:28:38 +0000 Subject: [PATCH 126/141] Update net.sourceforge.pmd to v7.20.0 --- pom.xml | 4 ++-- template-placeholder/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 0a33102..4f008f6 100644 --- a/pom.xml +++ b/pom.xml @@ -83,12 +83,12 @@ net.sourceforge.pmd pmd-core - 7.19.0 + 7.20.0 net.sourceforge.pmd pmd-java - 7.19.0 + 7.20.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3297464..5c16b70 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -253,12 +253,12 @@ net.sourceforge.pmd pmd-core - 7.19.0 + 7.20.0 net.sourceforge.pmd pmd-java - 7.19.0 + 7.20.0 From 8c4cce7a01a368b3f252b338a5c01bd8a949cdd3 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 5 Jan 2026 04:37:37 +0000 Subject: [PATCH 127/141] Update dependency com.puppycrawl.tools:checkstyle to v13 --- pom.xml | 2 +- template-placeholder/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0a33102..963892d 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ com.puppycrawl.tools checkstyle - 12.3.0 + 13.0.0 diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3297464..ffe73cc 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -215,7 +215,7 @@ com.puppycrawl.tools checkstyle - 12.3.0 + 13.0.0 From 1d1ce1e358bced2d31510629135e7d9dd53bc903 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Thu, 8 Jan 2026 04:27:09 +0000 Subject: [PATCH 128/141] Update dependency org.sonatype.central:central-publishing-maven-plugin to v0.10.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 3297464..6bf68ad 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -193,7 +193,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.9.0 + 0.10.0 true sonatype-central-portal From 8159312aa40e8b4e74625cbf7b7d94dbba10072d Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 12 Jan 2026 09:40:34 +0100 Subject: [PATCH 129/141] Checkstyle now requires Java 21 --- .github/workflows/check-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-build.yml b/.github/workflows/check-build.yml index 9fdeb5a..b1a6d66 100644 --- a/.github/workflows/check-build.yml +++ b/.github/workflows/check-build.yml @@ -81,7 +81,7 @@ jobs: timeout-minutes: 15 strategy: matrix: - java: [17] + java: [21] distribution: [temurin] steps: - uses: actions/checkout@v6 From 628f4713440162468b2d0f7fdcef5986b4394119 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 14 Jan 2026 15:52:03 +0100 Subject: [PATCH 130/141] Do not allow params and vars to end with collection type names Fixes https://github.com/xdev-software/java-setup-template/issues/6 --- .config/checkstyle/checkstyle.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index b5a4135..f0dcc86 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -74,6 +74,11 @@ + + + + + From fff49da9f48d4086c326b1ceed5422f4223ebdb1 Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 14 Jan 2026 16:36:27 +0100 Subject: [PATCH 131/141] PMD: Use a Set instead of a List in entity relations Fixes https://github.com/xdev-software/java-setup-template/issues/5 --- .config/pmd/java/ruleset.xml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.config/pmd/java/ruleset.xml b/.config/pmd/java/ruleset.xml index c057d1a..e96576b 100644 --- a/.config/pmd/java/ruleset.xml +++ b/.config/pmd/java/ruleset.xml @@ -394,6 +394,30 @@ If you are 100% sure that you escaped the value properly and you have no better + + + +`List` allows duplicates while a `Set` does not. +A `Set` also prevents duplicates when the ORM reads multiple identical rows from the database (e.g. when using JOIN). + + 2 + + + + + + + + + From ae8b5b88317ca2cd6df74e92c3fe0ecf92cc017d Mon Sep 17 00:00:00 2001 From: AB Date: Wed, 14 Jan 2026 16:51:29 +0100 Subject: [PATCH 132/141] Update checkstyle-idea.xml --- .idea/checkstyle-idea.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml index ec555b5..a751c41 100644 --- a/.idea/checkstyle-idea.xml +++ b/.idea/checkstyle-idea.xml @@ -1,7 +1,7 @@ - 11.0.0 + 13.0.0 JavaOnlyWithTests true true From 43e1272ebeab136234afadf89bc73789f7d1a94e Mon Sep 17 00:00:00 2001 From: AB Date: Thu, 15 Jan 2026 09:11:40 +0100 Subject: [PATCH 133/141] Fix Todo comment detection --- .config/checkstyle/checkstyle.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index f0dcc86..da11683 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -127,7 +127,10 @@ - + + + + From 8f54163363b15bb2266df7ef78fe5fb324120b17 Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 16 Jan 2026 08:43:40 +0100 Subject: [PATCH 134/141] Look for TODOs case INsensitive --- .config/checkstyle/checkstyle.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/checkstyle/checkstyle.xml b/.config/checkstyle/checkstyle.xml index da11683..463a629 100644 --- a/.config/checkstyle/checkstyle.xml +++ b/.config/checkstyle/checkstyle.xml @@ -129,7 +129,7 @@ - + From 4466c20fa4fc7116b9e737403a51e3a6466634dc Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 17 Jan 2026 04:23:21 +0000 Subject: [PATCH 135/141] Update log4j2-version to v2.25.3 --- template-placeholder-demo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder-demo/pom.xml b/template-placeholder-demo/pom.xml index 9253a4e..c1db62a 100644 --- a/template-placeholder-demo/pom.xml +++ b/template-placeholder-demo/pom.xml @@ -28,7 +28,7 @@ software.xdev.Application - 2.25.2 + 2.25.3 From c8f3715b3af5412dbeab7b85eda9033e76e8998c Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 17 Jan 2026 04:23:23 +0000 Subject: [PATCH 136/141] Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.6 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 0a67325..6553cb4 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -68,7 +68,7 @@ org.apache.httpcomponents.client5 httpclient5 - 5.5.1 + 5.6 From 54861dae8fd3d9742e16c4a8ce07a76415daa4d2 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 17 Jan 2026 04:23:24 +0000 Subject: [PATCH 137/141] Update dependency org.apache.maven.plugins:maven-resources-plugin to v3.4.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 0a67325..6edebce 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -355,7 +355,7 @@ org.apache.maven.plugins maven-resources-plugin - 3.3.1 + 3.4.0 copy-generated-resources From 1e951545a1a685e9cbbcf1a3a6202643079063e4 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Sat, 17 Jan 2026 04:23:26 +0000 Subject: [PATCH 138/141] Update dependency org.openapitools:openapi-generator-maven-plugin to v7.18.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 0a67325..fd97d66 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -319,7 +319,7 @@ org.openapitools openapi-generator-maven-plugin - 7.17.0 + 7.18.0 From 703c80a1598aebfd7f704fd83b5037d014890661 Mon Sep 17 00:00:00 2001 From: XDEV Renovate Bot Date: Mon, 19 Jan 2026 04:34:19 +0000 Subject: [PATCH 139/141] Update dependency com.fasterxml.jackson:jackson-bom to v2.21.0 --- template-placeholder/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template-placeholder/pom.xml b/template-placeholder/pom.xml index 0a67325..0bee31a 100644 --- a/template-placeholder/pom.xml +++ b/template-placeholder/pom.xml @@ -56,7 +56,7 @@ com.fasterxml.jackson jackson-bom - 2.20.1 + 2.21.0 pom import From 2c53b7c1e7aba3a094e226605413ccde84ba5ace Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 19 Jan 2026 09:44:22 +0100 Subject: [PATCH 140/141] Regenerate API --- .../software/xdev/sessionize/api/AllApi.java | 4 +- .../xdev/sessionize/api/SessionsApi.java | 4 +- .../xdev/sessionize/api/SpeakersApi.java | 8 +- .../xdev/sessionize/client/ApiClient.java | 47 ++++---- .../xdev/sessionize/client/Configuration.java | 66 +++++++---- .../sessionize/client/JavaTimeFormatter.java | 74 +++++++------ .../software/xdev/sessionize/client/Pair.java | 50 +++------ .../client/RFC3339InstantDeserializer.java | 98 +++++++++++++++++ .../client/RFC3339JavaTimeModule.java | 36 ++++++ .../client/auth/Authentication.java | 16 +-- .../client/auth/HttpBearerAuth.java | 10 +- .../xdev/sessionize/model/AllResult.java | 40 +++---- .../xdev/sessionize/model/BaseCategory.java | 12 +- .../xdev/sessionize/model/BaseSession.java | 74 ++++++------- .../xdev/sessionize/model/BaseSpeaker.java | 56 +++++----- .../model/BaseSpeakerEssential.java | 18 +-- .../xdev/sessionize/model/CategoryAll.java | 32 +++--- .../xdev/sessionize/model/CategoryItem.java | 12 +- .../sessionize/model/CategoryItemAll.java | 18 +-- .../sessionize/model/CategorySession.java | 26 ++--- .../software/xdev/sessionize/model/Link.java | 18 +-- .../xdev/sessionize/model/Question.java | 24 ++-- .../xdev/sessionize/model/QuestionAnswer.java | 12 +- .../sessionize/model/QuestionAnswerFull.java | 30 ++--- .../software/xdev/sessionize/model/Room.java | 18 +-- .../xdev/sessionize/model/Session.java | 104 +++++++++--------- .../xdev/sessionize/model/SessionAll.java | 90 +++++++-------- .../xdev/sessionize/model/SessionGroup.java | 26 ++--- .../xdev/sessionize/model/SessionMinimal.java | 12 +- .../xdev/sessionize/model/Speaker.java | 72 ++++++------ .../xdev/sessionize/model/SpeakerAll.java | 72 ++++++------ .../xdev/sessionize/model/SpeakerMinimal.java | 12 +- .../sessionize/model/SpeakerWithEmail.java | 24 ++-- .../xdev/sessionize/model/Status.java | 2 +- 34 files changed, 678 insertions(+), 539 deletions(-) create mode 100644 sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java create mode 100644 sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java index 1168bb9..d394fc4 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/AllApi.java @@ -47,7 +47,7 @@ public AllApi(ApiClient apiClient) { * @return AllResult * @throws ApiException if fails to make API call */ - public AllResult getAll(String endpointId) throws ApiException { + public AllResult getAll(@jakarta.annotation.Nonnull String endpointId) throws ApiException { return this.getAll(endpointId, Collections.emptyMap()); } @@ -60,7 +60,7 @@ public AllResult getAll(String endpointId) throws ApiException { * @return AllResult * @throws ApiException if fails to make API call */ - public AllResult getAll(String endpointId, Map additionalHeaders) throws ApiException { + public AllResult getAll(@jakarta.annotation.Nonnull String endpointId, Map additionalHeaders) throws ApiException { Object localVarPostBody = null; // verify the required parameter 'endpointId' is set diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java index 52d94e3..412f5df 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SessionsApi.java @@ -47,7 +47,7 @@ public SessionsApi(ApiClient apiClient) { * @return List<SessionGroup> * @throws ApiException if fails to make API call */ - public List getAllSessions(String endpointId) throws ApiException { + public List getAllSessions(@jakarta.annotation.Nonnull String endpointId) throws ApiException { return this.getAllSessions(endpointId, Collections.emptyMap()); } @@ -60,7 +60,7 @@ public List getAllSessions(String endpointId) throws ApiException * @return List<SessionGroup> * @throws ApiException if fails to make API call */ - public List getAllSessions(String endpointId, Map additionalHeaders) throws ApiException { + public List getAllSessions(@jakarta.annotation.Nonnull String endpointId, Map additionalHeaders) throws ApiException { Object localVarPostBody = null; // verify the required parameter 'endpointId' is set diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java index 79b3e7d..c402afd 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/api/SpeakersApi.java @@ -48,7 +48,7 @@ public SpeakersApi(ApiClient apiClient) { * @return List<Speaker> * @throws ApiException if fails to make API call */ - public List getAllSpeakers(String endpointId) throws ApiException { + public List getAllSpeakers(@jakarta.annotation.Nonnull String endpointId) throws ApiException { return this.getAllSpeakers(endpointId, Collections.emptyMap()); } @@ -61,7 +61,7 @@ public List getAllSpeakers(String endpointId) throws ApiException { * @return List<Speaker> * @throws ApiException if fails to make API call */ - public List getAllSpeakers(String endpointId, Map additionalHeaders) throws ApiException { + public List getAllSpeakers(@jakarta.annotation.Nonnull String endpointId, Map additionalHeaders) throws ApiException { Object localVarPostBody = null; // verify the required parameter 'endpointId' is set @@ -124,7 +124,7 @@ public List getAllSpeakers(String endpointId, Map addit * @return List<SpeakerWithEmail> * @throws ApiException if fails to make API call */ - public List getAllSpeakersEmails(String endpointId, String s) throws ApiException { + public List getAllSpeakersEmails(@jakarta.annotation.Nonnull String endpointId, @jakarta.annotation.Nonnull String s) throws ApiException { return this.getAllSpeakersEmails(endpointId, s, Collections.emptyMap()); } @@ -138,7 +138,7 @@ public List getAllSpeakersEmails(String endpointId, String s) * @return List<SpeakerWithEmail> * @throws ApiException if fails to make API call */ - public List getAllSpeakersEmails(String endpointId, String s, Map additionalHeaders) throws ApiException { + public List getAllSpeakersEmails(@jakarta.annotation.Nonnull String endpointId, @jakarta.annotation.Nonnull String s, Map additionalHeaders) throws ApiException { Object localVarPostBody = null; // verify the required parameter 'endpointId' is set diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java index b658caf..5d709e9 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/ApiClient.java @@ -56,7 +56,6 @@ import java.util.Date; import java.util.function.Supplier; import java.util.TimeZone; -import java.util.concurrent.ConcurrentHashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -80,9 +79,9 @@ import software.xdev.sessionize.client.auth.Authentication; public class ApiClient extends JavaTimeFormatter { - private Map defaultHeaderMap = new HashMap(); - private Map defaultCookieMap = new HashMap(); - private String basePath = "https://sessionize.com"; + protected Map defaultHeaderMap = new HashMap(); + protected Map defaultCookieMap = new HashMap(); + protected String basePath = "https://sessionize.com"; protected List servers = new ArrayList(Arrays.asList( new ServerConfiguration( "https://sessionize.com", @@ -92,22 +91,22 @@ public class ApiClient extends JavaTimeFormatter { )); protected Integer serverIndex = 0; protected Map serverVariables = null; - private boolean debugging = false; - private int connectionTimeout = 0; + protected boolean debugging = false; + protected int connectionTimeout = 0; - private CloseableHttpClient httpClient; - private ObjectMapper objectMapper; + protected CloseableHttpClient httpClient; + protected ObjectMapper objectMapper; protected String tempFolderPath = null; - private Map authentications; + protected Map authentications; - private Map lastStatusCodeByThread = new ConcurrentHashMap<>(); - private Map>> lastResponseHeadersByThread = new ConcurrentHashMap<>(); + protected ThreadLocal lastStatusCode = new ThreadLocal<>(); + protected ThreadLocal>> lastResponseHeaders = new ThreadLocal<>(); - private DateFormat dateFormat; + protected DateFormat dateFormat; // Methods that can have a request body - private static List bodyMethods = Arrays.asList("POST", "PUT", "DELETE", "PATCH"); + protected static List bodyMethods = Arrays.asList("POST", "PUT", "DELETE", "PATCH"); public ApiClient(CloseableHttpClient httpClient) { objectMapper = new ObjectMapper(); @@ -119,6 +118,7 @@ public ApiClient(CloseableHttpClient httpClient) { objectMapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING); objectMapper.registerModule(new JavaTimeModule()); objectMapper.registerModule(new JsonNullableModule()); + objectMapper.registerModule(new RFC3339JavaTimeModule()); objectMapper.setDateFormat(ApiClient.buildDefaultDateFormat()); dateFormat = ApiClient.buildDefaultDateFormat(); @@ -248,7 +248,7 @@ public ApiClient setServerVariables(Map serverVariables) { */ @Deprecated public int getStatusCode() { - return lastStatusCodeByThread.get(Thread.currentThread().getId()); + return lastStatusCode.get(); } /** @@ -257,7 +257,7 @@ public int getStatusCode() { */ @Deprecated public Map> getResponseHeaders() { - return lastResponseHeadersByThread.get(Thread.currentThread().getId()); + return lastResponseHeaders.get(); } /** @@ -320,7 +320,7 @@ public ApiClient setTempFolderPath(String tempFolderPath) { * @param value The header's value * @return API client */ - public ApiClient addDefaultHeader(String key, String value) { + public final ApiClient addDefaultHeader(String key, String value) { defaultHeaderMap.put(key, value); return this; } @@ -610,7 +610,7 @@ protected Map> transformResponseHeaders(Header[] headers) { /** * Parse content type object from header value */ - private ContentType getContentType(String headerValue) throws ApiException { + protected ContentType getContentType(String headerValue) throws ApiException { try { return ContentType.parse(headerValue); } catch (UnsupportedCharsetException e) { @@ -621,7 +621,7 @@ private ContentType getContentType(String headerValue) throws ApiException { /** * Get content type of a response or null if one was not provided */ - private String getResponseMimeType(HttpResponse response) throws ApiException { + protected String getResponseMimeType(HttpResponse response) throws ApiException { Header contentTypeHeader = response.getFirstHeader("Content-Type"); if (contentTypeHeader != null) { return getContentType(contentTypeHeader.getValue()).getMimeType(); @@ -730,7 +730,7 @@ public T deserialize(CloseableHttpResponse response, TypeReference valueT } } - private File downloadFileFromResponse(CloseableHttpResponse response) throws IOException { + protected File downloadFileFromResponse(CloseableHttpResponse response) throws IOException { Header contentDispositionHeader = response.getFirstHeader("Content-Disposition"); String contentDisposition = contentDispositionHeader == null ? null : contentDispositionHeader.getValue(); File file = prepareDownloadFile(contentDisposition); @@ -782,6 +782,7 @@ public String getBaseURL() { if (serverIndex != null) { if (serverIndex < 0 || serverIndex >= servers.size()) { throw new ArrayIndexOutOfBoundsException(String.format( + java.util.Locale.ROOT, "Invalid index %d when selecting the host settings. Must be less than %d", serverIndex, servers.size() )); } @@ -801,7 +802,7 @@ public String getBaseURL() { * @param urlQueryDeepObject URL query string of the deep object parameters * @return The full URL */ - private String buildUrl(String path, List queryParams, List collectionQueryParams, String urlQueryDeepObject) { + protected String buildUrl(String path, List queryParams, List collectionQueryParams, String urlQueryDeepObject) { String baseURL = getBaseURL(); final StringBuilder url = new StringBuilder(); @@ -867,13 +868,13 @@ protected Cookie buildCookie(String key, String value, URI uri) { protected T processResponse(CloseableHttpResponse response, TypeReference returnType) throws ApiException, IOException, ParseException { int statusCode = response.getCode(); - lastStatusCodeByThread.put(Thread.currentThread().getId(), statusCode); + lastStatusCode.set(statusCode); if (statusCode == HttpStatus.SC_NO_CONTENT) { return null; } Map> responseHeaders = transformResponseHeaders(response.getHeaders()); - lastResponseHeadersByThread.put(Thread.currentThread().getId(), responseHeaders); + lastResponseHeaders.set(responseHeaders); if (isSuccessfulStatus(statusCode)) { return this.deserialize(response, returnType); @@ -980,7 +981,7 @@ public T invokeAPI( * @param headerParams Header parameters * @param cookieParams Cookie parameters */ - private void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams, Map cookieParams) { + protected void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams, Map cookieParams) { for (String authName : authNames) { Authentication auth = authentications.get(authName); if (auth == null) throw new RuntimeException("Authentication undefined: " + authName); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java index 221042c..881269a 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Configuration.java @@ -13,28 +13,50 @@ package software.xdev.sessionize.client; +import java.util.Objects; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; + public class Configuration { - public static final String VERSION = "2.0"; - - private static volatile ApiClient defaultApiClient = new ApiClient(); - - /** - * Get the default API client, which would be used when creating API - * instances without providing an API client. - * - * @return Default API client - */ - public static ApiClient getDefaultApiClient() { - return defaultApiClient; - } + public static final String VERSION = "2.0"; + + private static final AtomicReference defaultApiClient = new AtomicReference<>(); + private static volatile Supplier apiClientFactory = ApiClient::new; - /** - * Set the default API client, which would be used when creating API - * instances without providing an API client. - * - * @param apiClient API client - */ - public static void setDefaultApiClient(ApiClient apiClient) { - defaultApiClient = apiClient; + /** + * Get the default API client, which would be used when creating API instances without providing an API client. + * + * @return Default API client + */ + public static ApiClient getDefaultApiClient() { + ApiClient client = defaultApiClient.get(); + if (client == null) { + client = defaultApiClient.updateAndGet(val -> { + if (val != null) { // changed by another thread + return val; + } + return apiClientFactory.get(); + }); } -} + return client; + } + + /** + * Set the default API client, which would be used when creating API instances without providing an API client. + * + * @param apiClient API client + */ + public static void setDefaultApiClient(ApiClient apiClient) { + defaultApiClient.set(apiClient); + } + + /** + * set the callback used to create new ApiClient objects + */ + public static void setApiClientFactory(Supplier factory) { + apiClientFactory = Objects.requireNonNull(factory); + } + + private Configuration() { + } +} \ No newline at end of file diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java index d15b1b5..20ed221 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/JavaTimeFormatter.java @@ -21,43 +21,47 @@ * It's generated for java clients when {@code AbstractJavaCodegen#dateLibrary} specified as {@code java8}. */ public class JavaTimeFormatter { + private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; - private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; + /** + * Get the date format used to parse/format {@code OffsetDateTime} parameters. + * + * @return DateTimeFormatter + */ + public DateTimeFormatter getOffsetDateTimeFormatter() { + return offsetDateTimeFormatter; + } - /** - * Get the date format used to parse/format {@code OffsetDateTime} parameters. - * @return DateTimeFormatter - */ - public DateTimeFormatter getOffsetDateTimeFormatter() { - return offsetDateTimeFormatter; - } + /** + * Set the date format used to parse/format {@code OffsetDateTime} parameters. + * + * @param offsetDateTimeFormatter {@code DateTimeFormatter} + */ + public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) { + this.offsetDateTimeFormatter = offsetDateTimeFormatter; + } - /** - * Set the date format used to parse/format {@code OffsetDateTime} parameters. - * @param offsetDateTimeFormatter {@code DateTimeFormatter} - */ - public void setOffsetDateTimeFormatter(DateTimeFormatter offsetDateTimeFormatter) { - this.offsetDateTimeFormatter = offsetDateTimeFormatter; + /** + * Parse the given string into {@code OffsetDateTime} object. + * + * @param str String + * @return {@code OffsetDateTime} + */ + public OffsetDateTime parseOffsetDateTime(String str) { + try { + return OffsetDateTime.parse(str, offsetDateTimeFormatter); + } catch (DateTimeParseException e) { + throw new RuntimeException(e); } + } - /** - * Parse the given string into {@code OffsetDateTime} object. - * @param str String - * @return {@code OffsetDateTime} - */ - public OffsetDateTime parseOffsetDateTime(String str) { - try { - return OffsetDateTime.parse(str, offsetDateTimeFormatter); - } catch (DateTimeParseException e) { - throw new RuntimeException(e); - } - } - /** - * Format the given {@code OffsetDateTime} object into string. - * @param offsetDateTime {@code OffsetDateTime} - * @return {@code OffsetDateTime} in string format - */ - public String formatOffsetDateTime(OffsetDateTime offsetDateTime) { - return offsetDateTimeFormatter.format(offsetDateTime); - } -} + /** + * Format the given {@code OffsetDateTime} object into string. + * + * @param offsetDateTime {@code OffsetDateTime} + * @return {@code OffsetDateTime} in string format + */ + public String formatOffsetDateTime(OffsetDateTime offsetDateTime) { + return offsetDateTimeFormatter.format(offsetDateTime); + } +} \ No newline at end of file diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java index 3338a31..3a662f5 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/Pair.java @@ -14,43 +14,23 @@ package software.xdev.sessionize.client; public class Pair { - private String name = ""; - private String value = ""; + private final String name; + private final String value; - public Pair (String name, String value) { - setName(name); - setValue(value); - } + public Pair(String name, String value) { + this.name = isValidString(name) ? name : ""; + this.value = isValidString(value) ? value : ""; + } - private void setName(String name) { - if (!isValidString(name)) { - return; - } + public String getName() { + return this.name; + } - this.name = name; - } + public String getValue() { + return this.value; + } - private void setValue(String value) { - if (!isValidString(value)) { - return; - } - - this.value = value; - } - - public String getName() { - return this.name; - } - - public String getValue() { - return this.value; - } - - private boolean isValidString(String arg) { - if (arg == null) { - return false; - } - - return true; - } + private static boolean isValidString(String arg) { + return arg != null; + } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java new file mode 100644 index 0000000..1b3b9df --- /dev/null +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339InstantDeserializer.java @@ -0,0 +1,98 @@ +/* + * Sessionize JSON-REST API + * Sessionize JSON-REST API documentation by XDEV Software + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package software.xdev.sessionize.client; + +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.Temporal; +import java.time.temporal.TemporalAccessor; +import java.util.function.BiFunction; +import java.util.function.Function; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature; +import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer; + +public class RFC3339InstantDeserializer extends InstantDeserializer { + private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault(); + private final static boolean DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS + = JavaTimeFeature.ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS.enabledByDefault(); + + public static final RFC3339InstantDeserializer INSTANT = new RFC3339InstantDeserializer<>( + Instant.class, DateTimeFormatter.ISO_INSTANT, + Instant::from, + a -> Instant.ofEpochMilli( a.value ), + a -> Instant.ofEpochSecond( a.integer, a.fraction ), + null, + true, // yes, replace zero offset with Z + DEFAULT_NORMALIZE_ZONE_ID, + DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS + ); + + public static final RFC3339InstantDeserializer OFFSET_DATE_TIME = new RFC3339InstantDeserializer<>( + OffsetDateTime.class, DateTimeFormatter.ISO_OFFSET_DATE_TIME, + OffsetDateTime::from, + a -> OffsetDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ), + a -> OffsetDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ), + (d, z) -> ( d.isEqual( OffsetDateTime.MIN ) || d.isEqual( OffsetDateTime.MAX ) ? + d : + d.withOffsetSameInstant( z.getRules().getOffset( d.toLocalDateTime() ) ) ), + true, // yes, replace zero offset with Z + DEFAULT_NORMALIZE_ZONE_ID, + DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS + ); + + public static final RFC3339InstantDeserializer ZONED_DATE_TIME = new RFC3339InstantDeserializer<>( + ZonedDateTime.class, DateTimeFormatter.ISO_ZONED_DATE_TIME, + ZonedDateTime::from, + a -> ZonedDateTime.ofInstant( Instant.ofEpochMilli( a.value ), a.zoneId ), + a -> ZonedDateTime.ofInstant( Instant.ofEpochSecond( a.integer, a.fraction ), a.zoneId ), + ZonedDateTime::withZoneSameInstant, + false, // keep zero offset and Z separate since zones explicitly supported + DEFAULT_NORMALIZE_ZONE_ID, + DEFAULT_ALWAYS_ALLOW_STRINGIFIED_DATE_TIMESTAMPS + ); + + protected RFC3339InstantDeserializer( + Class supportedType, + DateTimeFormatter formatter, + Function parsedToValue, + Function fromMilliseconds, + Function fromNanoseconds, + BiFunction adjust, + boolean replaceZeroOffsetAsZ, + boolean normalizeZoneId, + boolean readNumericStringsAsTimestamp) { + super( + supportedType, + formatter, + parsedToValue, + fromMilliseconds, + fromNanoseconds, + adjust, + replaceZeroOffsetAsZ, + normalizeZoneId, + readNumericStringsAsTimestamp + ); + } + + @Override + protected T _fromString(JsonParser p, DeserializationContext ctxt, String string0) throws IOException { + return super._fromString(p, ctxt, string0.replace( ' ', 'T' )); + } +} \ No newline at end of file diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java new file mode 100644 index 0000000..cec4e8b --- /dev/null +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/RFC3339JavaTimeModule.java @@ -0,0 +1,36 @@ +/* + * Sessionize JSON-REST API + * Sessionize JSON-REST API documentation by XDEV Software + * + * The version of the OpenAPI document: 2.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package software.xdev.sessionize.client; + +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZonedDateTime; + +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.Module.SetupContext; + +public class RFC3339JavaTimeModule extends SimpleModule { + public RFC3339JavaTimeModule() { + super("RFC3339JavaTimeModule"); + } + + @Override + public void setupModule(SetupContext context) { + super.setupModule(context); + + addDeserializer(Instant.class, RFC3339InstantDeserializer.INSTANT); + addDeserializer(OffsetDateTime.class, RFC3339InstantDeserializer.OFFSET_DATE_TIME); + addDeserializer(ZonedDateTime.class, RFC3339InstantDeserializer.ZONED_DATE_TIME); + } + +} diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java index 761305d..06c25e7 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/Authentication.java @@ -19,12 +19,12 @@ import java.util.List; public interface Authentication { - /** - * Apply authentication settings to header and query params. - * - * @param queryParams List of query parameters - * @param headerParams Map of header parameters - * @param cookieParams Map of cookie parameters - */ - void applyToParams(List queryParams, Map headerParams, Map cookieParams); + /** + * Apply authentication settings to header and query params. + * + * @param queryParams List of query parameters + * @param headerParams Map of header parameters + * @param cookieParams Map of cookie parameters + */ + void applyToParams(List queryParams, Map headerParams, Map cookieParams); } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java index ba4843d..bd03c64 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/client/auth/HttpBearerAuth.java @@ -17,7 +17,6 @@ import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.function.Supplier; public class HttpBearerAuth implements Authentication { @@ -25,7 +24,7 @@ public class HttpBearerAuth implements Authentication { private Supplier tokenSupplier; public HttpBearerAuth(String scheme) { - this.scheme = scheme; + this.scheme = upperCaseBearer(scheme); } /** @@ -57,15 +56,14 @@ public void setBearerToken(Supplier tokenSupplier) { @Override public void applyToParams(List queryParams, Map headerParams, Map cookieParams) { - String bearerToken = Optional.ofNullable(tokenSupplier).map(Supplier::get).orElse(null); + String bearerToken = tokenSupplier != null ? tokenSupplier.get() : null; if (bearerToken == null) { return; } - - headerParams.put("Authorization", (scheme != null ? upperCaseBearer(scheme) + " " : "") + bearerToken); + headerParams.put("Authorization", (scheme != null ? scheme + " " : "") + bearerToken); } private static String upperCaseBearer(String scheme) { - return ("bearer".equalsIgnoreCase(scheme)) ? "Bearer" : scheme; + return "bearer".equalsIgnoreCase(scheme) ? "Bearer" : scheme; } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java index d4b7ffc..1fcd8da 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/AllResult.java @@ -87,7 +87,7 @@ public AllResult addSessionsItem(SessionAll sessionsItem) { * @return sessions */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSessions() { @@ -95,7 +95,7 @@ public List getSessions() { } - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSessions(@jakarta.annotation.Nonnull List sessions) { this.sessions = sessions; @@ -120,7 +120,7 @@ public AllResult addSpeakersItem(SpeakerAll speakersItem) { * @return speakers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSpeakers() { @@ -128,7 +128,7 @@ public List getSpeakers() { } - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSpeakers(@jakarta.annotation.Nonnull List speakers) { this.speakers = speakers; @@ -153,7 +153,7 @@ public AllResult addQuestionsItem(Question questionsItem) { * @return questions */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTIONS) + @JsonProperty(value = JSON_PROPERTY_QUESTIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getQuestions() { @@ -161,7 +161,7 @@ public List getQuestions() { } - @JsonProperty(JSON_PROPERTY_QUESTIONS) + @JsonProperty(value = JSON_PROPERTY_QUESTIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestions(@jakarta.annotation.Nonnull List questions) { this.questions = questions; @@ -186,7 +186,7 @@ public AllResult addCategoriesItem(CategoryAll categoriesItem) { * @return categories */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORIES) + @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategories() { @@ -194,7 +194,7 @@ public List getCategories() { } - @JsonProperty(JSON_PROPERTY_CATEGORIES) + @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategories(@jakarta.annotation.Nonnull List categories) { this.categories = categories; @@ -219,7 +219,7 @@ public AllResult addRoomsItem(Room roomsItem) { * @return rooms */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ROOMS) + @JsonProperty(value = JSON_PROPERTY_ROOMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getRooms() { @@ -227,7 +227,7 @@ public List getRooms() { } - @JsonProperty(JSON_PROPERTY_ROOMS) + @JsonProperty(value = JSON_PROPERTY_ROOMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setRooms(@jakarta.annotation.Nonnull List rooms) { this.rooms = rooms; @@ -314,8 +314,8 @@ public String toUrlQueryString(String prefix) { if (getSessions() != null) { for (int i = 0; i < getSessions().size(); i++) { if (getSessions().get(i) != null) { - joiner.add(getSessions().get(i).toUrlQueryString(String.format("%ssessions%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getSessions().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%ssessions%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -324,8 +324,8 @@ public String toUrlQueryString(String prefix) { if (getSpeakers() != null) { for (int i = 0; i < getSpeakers().size(); i++) { if (getSpeakers().get(i) != null) { - joiner.add(getSpeakers().get(i).toUrlQueryString(String.format("%sspeakers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getSpeakers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sspeakers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -334,8 +334,8 @@ public String toUrlQueryString(String prefix) { if (getQuestions() != null) { for (int i = 0; i < getQuestions().size(); i++) { if (getQuestions().get(i) != null) { - joiner.add(getQuestions().get(i).toUrlQueryString(String.format("%squestions%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getQuestions().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%squestions%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -344,8 +344,8 @@ public String toUrlQueryString(String prefix) { if (getCategories() != null) { for (int i = 0; i < getCategories().size(); i++) { if (getCategories().get(i) != null) { - joiner.add(getCategories().get(i).toUrlQueryString(String.format("%scategories%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getCategories().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%scategories%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -354,8 +354,8 @@ public String toUrlQueryString(String prefix) { if (getRooms() != null) { for (int i = 0; i < getRooms().size(); i++) { if (getRooms().get(i) != null) { - joiner.add(getRooms().get(i).toUrlQueryString(String.format("%srooms%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getRooms().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%srooms%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java index 2f43f43..fe7642c 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseCategory.java @@ -56,7 +56,7 @@ public BaseCategory id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -64,7 +64,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -81,7 +81,7 @@ public BaseCategory sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -89,7 +89,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -169,7 +169,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -179,7 +179,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java index f1686e9..41eb917 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSession.java @@ -116,7 +116,7 @@ public BaseSession id(@jakarta.annotation.Nonnull String id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getId() { @@ -124,7 +124,7 @@ public String getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull String id) { this.id = id; @@ -141,7 +141,7 @@ public BaseSession title(@jakarta.annotation.Nonnull String title) { * @return title */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTitle() { @@ -149,7 +149,7 @@ public String getTitle() { } - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTitle(@jakarta.annotation.Nonnull String title) { this.title = title; @@ -172,14 +172,14 @@ public String getDescription() { return description.orElse(null); } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getDescription_JsonNullable() { return description; } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) public void setDescription_JsonNullable(JsonNullable description) { this.description = description; } @@ -199,7 +199,7 @@ public BaseSession startsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt * @return startsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getStartsAt() { @@ -207,7 +207,7 @@ public OffsetDateTime getStartsAt() { } - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStartsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt) { this.startsAt = startsAt; @@ -224,7 +224,7 @@ public BaseSession endsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { * @return endsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getEndsAt() { @@ -232,7 +232,7 @@ public OffsetDateTime getEndsAt() { } - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setEndsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { this.endsAt = endsAt; @@ -249,7 +249,7 @@ public BaseSession isServiceSession(@jakarta.annotation.Nonnull Boolean isServic * @return isServiceSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsServiceSession() { @@ -257,7 +257,7 @@ public Boolean getIsServiceSession() { } - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsServiceSession(@jakarta.annotation.Nonnull Boolean isServiceSession) { this.isServiceSession = isServiceSession; @@ -274,7 +274,7 @@ public BaseSession isPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumS * @return isPlenumSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsPlenumSession() { @@ -282,7 +282,7 @@ public Boolean getIsPlenumSession() { } - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumSession) { this.isPlenumSession = isPlenumSession; @@ -307,7 +307,7 @@ public BaseSession addCategoryItemsItem(Integer categoryItemsItem) { * @return categoryItems */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategoryItems() { @@ -315,7 +315,7 @@ public List getCategoryItems() { } - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategoryItems(@jakarta.annotation.Nonnull List categoryItems) { this.categoryItems = categoryItems; @@ -332,7 +332,7 @@ public BaseSession roomId(@jakarta.annotation.Nullable Integer roomId) { * @return roomId */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getRoomId() { @@ -340,7 +340,7 @@ public Integer getRoomId() { } - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setRoomId(@jakarta.annotation.Nullable Integer roomId) { this.roomId = roomId; @@ -363,14 +363,14 @@ public URI getLiveUrl() { return liveUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getLiveUrl_JsonNullable() { return liveUrl; } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) public void setLiveUrl_JsonNullable(JsonNullable liveUrl) { this.liveUrl = liveUrl; } @@ -396,14 +396,14 @@ public URI getRecordingUrl() { return recordingUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getRecordingUrl_JsonNullable() { return recordingUrl; } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) public void setRecordingUrl_JsonNullable(JsonNullable recordingUrl) { this.recordingUrl = recordingUrl; } @@ -423,7 +423,7 @@ public BaseSession status(@jakarta.annotation.Nonnull Status status) { * @return status */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Status getStatus() { @@ -431,7 +431,7 @@ public Status getStatus() { } - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStatus(@jakarta.annotation.Nonnull Status status) { this.status = status; @@ -542,7 +542,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -552,7 +552,7 @@ public String toUrlQueryString(String prefix) { // add `title` to the URL query string if (getTitle() != null) { try { - joiner.add(String.format("%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -562,7 +562,7 @@ public String toUrlQueryString(String prefix) { // add `description` to the URL query string if (getDescription() != null) { try { - joiner.add(String.format("%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -572,7 +572,7 @@ public String toUrlQueryString(String prefix) { // add `startsAt` to the URL query string if (getStartsAt() != null) { try { - joiner.add(String.format("%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -582,7 +582,7 @@ public String toUrlQueryString(String prefix) { // add `endsAt` to the URL query string if (getEndsAt() != null) { try { - joiner.add(String.format("%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -592,7 +592,7 @@ public String toUrlQueryString(String prefix) { // add `isServiceSession` to the URL query string if (getIsServiceSession() != null) { try { - joiner.add(String.format("%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -602,7 +602,7 @@ public String toUrlQueryString(String prefix) { // add `isPlenumSession` to the URL query string if (getIsPlenumSession() != null) { try { - joiner.add(String.format("%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -613,8 +613,8 @@ public String toUrlQueryString(String prefix) { if (getCategoryItems() != null) { for (int i = 0; i < getCategoryItems().size(); i++) { try { - joiner.add(String.format("%scategoryItems%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + joiner.add(String.format(java.util.Locale.ROOT, "%scategoryItems%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), URLEncoder.encode(String.valueOf(getCategoryItems().get(i)), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported @@ -626,7 +626,7 @@ public String toUrlQueryString(String prefix) { // add `roomId` to the URL query string if (getRoomId() != null) { try { - joiner.add(String.format("%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -636,7 +636,7 @@ public String toUrlQueryString(String prefix) { // add `liveUrl` to the URL query string if (getLiveUrl() != null) { try { - joiner.add(String.format("%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -646,7 +646,7 @@ public String toUrlQueryString(String prefix) { // add `recordingUrl` to the URL query string if (getRecordingUrl() != null) { try { - joiner.add(String.format("%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -656,7 +656,7 @@ public String toUrlQueryString(String prefix) { // add `status` to the URL query string if (getStatus() != null) { try { - joiner.add(String.format("%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java index 22e8305..4d28a9e 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeaker.java @@ -101,7 +101,7 @@ public BaseSpeaker id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -109,7 +109,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -126,7 +126,7 @@ public BaseSpeaker firstName(@jakarta.annotation.Nonnull String firstName) { * @return firstName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFirstName() { @@ -134,7 +134,7 @@ public String getFirstName() { } - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFirstName(@jakarta.annotation.Nonnull String firstName) { this.firstName = firstName; @@ -151,7 +151,7 @@ public BaseSpeaker lastName(@jakarta.annotation.Nonnull String lastName) { * @return lastName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLastName() { @@ -159,7 +159,7 @@ public String getLastName() { } - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLastName(@jakarta.annotation.Nonnull String lastName) { this.lastName = lastName; @@ -182,14 +182,14 @@ public String getBio() { return bio.orElse(null); } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getBio_JsonNullable() { return bio; } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) public void setBio_JsonNullable(JsonNullable bio) { this.bio = bio; } @@ -209,7 +209,7 @@ public BaseSpeaker tagLine(@jakarta.annotation.Nullable String tagLine) { * @return tagLine */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTagLine() { @@ -217,7 +217,7 @@ public String getTagLine() { } - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTagLine(@jakarta.annotation.Nullable String tagLine) { this.tagLine = tagLine; @@ -240,14 +240,14 @@ public URI getProfilePicture() { return profilePicture.orElse(null); } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getProfilePicture_JsonNullable() { return profilePicture; } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) public void setProfilePicture_JsonNullable(JsonNullable profilePicture) { this.profilePicture = profilePicture; } @@ -267,7 +267,7 @@ public BaseSpeaker isTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker * @return isTopSpeaker */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsTopSpeaker() { @@ -275,7 +275,7 @@ public Boolean getIsTopSpeaker() { } - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker) { this.isTopSpeaker = isTopSpeaker; @@ -300,7 +300,7 @@ public BaseSpeaker addLinksItem(Link linksItem) { * @return links */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getLinks() { @@ -308,7 +308,7 @@ public List getLinks() { } - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLinks(@jakarta.annotation.Nonnull List links) { this.links = links; @@ -325,7 +325,7 @@ public BaseSpeaker fullName(@jakarta.annotation.Nonnull String fullName) { * @return fullName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFullName() { @@ -333,7 +333,7 @@ public String getFullName() { } - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFullName(@jakarta.annotation.Nonnull String fullName) { this.fullName = fullName; @@ -438,7 +438,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -448,7 +448,7 @@ public String toUrlQueryString(String prefix) { // add `firstName` to the URL query string if (getFirstName() != null) { try { - joiner.add(String.format("%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -458,7 +458,7 @@ public String toUrlQueryString(String prefix) { // add `lastName` to the URL query string if (getLastName() != null) { try { - joiner.add(String.format("%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -468,7 +468,7 @@ public String toUrlQueryString(String prefix) { // add `bio` to the URL query string if (getBio() != null) { try { - joiner.add(String.format("%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -478,7 +478,7 @@ public String toUrlQueryString(String prefix) { // add `tagLine` to the URL query string if (getTagLine() != null) { try { - joiner.add(String.format("%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -488,7 +488,7 @@ public String toUrlQueryString(String prefix) { // add `profilePicture` to the URL query string if (getProfilePicture() != null) { try { - joiner.add(String.format("%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -498,7 +498,7 @@ public String toUrlQueryString(String prefix) { // add `isTopSpeaker` to the URL query string if (getIsTopSpeaker() != null) { try { - joiner.add(String.format("%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -509,8 +509,8 @@ public String toUrlQueryString(String prefix) { if (getLinks() != null) { for (int i = 0; i < getLinks().size(); i++) { if (getLinks().get(i) != null) { - joiner.add(getLinks().get(i).toUrlQueryString(String.format("%slinks%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getLinks().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%slinks%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -518,7 +518,7 @@ public String toUrlQueryString(String prefix) { // add `fullName` to the URL query string if (getFullName() != null) { try { - joiner.add(String.format("%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java index cbe5b29..4320953 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/BaseSpeakerEssential.java @@ -62,7 +62,7 @@ public BaseSpeakerEssential id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -70,7 +70,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -87,7 +87,7 @@ public BaseSpeakerEssential firstName(@jakarta.annotation.Nonnull String firstNa * @return firstName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFirstName() { @@ -95,7 +95,7 @@ public String getFirstName() { } - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFirstName(@jakarta.annotation.Nonnull String firstName) { this.firstName = firstName; @@ -112,7 +112,7 @@ public BaseSpeakerEssential lastName(@jakarta.annotation.Nonnull String lastName * @return lastName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLastName() { @@ -120,7 +120,7 @@ public String getLastName() { } - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLastName(@jakarta.annotation.Nonnull String lastName) { this.lastName = lastName; @@ -202,7 +202,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -212,7 +212,7 @@ public String toUrlQueryString(String prefix) { // add `firstName` to the URL query string if (getFirstName() != null) { try { - joiner.add(String.format("%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -222,7 +222,7 @@ public String toUrlQueryString(String prefix) { // add `lastName` to the URL query string if (getLastName() != null) { try { - joiner.add(String.format("%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java index 39f3220..92a5608 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryAll.java @@ -75,7 +75,7 @@ public CategoryAll id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -83,7 +83,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -100,7 +100,7 @@ public CategoryAll sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -108,7 +108,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -125,7 +125,7 @@ public CategoryAll title(@jakarta.annotation.Nonnull String title) { * @return title */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTitle() { @@ -133,7 +133,7 @@ public String getTitle() { } - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTitle(@jakarta.annotation.Nonnull String title) { this.title = title; @@ -158,7 +158,7 @@ public CategoryAll addItemsItem(CategoryItemAll itemsItem) { * @return items */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getItems() { @@ -166,7 +166,7 @@ public List getItems() { } - @JsonProperty(JSON_PROPERTY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setItems(@jakarta.annotation.Nonnull List items) { this.items = items; @@ -183,7 +183,7 @@ public CategoryAll type(@jakarta.annotation.Nonnull String type) { * @return type */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TYPE) + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getType() { @@ -191,7 +191,7 @@ public String getType() { } - @JsonProperty(JSON_PROPERTY_TYPE) + @JsonProperty(value = JSON_PROPERTY_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setType(@jakarta.annotation.Nonnull String type) { this.type = type; @@ -277,7 +277,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -287,7 +287,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -297,7 +297,7 @@ public String toUrlQueryString(String prefix) { // add `title` to the URL query string if (getTitle() != null) { try { - joiner.add(String.format("%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -308,8 +308,8 @@ public String toUrlQueryString(String prefix) { if (getItems() != null) { for (int i = 0; i < getItems().size(); i++) { if (getItems().get(i) != null) { - joiner.add(getItems().get(i).toUrlQueryString(String.format("%sitems%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getItems().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sitems%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -317,7 +317,7 @@ public String toUrlQueryString(String prefix) { // add `type` to the URL query string if (getType() != null) { try { - joiner.add(String.format("%stype%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getType()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stype%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getType()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java index 5a30b35..25b4c7e 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItem.java @@ -56,7 +56,7 @@ public CategoryItem id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -64,7 +64,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -81,7 +81,7 @@ public CategoryItem name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -89,7 +89,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -169,7 +169,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -179,7 +179,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java index 2d4b31d..f136109 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategoryItemAll.java @@ -61,7 +61,7 @@ public CategoryItemAll id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -69,7 +69,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -86,7 +86,7 @@ public CategoryItemAll name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -94,7 +94,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -111,7 +111,7 @@ public CategoryItemAll sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -119,7 +119,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -201,7 +201,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -211,7 +211,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -221,7 +221,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java index 5eb3b70..10e9f13 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/CategorySession.java @@ -70,7 +70,7 @@ public CategorySession id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -78,7 +78,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -95,7 +95,7 @@ public CategorySession sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -103,7 +103,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -120,7 +120,7 @@ public CategorySession name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -128,7 +128,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -153,7 +153,7 @@ public CategorySession addCategoryItemsItem(CategoryItem categoryItemsItem) { * @return categoryItems */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategoryItems() { @@ -161,7 +161,7 @@ public List getCategoryItems() { } - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategoryItems(@jakarta.annotation.Nonnull List categoryItems) { this.categoryItems = categoryItems; @@ -245,7 +245,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -255,7 +255,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -265,7 +265,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -276,8 +276,8 @@ public String toUrlQueryString(String prefix) { if (getCategoryItems() != null) { for (int i = 0; i < getCategoryItems().size(); i++) { if (getCategoryItems().get(i) != null) { - joiner.add(getCategoryItems().get(i).toUrlQueryString(String.format("%scategoryItems%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getCategoryItems().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%scategoryItems%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java index b3f4a86..e04b3b6 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Link.java @@ -62,7 +62,7 @@ public Link title(@jakarta.annotation.Nonnull String title) { * @return title */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTitle() { @@ -70,7 +70,7 @@ public String getTitle() { } - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTitle(@jakarta.annotation.Nonnull String title) { this.title = title; @@ -87,7 +87,7 @@ public Link url(@jakarta.annotation.Nonnull URI url) { * @return url */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_URL) + @JsonProperty(value = JSON_PROPERTY_URL, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public URI getUrl() { @@ -95,7 +95,7 @@ public URI getUrl() { } - @JsonProperty(JSON_PROPERTY_URL) + @JsonProperty(value = JSON_PROPERTY_URL, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setUrl(@jakarta.annotation.Nonnull URI url) { this.url = url; @@ -112,7 +112,7 @@ public Link linkType(@jakarta.annotation.Nonnull String linkType) { * @return linkType */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LINK_TYPE) + @JsonProperty(value = JSON_PROPERTY_LINK_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLinkType() { @@ -120,7 +120,7 @@ public String getLinkType() { } - @JsonProperty(JSON_PROPERTY_LINK_TYPE) + @JsonProperty(value = JSON_PROPERTY_LINK_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLinkType(@jakarta.annotation.Nonnull String linkType) { this.linkType = linkType; @@ -202,7 +202,7 @@ public String toUrlQueryString(String prefix) { // add `title` to the URL query string if (getTitle() != null) { try { - joiner.add(String.format("%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -212,7 +212,7 @@ public String toUrlQueryString(String prefix) { // add `url` to the URL query string if (getUrl() != null) { try { - joiner.add(String.format("%surl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%surl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -222,7 +222,7 @@ public String toUrlQueryString(String prefix) { // add `linkType` to the URL query string if (getLinkType() != null) { try { - joiner.add(String.format("%slinkType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLinkType()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slinkType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLinkType()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java index 21c4a02..6e1a27a 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Question.java @@ -66,7 +66,7 @@ public Question id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -74,7 +74,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -91,7 +91,7 @@ public Question question(@jakarta.annotation.Nonnull String question) { * @return question */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION) + @JsonProperty(value = JSON_PROPERTY_QUESTION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getQuestion() { @@ -99,7 +99,7 @@ public String getQuestion() { } - @JsonProperty(JSON_PROPERTY_QUESTION) + @JsonProperty(value = JSON_PROPERTY_QUESTION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestion(@jakarta.annotation.Nonnull String question) { this.question = question; @@ -116,7 +116,7 @@ public Question questionType(@jakarta.annotation.Nonnull String questionType) { * @return questionType */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_TYPE) + @JsonProperty(value = JSON_PROPERTY_QUESTION_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getQuestionType() { @@ -124,7 +124,7 @@ public String getQuestionType() { } - @JsonProperty(JSON_PROPERTY_QUESTION_TYPE) + @JsonProperty(value = JSON_PROPERTY_QUESTION_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionType(@jakarta.annotation.Nonnull String questionType) { this.questionType = questionType; @@ -141,7 +141,7 @@ public Question sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -149,7 +149,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -233,7 +233,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -243,7 +243,7 @@ public String toUrlQueryString(String prefix) { // add `question` to the URL query string if (getQuestion() != null) { try { - joiner.add(String.format("%squestion%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestion()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%squestion%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestion()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -253,7 +253,7 @@ public String toUrlQueryString(String prefix) { // add `questionType` to the URL query string if (getQuestionType() != null) { try { - joiner.add(String.format("%squestionType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionType()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%squestionType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionType()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -263,7 +263,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java index d2ab5cb..65396a1 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswer.java @@ -56,7 +56,7 @@ public QuestionAnswer questionId(@jakarta.annotation.Nonnull Integer questionId) * @return questionId */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_ID) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getQuestionId() { @@ -64,7 +64,7 @@ public Integer getQuestionId() { } - @JsonProperty(JSON_PROPERTY_QUESTION_ID) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionId(@jakarta.annotation.Nonnull Integer questionId) { this.questionId = questionId; @@ -81,7 +81,7 @@ public QuestionAnswer answerValue(@jakarta.annotation.Nonnull String answerValue * @return answerValue */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ANSWER_VALUE) + @JsonProperty(value = JSON_PROPERTY_ANSWER_VALUE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getAnswerValue() { @@ -89,7 +89,7 @@ public String getAnswerValue() { } - @JsonProperty(JSON_PROPERTY_ANSWER_VALUE) + @JsonProperty(value = JSON_PROPERTY_ANSWER_VALUE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setAnswerValue(@jakarta.annotation.Nonnull String answerValue) { this.answerValue = answerValue; @@ -169,7 +169,7 @@ public String toUrlQueryString(String prefix) { // add `questionId` to the URL query string if (getQuestionId() != null) { try { - joiner.add(String.format("%squestionId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%squestionId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -179,7 +179,7 @@ public String toUrlQueryString(String prefix) { // add `answerValue` to the URL query string if (getAnswerValue() != null) { try { - joiner.add(String.format("%sanswerValue%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAnswerValue()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sanswerValue%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAnswerValue()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java index d0ec541..7e5f46d 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/QuestionAnswerFull.java @@ -71,7 +71,7 @@ public QuestionAnswerFull id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -79,7 +79,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -96,7 +96,7 @@ public QuestionAnswerFull question(@jakarta.annotation.Nonnull String question) * @return question */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION) + @JsonProperty(value = JSON_PROPERTY_QUESTION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getQuestion() { @@ -104,7 +104,7 @@ public String getQuestion() { } - @JsonProperty(JSON_PROPERTY_QUESTION) + @JsonProperty(value = JSON_PROPERTY_QUESTION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestion(@jakarta.annotation.Nonnull String question) { this.question = question; @@ -121,7 +121,7 @@ public QuestionAnswerFull questionType(@jakarta.annotation.Nonnull String questi * @return questionType */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_TYPE) + @JsonProperty(value = JSON_PROPERTY_QUESTION_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getQuestionType() { @@ -129,7 +129,7 @@ public String getQuestionType() { } - @JsonProperty(JSON_PROPERTY_QUESTION_TYPE) + @JsonProperty(value = JSON_PROPERTY_QUESTION_TYPE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionType(@jakarta.annotation.Nonnull String questionType) { this.questionType = questionType; @@ -146,7 +146,7 @@ public QuestionAnswerFull answer(@jakarta.annotation.Nullable String answer) { * @return answer */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ANSWER) + @JsonProperty(value = JSON_PROPERTY_ANSWER, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getAnswer() { @@ -154,7 +154,7 @@ public String getAnswer() { } - @JsonProperty(JSON_PROPERTY_ANSWER) + @JsonProperty(value = JSON_PROPERTY_ANSWER, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setAnswer(@jakarta.annotation.Nullable String answer) { this.answer = answer; @@ -171,7 +171,7 @@ public QuestionAnswerFull sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -179,7 +179,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -265,7 +265,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -275,7 +275,7 @@ public String toUrlQueryString(String prefix) { // add `question` to the URL query string if (getQuestion() != null) { try { - joiner.add(String.format("%squestion%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestion()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%squestion%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestion()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -285,7 +285,7 @@ public String toUrlQueryString(String prefix) { // add `questionType` to the URL query string if (getQuestionType() != null) { try { - joiner.add(String.format("%squestionType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionType()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%squestionType%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getQuestionType()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -295,7 +295,7 @@ public String toUrlQueryString(String prefix) { // add `answer` to the URL query string if (getAnswer() != null) { try { - joiner.add(String.format("%sanswer%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAnswer()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sanswer%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAnswer()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -305,7 +305,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java index 22c2af1..c7d922d 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Room.java @@ -61,7 +61,7 @@ public Room id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -69,7 +69,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -86,7 +86,7 @@ public Room name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -94,7 +94,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -111,7 +111,7 @@ public Room sort(@jakarta.annotation.Nonnull Integer sort) { * @return sort */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getSort() { @@ -119,7 +119,7 @@ public Integer getSort() { } - @JsonProperty(JSON_PROPERTY_SORT) + @JsonProperty(value = JSON_PROPERTY_SORT, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSort(@jakarta.annotation.Nonnull Integer sort) { this.sort = sort; @@ -201,7 +201,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -211,7 +211,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -221,7 +221,7 @@ public String toUrlQueryString(String prefix) { // add `sort` to the URL query string if (getSort() != null) { try { - joiner.add(String.format("%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%ssort%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getSort()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java index bdc016e..14d1e3d 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Session.java @@ -139,7 +139,7 @@ public Session id(@jakarta.annotation.Nonnull String id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getId() { @@ -147,7 +147,7 @@ public String getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull String id) { this.id = id; @@ -164,7 +164,7 @@ public Session title(@jakarta.annotation.Nonnull String title) { * @return title */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTitle() { @@ -172,7 +172,7 @@ public String getTitle() { } - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTitle(@jakarta.annotation.Nonnull String title) { this.title = title; @@ -195,14 +195,14 @@ public String getDescription() { return description.orElse(null); } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getDescription_JsonNullable() { return description; } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) public void setDescription_JsonNullable(JsonNullable description) { this.description = description; } @@ -222,7 +222,7 @@ public Session startsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt) { * @return startsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getStartsAt() { @@ -230,7 +230,7 @@ public OffsetDateTime getStartsAt() { } - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStartsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt) { this.startsAt = startsAt; @@ -247,7 +247,7 @@ public Session endsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { * @return endsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getEndsAt() { @@ -255,7 +255,7 @@ public OffsetDateTime getEndsAt() { } - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setEndsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { this.endsAt = endsAt; @@ -272,7 +272,7 @@ public Session isServiceSession(@jakarta.annotation.Nonnull Boolean isServiceSes * @return isServiceSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsServiceSession() { @@ -280,7 +280,7 @@ public Boolean getIsServiceSession() { } - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsServiceSession(@jakarta.annotation.Nonnull Boolean isServiceSession) { this.isServiceSession = isServiceSession; @@ -297,7 +297,7 @@ public Session isPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumSessi * @return isPlenumSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsPlenumSession() { @@ -305,7 +305,7 @@ public Boolean getIsPlenumSession() { } - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumSession) { this.isPlenumSession = isPlenumSession; @@ -330,7 +330,7 @@ public Session addCategoryItemsItem(Integer categoryItemsItem) { * @return categoryItems */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategoryItems() { @@ -338,7 +338,7 @@ public List getCategoryItems() { } - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategoryItems(@jakarta.annotation.Nonnull List categoryItems) { this.categoryItems = categoryItems; @@ -355,7 +355,7 @@ public Session roomId(@jakarta.annotation.Nullable Integer roomId) { * @return roomId */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getRoomId() { @@ -363,7 +363,7 @@ public Integer getRoomId() { } - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setRoomId(@jakarta.annotation.Nullable Integer roomId) { this.roomId = roomId; @@ -386,14 +386,14 @@ public URI getLiveUrl() { return liveUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getLiveUrl_JsonNullable() { return liveUrl; } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) public void setLiveUrl_JsonNullable(JsonNullable liveUrl) { this.liveUrl = liveUrl; } @@ -419,14 +419,14 @@ public URI getRecordingUrl() { return recordingUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getRecordingUrl_JsonNullable() { return recordingUrl; } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) public void setRecordingUrl_JsonNullable(JsonNullable recordingUrl) { this.recordingUrl = recordingUrl; } @@ -446,7 +446,7 @@ public Session status(@jakarta.annotation.Nonnull Status status) { * @return status */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Status getStatus() { @@ -454,7 +454,7 @@ public Status getStatus() { } - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStatus(@jakarta.annotation.Nonnull Status status) { this.status = status; @@ -477,14 +477,14 @@ public String getRoom() { return room.orElse(null); } - @JsonProperty(JSON_PROPERTY_ROOM) + @JsonProperty(value = JSON_PROPERTY_ROOM, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getRoom_JsonNullable() { return room; } - @JsonProperty(JSON_PROPERTY_ROOM) + @JsonProperty(value = JSON_PROPERTY_ROOM, required = false) public void setRoom_JsonNullable(JsonNullable room) { this.room = room; } @@ -512,7 +512,7 @@ public Session addSpeakersItem(SpeakerMinimal speakersItem) { * @return speakers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSpeakers() { @@ -520,7 +520,7 @@ public List getSpeakers() { } - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSpeakers(@jakarta.annotation.Nonnull List speakers) { this.speakers = speakers; @@ -545,7 +545,7 @@ public Session addQuestionAnswersItem(QuestionAnswerFull questionAnswersItem) { * @return questionAnswers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getQuestionAnswers() { @@ -553,7 +553,7 @@ public List getQuestionAnswers() { } - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionAnswers(@jakarta.annotation.Nonnull List questionAnswers) { this.questionAnswers = questionAnswers; @@ -578,7 +578,7 @@ public Session addCategoriesItem(CategorySession categoriesItem) { * @return categories */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORIES) + @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategories() { @@ -586,7 +586,7 @@ public List getCategories() { } - @JsonProperty(JSON_PROPERTY_CATEGORIES) + @JsonProperty(value = JSON_PROPERTY_CATEGORIES, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategories(@jakarta.annotation.Nonnull List categories) { this.categories = categories; @@ -705,7 +705,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -715,7 +715,7 @@ public String toUrlQueryString(String prefix) { // add `title` to the URL query string if (getTitle() != null) { try { - joiner.add(String.format("%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -725,7 +725,7 @@ public String toUrlQueryString(String prefix) { // add `description` to the URL query string if (getDescription() != null) { try { - joiner.add(String.format("%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -735,7 +735,7 @@ public String toUrlQueryString(String prefix) { // add `startsAt` to the URL query string if (getStartsAt() != null) { try { - joiner.add(String.format("%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -745,7 +745,7 @@ public String toUrlQueryString(String prefix) { // add `endsAt` to the URL query string if (getEndsAt() != null) { try { - joiner.add(String.format("%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -755,7 +755,7 @@ public String toUrlQueryString(String prefix) { // add `isServiceSession` to the URL query string if (getIsServiceSession() != null) { try { - joiner.add(String.format("%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -765,7 +765,7 @@ public String toUrlQueryString(String prefix) { // add `isPlenumSession` to the URL query string if (getIsPlenumSession() != null) { try { - joiner.add(String.format("%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -776,8 +776,8 @@ public String toUrlQueryString(String prefix) { if (getCategoryItems() != null) { for (int i = 0; i < getCategoryItems().size(); i++) { try { - joiner.add(String.format("%scategoryItems%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + joiner.add(String.format(java.util.Locale.ROOT, "%scategoryItems%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), URLEncoder.encode(String.valueOf(getCategoryItems().get(i)), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported @@ -789,7 +789,7 @@ public String toUrlQueryString(String prefix) { // add `roomId` to the URL query string if (getRoomId() != null) { try { - joiner.add(String.format("%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -799,7 +799,7 @@ public String toUrlQueryString(String prefix) { // add `liveUrl` to the URL query string if (getLiveUrl() != null) { try { - joiner.add(String.format("%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -809,7 +809,7 @@ public String toUrlQueryString(String prefix) { // add `recordingUrl` to the URL query string if (getRecordingUrl() != null) { try { - joiner.add(String.format("%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -819,7 +819,7 @@ public String toUrlQueryString(String prefix) { // add `status` to the URL query string if (getStatus() != null) { try { - joiner.add(String.format("%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -829,7 +829,7 @@ public String toUrlQueryString(String prefix) { // add `room` to the URL query string if (getRoom() != null) { try { - joiner.add(String.format("%sroom%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoom()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sroom%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoom()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -840,8 +840,8 @@ public String toUrlQueryString(String prefix) { if (getSpeakers() != null) { for (int i = 0; i < getSpeakers().size(); i++) { if (getSpeakers().get(i) != null) { - joiner.add(getSpeakers().get(i).toUrlQueryString(String.format("%sspeakers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getSpeakers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%sspeakers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -850,8 +850,8 @@ public String toUrlQueryString(String prefix) { if (getQuestionAnswers() != null) { for (int i = 0; i < getQuestionAnswers().size(); i++) { if (getQuestionAnswers().get(i) != null) { - joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format("%squestionAnswers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%squestionAnswers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -860,8 +860,8 @@ public String toUrlQueryString(String prefix) { if (getCategories() != null) { for (int i = 0; i < getCategories().size(); i++) { if (getCategories().get(i) != null) { - joiner.add(getCategories().get(i).toUrlQueryString(String.format("%scategories%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getCategories().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%scategories%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java index dfbd154..bc12e0f 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionAll.java @@ -127,7 +127,7 @@ public SessionAll id(@jakarta.annotation.Nonnull String id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getId() { @@ -135,7 +135,7 @@ public String getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull String id) { this.id = id; @@ -152,7 +152,7 @@ public SessionAll title(@jakarta.annotation.Nonnull String title) { * @return title */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTitle() { @@ -160,7 +160,7 @@ public String getTitle() { } - @JsonProperty(JSON_PROPERTY_TITLE) + @JsonProperty(value = JSON_PROPERTY_TITLE, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTitle(@jakarta.annotation.Nonnull String title) { this.title = title; @@ -183,14 +183,14 @@ public String getDescription() { return description.orElse(null); } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getDescription_JsonNullable() { return description; } - @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonProperty(value = JSON_PROPERTY_DESCRIPTION, required = false) public void setDescription_JsonNullable(JsonNullable description) { this.description = description; } @@ -210,7 +210,7 @@ public SessionAll startsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt) * @return startsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getStartsAt() { @@ -218,7 +218,7 @@ public OffsetDateTime getStartsAt() { } - @JsonProperty(JSON_PROPERTY_STARTS_AT) + @JsonProperty(value = JSON_PROPERTY_STARTS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStartsAt(@jakarta.annotation.Nullable OffsetDateTime startsAt) { this.startsAt = startsAt; @@ -235,7 +235,7 @@ public SessionAll endsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { * @return endsAt */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public OffsetDateTime getEndsAt() { @@ -243,7 +243,7 @@ public OffsetDateTime getEndsAt() { } - @JsonProperty(JSON_PROPERTY_ENDS_AT) + @JsonProperty(value = JSON_PROPERTY_ENDS_AT, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setEndsAt(@jakarta.annotation.Nullable OffsetDateTime endsAt) { this.endsAt = endsAt; @@ -260,7 +260,7 @@ public SessionAll isServiceSession(@jakarta.annotation.Nonnull Boolean isService * @return isServiceSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsServiceSession() { @@ -268,7 +268,7 @@ public Boolean getIsServiceSession() { } - @JsonProperty(JSON_PROPERTY_IS_SERVICE_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_SERVICE_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsServiceSession(@jakarta.annotation.Nonnull Boolean isServiceSession) { this.isServiceSession = isServiceSession; @@ -285,7 +285,7 @@ public SessionAll isPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumSe * @return isPlenumSession */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsPlenumSession() { @@ -293,7 +293,7 @@ public Boolean getIsPlenumSession() { } - @JsonProperty(JSON_PROPERTY_IS_PLENUM_SESSION) + @JsonProperty(value = JSON_PROPERTY_IS_PLENUM_SESSION, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsPlenumSession(@jakarta.annotation.Nonnull Boolean isPlenumSession) { this.isPlenumSession = isPlenumSession; @@ -318,7 +318,7 @@ public SessionAll addCategoryItemsItem(Integer categoryItemsItem) { * @return categoryItems */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getCategoryItems() { @@ -326,7 +326,7 @@ public List getCategoryItems() { } - @JsonProperty(JSON_PROPERTY_CATEGORY_ITEMS) + @JsonProperty(value = JSON_PROPERTY_CATEGORY_ITEMS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setCategoryItems(@jakarta.annotation.Nonnull List categoryItems) { this.categoryItems = categoryItems; @@ -343,7 +343,7 @@ public SessionAll roomId(@jakarta.annotation.Nullable Integer roomId) { * @return roomId */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getRoomId() { @@ -351,7 +351,7 @@ public Integer getRoomId() { } - @JsonProperty(JSON_PROPERTY_ROOM_ID) + @JsonProperty(value = JSON_PROPERTY_ROOM_ID, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setRoomId(@jakarta.annotation.Nullable Integer roomId) { this.roomId = roomId; @@ -374,14 +374,14 @@ public URI getLiveUrl() { return liveUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getLiveUrl_JsonNullable() { return liveUrl; } - @JsonProperty(JSON_PROPERTY_LIVE_URL) + @JsonProperty(value = JSON_PROPERTY_LIVE_URL, required = false) public void setLiveUrl_JsonNullable(JsonNullable liveUrl) { this.liveUrl = liveUrl; } @@ -407,14 +407,14 @@ public URI getRecordingUrl() { return recordingUrl.orElse(null); } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getRecordingUrl_JsonNullable() { return recordingUrl; } - @JsonProperty(JSON_PROPERTY_RECORDING_URL) + @JsonProperty(value = JSON_PROPERTY_RECORDING_URL, required = false) public void setRecordingUrl_JsonNullable(JsonNullable recordingUrl) { this.recordingUrl = recordingUrl; } @@ -434,7 +434,7 @@ public SessionAll status(@jakarta.annotation.Nonnull Status status) { * @return status */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Status getStatus() { @@ -442,7 +442,7 @@ public Status getStatus() { } - @JsonProperty(JSON_PROPERTY_STATUS) + @JsonProperty(value = JSON_PROPERTY_STATUS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setStatus(@jakarta.annotation.Nonnull Status status) { this.status = status; @@ -467,7 +467,7 @@ public SessionAll addSpeakersItem(String speakersItem) { * @return speakers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSpeakers() { @@ -475,7 +475,7 @@ public List getSpeakers() { } - @JsonProperty(JSON_PROPERTY_SPEAKERS) + @JsonProperty(value = JSON_PROPERTY_SPEAKERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSpeakers(@jakarta.annotation.Nonnull List speakers) { this.speakers = speakers; @@ -500,7 +500,7 @@ public SessionAll addQuestionAnswersItem(QuestionAnswer questionAnswersItem) { * @return questionAnswers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getQuestionAnswers() { @@ -508,7 +508,7 @@ public List getQuestionAnswers() { } - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionAnswers(@jakarta.annotation.Nonnull List questionAnswers) { this.questionAnswers = questionAnswers; @@ -623,7 +623,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -633,7 +633,7 @@ public String toUrlQueryString(String prefix) { // add `title` to the URL query string if (getTitle() != null) { try { - joiner.add(String.format("%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stitle%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTitle()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -643,7 +643,7 @@ public String toUrlQueryString(String prefix) { // add `description` to the URL query string if (getDescription() != null) { try { - joiner.add(String.format("%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -653,7 +653,7 @@ public String toUrlQueryString(String prefix) { // add `startsAt` to the URL query string if (getStartsAt() != null) { try { - joiner.add(String.format("%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstartsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStartsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -663,7 +663,7 @@ public String toUrlQueryString(String prefix) { // add `endsAt` to the URL query string if (getEndsAt() != null) { try { - joiner.add(String.format("%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sendsAt%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEndsAt()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -673,7 +673,7 @@ public String toUrlQueryString(String prefix) { // add `isServiceSession` to the URL query string if (getIsServiceSession() != null) { try { - joiner.add(String.format("%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisServiceSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsServiceSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -683,7 +683,7 @@ public String toUrlQueryString(String prefix) { // add `isPlenumSession` to the URL query string if (getIsPlenumSession() != null) { try { - joiner.add(String.format("%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisPlenumSession%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsPlenumSession()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -694,8 +694,8 @@ public String toUrlQueryString(String prefix) { if (getCategoryItems() != null) { for (int i = 0; i < getCategoryItems().size(); i++) { try { - joiner.add(String.format("%scategoryItems%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + joiner.add(String.format(java.util.Locale.ROOT, "%scategoryItems%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), URLEncoder.encode(String.valueOf(getCategoryItems().get(i)), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported @@ -707,7 +707,7 @@ public String toUrlQueryString(String prefix) { // add `roomId` to the URL query string if (getRoomId() != null) { try { - joiner.add(String.format("%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sroomId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRoomId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -717,7 +717,7 @@ public String toUrlQueryString(String prefix) { // add `liveUrl` to the URL query string if (getLiveUrl() != null) { try { - joiner.add(String.format("%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sliveUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLiveUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -727,7 +727,7 @@ public String toUrlQueryString(String prefix) { // add `recordingUrl` to the URL query string if (getRecordingUrl() != null) { try { - joiner.add(String.format("%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%srecordingUrl%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getRecordingUrl()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -737,7 +737,7 @@ public String toUrlQueryString(String prefix) { // add `status` to the URL query string if (getStatus() != null) { try { - joiner.add(String.format("%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sstatus%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStatus()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -748,8 +748,8 @@ public String toUrlQueryString(String prefix) { if (getSpeakers() != null) { for (int i = 0; i < getSpeakers().size(); i++) { try { - joiner.add(String.format("%sspeakers%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + joiner.add(String.format(java.util.Locale.ROOT, "%sspeakers%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), URLEncoder.encode(String.valueOf(getSpeakers().get(i)), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported @@ -762,8 +762,8 @@ public String toUrlQueryString(String prefix) { if (getQuestionAnswers() != null) { for (int i = 0; i < getQuestionAnswers().size(); i++) { if (getQuestionAnswers().get(i) != null) { - joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format("%squestionAnswers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%squestionAnswers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java index fa1c7e2..e538b1d 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionGroup.java @@ -70,7 +70,7 @@ public SessionGroup groupId(@jakarta.annotation.Nullable Integer groupId) { * @return groupId */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_GROUP_ID) + @JsonProperty(value = JSON_PROPERTY_GROUP_ID, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public Integer getGroupId() { @@ -78,7 +78,7 @@ public Integer getGroupId() { } - @JsonProperty(JSON_PROPERTY_GROUP_ID) + @JsonProperty(value = JSON_PROPERTY_GROUP_ID, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setGroupId(@jakarta.annotation.Nullable Integer groupId) { this.groupId = groupId; @@ -95,7 +95,7 @@ public SessionGroup groupName(@jakarta.annotation.Nullable String groupName) { * @return groupName */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_GROUP_NAME) + @JsonProperty(value = JSON_PROPERTY_GROUP_NAME, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getGroupName() { @@ -103,7 +103,7 @@ public String getGroupName() { } - @JsonProperty(JSON_PROPERTY_GROUP_NAME) + @JsonProperty(value = JSON_PROPERTY_GROUP_NAME, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setGroupName(@jakarta.annotation.Nullable String groupName) { this.groupName = groupName; @@ -128,7 +128,7 @@ public SessionGroup addSessionsItem(Session sessionsItem) { * @return sessions */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public List getSessions() { @@ -136,7 +136,7 @@ public List getSessions() { } - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setSessions(@jakarta.annotation.Nullable List sessions) { this.sessions = sessions; @@ -153,7 +153,7 @@ public SessionGroup isDefault(@jakarta.annotation.Nullable Boolean isDefault) { * @return isDefault */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_IS_DEFAULT) + @JsonProperty(value = JSON_PROPERTY_IS_DEFAULT, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public Boolean getIsDefault() { @@ -161,7 +161,7 @@ public Boolean getIsDefault() { } - @JsonProperty(JSON_PROPERTY_IS_DEFAULT) + @JsonProperty(value = JSON_PROPERTY_IS_DEFAULT, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public void setIsDefault(@jakarta.annotation.Nullable Boolean isDefault) { this.isDefault = isDefault; @@ -245,7 +245,7 @@ public String toUrlQueryString(String prefix) { // add `groupId` to the URL query string if (getGroupId() != null) { try { - joiner.add(String.format("%sgroupId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getGroupId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sgroupId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getGroupId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -255,7 +255,7 @@ public String toUrlQueryString(String prefix) { // add `groupName` to the URL query string if (getGroupName() != null) { try { - joiner.add(String.format("%sgroupName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getGroupName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sgroupName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getGroupName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -266,8 +266,8 @@ public String toUrlQueryString(String prefix) { if (getSessions() != null) { for (int i = 0; i < getSessions().size(); i++) { if (getSessions().get(i) != null) { - joiner.add(getSessions().get(i).toUrlQueryString(String.format("%ssessions%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getSessions().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%ssessions%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -275,7 +275,7 @@ public String toUrlQueryString(String prefix) { // add `isDefault` to the URL query string if (getIsDefault() != null) { try { - joiner.add(String.format("%sisDefault%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsDefault()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisDefault%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsDefault()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java index 21b0acd..0523786 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SessionMinimal.java @@ -56,7 +56,7 @@ public SessionMinimal id(@jakarta.annotation.Nonnull Integer id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getId() { @@ -64,7 +64,7 @@ public Integer getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull Integer id) { this.id = id; @@ -81,7 +81,7 @@ public SessionMinimal name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -89,7 +89,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -169,7 +169,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -179,7 +179,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java index a7a809e..5c07419 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Speaker.java @@ -113,7 +113,7 @@ public Speaker id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -121,7 +121,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -138,7 +138,7 @@ public Speaker firstName(@jakarta.annotation.Nonnull String firstName) { * @return firstName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFirstName() { @@ -146,7 +146,7 @@ public String getFirstName() { } - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFirstName(@jakarta.annotation.Nonnull String firstName) { this.firstName = firstName; @@ -163,7 +163,7 @@ public Speaker lastName(@jakarta.annotation.Nonnull String lastName) { * @return lastName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLastName() { @@ -171,7 +171,7 @@ public String getLastName() { } - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLastName(@jakarta.annotation.Nonnull String lastName) { this.lastName = lastName; @@ -194,14 +194,14 @@ public String getBio() { return bio.orElse(null); } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getBio_JsonNullable() { return bio; } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) public void setBio_JsonNullable(JsonNullable bio) { this.bio = bio; } @@ -221,7 +221,7 @@ public Speaker tagLine(@jakarta.annotation.Nullable String tagLine) { * @return tagLine */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTagLine() { @@ -229,7 +229,7 @@ public String getTagLine() { } - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTagLine(@jakarta.annotation.Nullable String tagLine) { this.tagLine = tagLine; @@ -252,14 +252,14 @@ public URI getProfilePicture() { return profilePicture.orElse(null); } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getProfilePicture_JsonNullable() { return profilePicture; } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) public void setProfilePicture_JsonNullable(JsonNullable profilePicture) { this.profilePicture = profilePicture; } @@ -279,7 +279,7 @@ public Speaker isTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker) { * @return isTopSpeaker */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsTopSpeaker() { @@ -287,7 +287,7 @@ public Boolean getIsTopSpeaker() { } - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker) { this.isTopSpeaker = isTopSpeaker; @@ -312,7 +312,7 @@ public Speaker addLinksItem(Link linksItem) { * @return links */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getLinks() { @@ -320,7 +320,7 @@ public List getLinks() { } - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLinks(@jakarta.annotation.Nonnull List links) { this.links = links; @@ -337,7 +337,7 @@ public Speaker fullName(@jakarta.annotation.Nonnull String fullName) { * @return fullName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFullName() { @@ -345,7 +345,7 @@ public String getFullName() { } - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFullName(@jakarta.annotation.Nonnull String fullName) { this.fullName = fullName; @@ -370,7 +370,7 @@ public Speaker addSessionsItem(SessionMinimal sessionsItem) { * @return sessions */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSessions() { @@ -378,7 +378,7 @@ public List getSessions() { } - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSessions(@jakarta.annotation.Nonnull List sessions) { this.sessions = sessions; @@ -403,7 +403,7 @@ public Speaker addQuestionAnswersItem(QuestionAnswerFull questionAnswersItem) { * @return questionAnswers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getQuestionAnswers() { @@ -411,7 +411,7 @@ public List getQuestionAnswers() { } - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionAnswers(@jakarta.annotation.Nonnull List questionAnswers) { this.questionAnswers = questionAnswers; @@ -520,7 +520,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -530,7 +530,7 @@ public String toUrlQueryString(String prefix) { // add `firstName` to the URL query string if (getFirstName() != null) { try { - joiner.add(String.format("%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -540,7 +540,7 @@ public String toUrlQueryString(String prefix) { // add `lastName` to the URL query string if (getLastName() != null) { try { - joiner.add(String.format("%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -550,7 +550,7 @@ public String toUrlQueryString(String prefix) { // add `bio` to the URL query string if (getBio() != null) { try { - joiner.add(String.format("%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -560,7 +560,7 @@ public String toUrlQueryString(String prefix) { // add `tagLine` to the URL query string if (getTagLine() != null) { try { - joiner.add(String.format("%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -570,7 +570,7 @@ public String toUrlQueryString(String prefix) { // add `profilePicture` to the URL query string if (getProfilePicture() != null) { try { - joiner.add(String.format("%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -580,7 +580,7 @@ public String toUrlQueryString(String prefix) { // add `isTopSpeaker` to the URL query string if (getIsTopSpeaker() != null) { try { - joiner.add(String.format("%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -591,8 +591,8 @@ public String toUrlQueryString(String prefix) { if (getLinks() != null) { for (int i = 0; i < getLinks().size(); i++) { if (getLinks().get(i) != null) { - joiner.add(getLinks().get(i).toUrlQueryString(String.format("%slinks%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getLinks().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%slinks%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -600,7 +600,7 @@ public String toUrlQueryString(String prefix) { // add `fullName` to the URL query string if (getFullName() != null) { try { - joiner.add(String.format("%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -611,8 +611,8 @@ public String toUrlQueryString(String prefix) { if (getSessions() != null) { for (int i = 0; i < getSessions().size(); i++) { if (getSessions().get(i) != null) { - joiner.add(getSessions().get(i).toUrlQueryString(String.format("%ssessions%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getSessions().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%ssessions%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -621,8 +621,8 @@ public String toUrlQueryString(String prefix) { if (getQuestionAnswers() != null) { for (int i = 0; i < getQuestionAnswers().size(); i++) { if (getQuestionAnswers().get(i) != null) { - joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format("%squestionAnswers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%squestionAnswers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java index 65cf147..7f9912a 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerAll.java @@ -112,7 +112,7 @@ public SpeakerAll id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -120,7 +120,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -137,7 +137,7 @@ public SpeakerAll firstName(@jakarta.annotation.Nonnull String firstName) { * @return firstName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFirstName() { @@ -145,7 +145,7 @@ public String getFirstName() { } - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFirstName(@jakarta.annotation.Nonnull String firstName) { this.firstName = firstName; @@ -162,7 +162,7 @@ public SpeakerAll lastName(@jakarta.annotation.Nonnull String lastName) { * @return lastName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLastName() { @@ -170,7 +170,7 @@ public String getLastName() { } - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLastName(@jakarta.annotation.Nonnull String lastName) { this.lastName = lastName; @@ -193,14 +193,14 @@ public String getBio() { return bio.orElse(null); } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getBio_JsonNullable() { return bio; } - @JsonProperty(JSON_PROPERTY_BIO) + @JsonProperty(value = JSON_PROPERTY_BIO, required = false) public void setBio_JsonNullable(JsonNullable bio) { this.bio = bio; } @@ -220,7 +220,7 @@ public SpeakerAll tagLine(@jakarta.annotation.Nullable String tagLine) { * @return tagLine */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getTagLine() { @@ -228,7 +228,7 @@ public String getTagLine() { } - @JsonProperty(JSON_PROPERTY_TAG_LINE) + @JsonProperty(value = JSON_PROPERTY_TAG_LINE, required = false) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setTagLine(@jakarta.annotation.Nullable String tagLine) { this.tagLine = tagLine; @@ -251,14 +251,14 @@ public URI getProfilePicture() { return profilePicture.orElse(null); } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getProfilePicture_JsonNullable() { return profilePicture; } - @JsonProperty(JSON_PROPERTY_PROFILE_PICTURE) + @JsonProperty(value = JSON_PROPERTY_PROFILE_PICTURE, required = false) public void setProfilePicture_JsonNullable(JsonNullable profilePicture) { this.profilePicture = profilePicture; } @@ -278,7 +278,7 @@ public SpeakerAll isTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker) * @return isTopSpeaker */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Boolean getIsTopSpeaker() { @@ -286,7 +286,7 @@ public Boolean getIsTopSpeaker() { } - @JsonProperty(JSON_PROPERTY_IS_TOP_SPEAKER) + @JsonProperty(value = JSON_PROPERTY_IS_TOP_SPEAKER, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setIsTopSpeaker(@jakarta.annotation.Nonnull Boolean isTopSpeaker) { this.isTopSpeaker = isTopSpeaker; @@ -311,7 +311,7 @@ public SpeakerAll addLinksItem(Link linksItem) { * @return links */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getLinks() { @@ -319,7 +319,7 @@ public List getLinks() { } - @JsonProperty(JSON_PROPERTY_LINKS) + @JsonProperty(value = JSON_PROPERTY_LINKS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLinks(@jakarta.annotation.Nonnull List links) { this.links = links; @@ -336,7 +336,7 @@ public SpeakerAll fullName(@jakarta.annotation.Nonnull String fullName) { * @return fullName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFullName() { @@ -344,7 +344,7 @@ public String getFullName() { } - @JsonProperty(JSON_PROPERTY_FULL_NAME) + @JsonProperty(value = JSON_PROPERTY_FULL_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFullName(@jakarta.annotation.Nonnull String fullName) { this.fullName = fullName; @@ -369,7 +369,7 @@ public SpeakerAll addSessionsItem(Integer sessionsItem) { * @return sessions */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getSessions() { @@ -377,7 +377,7 @@ public List getSessions() { } - @JsonProperty(JSON_PROPERTY_SESSIONS) + @JsonProperty(value = JSON_PROPERTY_SESSIONS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setSessions(@jakarta.annotation.Nonnull List sessions) { this.sessions = sessions; @@ -402,7 +402,7 @@ public SpeakerAll addQuestionAnswersItem(QuestionAnswer questionAnswersItem) { * @return questionAnswers */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public List getQuestionAnswers() { @@ -410,7 +410,7 @@ public List getQuestionAnswers() { } - @JsonProperty(JSON_PROPERTY_QUESTION_ANSWERS) + @JsonProperty(value = JSON_PROPERTY_QUESTION_ANSWERS, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setQuestionAnswers(@jakarta.annotation.Nonnull List questionAnswers) { this.questionAnswers = questionAnswers; @@ -519,7 +519,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -529,7 +529,7 @@ public String toUrlQueryString(String prefix) { // add `firstName` to the URL query string if (getFirstName() != null) { try { - joiner.add(String.format("%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -539,7 +539,7 @@ public String toUrlQueryString(String prefix) { // add `lastName` to the URL query string if (getLastName() != null) { try { - joiner.add(String.format("%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -549,7 +549,7 @@ public String toUrlQueryString(String prefix) { // add `bio` to the URL query string if (getBio() != null) { try { - joiner.add(String.format("%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sbio%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBio()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -559,7 +559,7 @@ public String toUrlQueryString(String prefix) { // add `tagLine` to the URL query string if (getTagLine() != null) { try { - joiner.add(String.format("%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%stagLine%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getTagLine()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -569,7 +569,7 @@ public String toUrlQueryString(String prefix) { // add `profilePicture` to the URL query string if (getProfilePicture() != null) { try { - joiner.add(String.format("%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sprofilePicture%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getProfilePicture()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -579,7 +579,7 @@ public String toUrlQueryString(String prefix) { // add `isTopSpeaker` to the URL query string if (getIsTopSpeaker() != null) { try { - joiner.add(String.format("%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sisTopSpeaker%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getIsTopSpeaker()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -590,8 +590,8 @@ public String toUrlQueryString(String prefix) { if (getLinks() != null) { for (int i = 0; i < getLinks().size(); i++) { if (getLinks().get(i) != null) { - joiner.add(getLinks().get(i).toUrlQueryString(String.format("%slinks%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getLinks().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%slinks%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } @@ -599,7 +599,7 @@ public String toUrlQueryString(String prefix) { // add `fullName` to the URL query string if (getFullName() != null) { try { - joiner.add(String.format("%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfullName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFullName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -610,8 +610,8 @@ public String toUrlQueryString(String prefix) { if (getSessions() != null) { for (int i = 0; i < getSessions().size(); i++) { try { - joiner.add(String.format("%ssessions%s%s=%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix), + joiner.add(String.format(java.util.Locale.ROOT, "%ssessions%s%s=%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix), URLEncoder.encode(String.valueOf(getSessions().get(i)), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported @@ -624,8 +624,8 @@ public String toUrlQueryString(String prefix) { if (getQuestionAnswers() != null) { for (int i = 0; i < getQuestionAnswers().size(); i++) { if (getQuestionAnswers().get(i) != null) { - joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format("%squestionAnswers%s%s", prefix, suffix, - "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix)))); + joiner.add(getQuestionAnswers().get(i).toUrlQueryString(String.format(java.util.Locale.ROOT, "%squestionAnswers%s%s", prefix, suffix, + "".equals(suffix) ? "" : String.format(java.util.Locale.ROOT, "%s%d%s", containerPrefix, i, containerSuffix)))); } } } diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java index 320165b..5ee124e 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerMinimal.java @@ -57,7 +57,7 @@ public SpeakerMinimal id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -65,7 +65,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -82,7 +82,7 @@ public SpeakerMinimal name(@jakarta.annotation.Nonnull String name) { * @return name */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getName() { @@ -90,7 +90,7 @@ public String getName() { } - @JsonProperty(JSON_PROPERTY_NAME) + @JsonProperty(value = JSON_PROPERTY_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setName(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -170,7 +170,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -180,7 +180,7 @@ public String toUrlQueryString(String prefix) { // add `name` to the URL query string if (getName() != null) { try { - joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java index 982bc75..9a55d90 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/SpeakerWithEmail.java @@ -67,7 +67,7 @@ public SpeakerWithEmail id(@jakarta.annotation.Nonnull UUID id) { * @return id */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public UUID getId() { @@ -75,7 +75,7 @@ public UUID getId() { } - @JsonProperty(JSON_PROPERTY_ID) + @JsonProperty(value = JSON_PROPERTY_ID, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setId(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -92,7 +92,7 @@ public SpeakerWithEmail firstName(@jakarta.annotation.Nonnull String firstName) * @return firstName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getFirstName() { @@ -100,7 +100,7 @@ public String getFirstName() { } - @JsonProperty(JSON_PROPERTY_FIRST_NAME) + @JsonProperty(value = JSON_PROPERTY_FIRST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFirstName(@jakarta.annotation.Nonnull String firstName) { this.firstName = firstName; @@ -117,7 +117,7 @@ public SpeakerWithEmail lastName(@jakarta.annotation.Nonnull String lastName) { * @return lastName */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getLastName() { @@ -125,7 +125,7 @@ public String getLastName() { } - @JsonProperty(JSON_PROPERTY_LAST_NAME) + @JsonProperty(value = JSON_PROPERTY_LAST_NAME, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setLastName(@jakarta.annotation.Nonnull String lastName) { this.lastName = lastName; @@ -142,7 +142,7 @@ public SpeakerWithEmail email(@jakarta.annotation.Nonnull String email) { * @return email */ @jakarta.annotation.Nonnull - @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonProperty(value = JSON_PROPERTY_EMAIL, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public String getEmail() { @@ -150,7 +150,7 @@ public String getEmail() { } - @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonProperty(value = JSON_PROPERTY_EMAIL, required = true) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setEmail(@jakarta.annotation.Nonnull String email) { this.email = email; @@ -234,7 +234,7 @@ public String toUrlQueryString(String prefix) { // add `id` to the URL query string if (getId() != null) { try { - joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -244,7 +244,7 @@ public String toUrlQueryString(String prefix) { // add `firstName` to the URL query string if (getFirstName() != null) { try { - joiner.add(String.format("%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%sfirstName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getFirstName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -254,7 +254,7 @@ public String toUrlQueryString(String prefix) { // add `lastName` to the URL query string if (getLastName() != null) { try { - joiner.add(String.format("%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%slastName%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getLastName()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); @@ -264,7 +264,7 @@ public String toUrlQueryString(String prefix) { // add `email` to the URL query string if (getEmail() != null) { try { - joiner.add(String.format("%semail%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEmail()), "UTF-8").replaceAll("\\+", "%20"))); + joiner.add(String.format(java.util.Locale.ROOT, "%semail%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getEmail()), "UTF-8").replaceAll("\\+", "%20"))); } catch (UnsupportedEncodingException e) { // Should never happen, UTF-8 is always supported throw new RuntimeException(e); diff --git a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java index 2320008..da33e2e 100644 --- a/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java +++ b/sessionize-java-client/src/generated/java/software/xdev/sessionize/model/Status.java @@ -76,7 +76,7 @@ public String toUrlQueryString(String prefix) { prefix = ""; } - return String.format("%s=%s", prefix, this.toString()); + return String.format(java.util.Locale.ROOT, "%s=%s", prefix, this.toString()); } } From 9996550d1c735a71723a09685726e9095c1fadd4 Mon Sep 17 00:00:00 2001 From: AB Date: Mon, 19 Jan 2026 09:45:30 +0100 Subject: [PATCH 141/141] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2600965..c24cb6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.2.8 +* Regenerated code with latest OpenApi Generator version +* Updated dependencies + # 1.2.7 * Migrated deployment to _Sonatype Maven Central Portal_ [#155](https://github.com/xdev-software/standard-maven-template/issues/155) * Updated dependencies