From 652b6a7334a447f3387355719ed40a6fceb8615f Mon Sep 17 00:00:00 2001 From: Tim Quinn Date: Wed, 7 Aug 2024 09:29:45 -0500 Subject: [PATCH 1/3] Minor change to Helidon version handling Signed-off-by: Tim Quinn --- .../languages/JavaHelidonCommonCodegen.java | 26 ++++++++++++++++++- .../languages/HelidonCommonCodegenTest.java | 6 +++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java index c0b5105a8d6e..9a1e2de5d875 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java @@ -483,7 +483,7 @@ private HashMap loadKnownHttpStatusMap() { } private void setHelidonVersion(String version) { - helidonVersion = VersionUtil.instance().chooseVersion(version); + helidonVersion = VersionUtil.instance().chooseVersionBestMatchOrSelf(version); setParentVersion(helidonVersion); helidonMajorVersion = VersionUtil.majorVersion(helidonVersion); } @@ -769,6 +769,30 @@ String chooseVersion(String requestedVersion) { return chooseVersion(requestedVersion, versions); } + /** + * Returns either the best match version of, if there is none, the requested version itself to allow references to + * unpublished releases such as snapshots. + * + * @param requestedVersion version to search for + * @return either the best match or, if none, the requested version itself + */ + String chooseVersionBestMatchOrSelf(String requestedVersion) { + return chooseVersionBestMatchOrSelf(requestedVersion, versions); + } + + /** + * Returns either the best match version of, if there is none, the requested version itself to allow references to + * unpublished releases such as snapshots. + * + * @param requestedVersion version to search for + * @param candidateVersions releases to consider + * @return either the best match or, if none, the requested version itself + */ + String chooseVersionBestMatchOrSelf(String requestedVersion, List candidateVersions) { + String bestMatch = chooseVersion(requestedVersion, candidateVersions); + return bestMatch != null ? bestMatch : requestedVersion; + } + /** * Returns the version that is the "closest" match to the requested version expression from among the provided * releases, where the expression expression is one of the following: diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/languages/HelidonCommonCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/languages/HelidonCommonCodegenTest.java index 32e487e85434..750e722f2fe2 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/languages/HelidonCommonCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/languages/HelidonCommonCodegenTest.java @@ -48,4 +48,10 @@ void testVersionNotInDefaultListWithNoNetwork() { } + + @Test void checkUseOfUnpublishedRelease() { + assertThat(test.chooseVersionBestMatchOrSelf("4.0.11-SNAPSHOT", + List.of("4.0.10", "3.2.1", "3.2.0", "2.0.4", "1.2.3", "1.2.2", "1.1.0"))) + .isEqualTo("4.0.11-SNAPSHOT"); + } } From 311683399028a517dbc90f13800c2f90259f2a5d Mon Sep 17 00:00:00 2001 From: Tim Quinn Date: Thu, 8 Aug 2024 08:38:09 -0500 Subject: [PATCH 2/3] Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java Co-authored-by: martin-mfg <2026226+martin-mfg@users.noreply.github.com> --- .../codegen/languages/JavaHelidonCommonCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java index 9a1e2de5d875..d64bf0e10681 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java @@ -770,7 +770,7 @@ String chooseVersion(String requestedVersion) { } /** - * Returns either the best match version of, if there is none, the requested version itself to allow references to + * Returns either the best match version or, if there is none, the requested version itself to allow references to * unpublished releases such as snapshots. * * @param requestedVersion version to search for From 857aa5354d389396681f0d5694bc88de561337b9 Mon Sep 17 00:00:00 2001 From: Tim Quinn Date: Thu, 8 Aug 2024 11:30:00 -0500 Subject: [PATCH 3/3] Review comments: fix typo in comment --- .../codegen/languages/JavaHelidonCommonCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java index d64bf0e10681..b2b3d1a6df13 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaHelidonCommonCodegen.java @@ -781,7 +781,7 @@ String chooseVersionBestMatchOrSelf(String requestedVersion) { } /** - * Returns either the best match version of, if there is none, the requested version itself to allow references to + * Returns either the best match version or, if there is none, the requested version itself to allow references to * unpublished releases such as snapshots. * * @param requestedVersion version to search for