From efa575e888811bb7309373afc0b37f8a9af29503 Mon Sep 17 00:00:00 2001 From: zewang Date: Wed, 17 Mar 2021 00:18:56 -0700 Subject: [PATCH 01/12] [Java][Jaxrs-Resteasy] Fixes generator devaultValues for int64/float/double --- .../languages/JavaResteasyServerCodegen.java | 6 +++ .../codegen/languages/SpringCodegen.java | 19 +-------- .../codegen/utils/PostProcessUtils.java | 41 +++++++++++++++++++ .../src/test/resources/3_0/issue8986.yaml | 40 ++++++++++++++++++ 4 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java create mode 100644 modules/openapi-generator/src/test/resources/3_0/issue8986.yaml diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java index 0220a882df54..7eb68b1aa262 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java @@ -23,6 +23,7 @@ import org.openapitools.codegen.*; import org.openapitools.codegen.languages.features.JbossFeature; import org.openapitools.codegen.meta.features.DocumentationFeature; +import org.openapitools.codegen.utils.PostProcessUtils; import java.io.File; import java.util.ArrayList; @@ -171,6 +172,11 @@ public Map postProcessModelsEnum(Map objs) { return objs; } + @Override + public void postProcessParameter(CodegenParameter p) { + PostProcessUtils.postProcessParameter(p); + } + public void setGenerateJbossDeploymentDescriptor(boolean generateJbossDeploymentDescriptor) { this.generateJbossDeploymentDescriptor = generateJbossDeploymentDescriptor; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java index 46d4f87ea016..bb65cc9a49a4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java @@ -29,6 +29,7 @@ import org.openapitools.codegen.meta.features.*; import org.openapitools.codegen.templating.mustache.SplitStringLambda; import org.openapitools.codegen.templating.mustache.TrimWhitespaceLambda; +import org.openapitools.codegen.utils.PostProcessUtils; import org.openapitools.codegen.utils.URLPathUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -877,22 +878,6 @@ public void setUseOptional(boolean useOptional) { @Override public void postProcessParameter(CodegenParameter p) { - // we use a custom version of this function to remove the l, d, and f suffixes from Long/Double/Float - // defaultValues - // remove the l because our users will use Long.parseLong(String defaultValue) - // remove the d because our users will use Double.parseDouble(String defaultValue) - // remove the f because our users will use Float.parseFloat(String defaultValue) - // NOTE: for CodegenParameters we DO need these suffixes because those defaultValues are used as java value - // literals assigned to Long/Double/Float - if (p.defaultValue == null) { - return; - } - Boolean fixLong = (p.isLong && "l".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - Boolean fixDouble = (p.isDouble && "d".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - Boolean fixFloat = (p.isFloat && "f".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - if (fixLong || fixDouble || fixFloat) { - p.defaultValue = p.defaultValue.substring(0, p.defaultValue.length()-1); - } + PostProcessUtils.postProcessParameter(p); } - } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java new file mode 100644 index 000000000000..3f37f44cc98d --- /dev/null +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java @@ -0,0 +1,41 @@ +/* + * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) + * Copyright 2018 SmartBear Software + * + * Licensed 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 + * + * https://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. + */ +package org.openapitools.codegen.utils; + +import org.openapitools.codegen.CodegenParameter; + +public class PostProcessUtils { + public static void postProcessParameter(CodegenParameter p) { + // we use a custom version of this function to remove the l, d, and f suffixes from Long/Double/Float + // defaultValues + // remove the l because our users will use Long.parseLong(String defaultValue) + // remove the d because our users will use Double.parseDouble(String defaultValue) + // remove the f because our users will use Float.parseFloat(String defaultValue) + // NOTE: for CodegenParameters we DO need these suffixes because those defaultValues are used as java value + // literals assigned to Long/Double/Float + if (p.defaultValue == null) { + return; + } + + Boolean fixLong = (p.isLong && "l".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + Boolean fixDouble = (p.isDouble && "d".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + Boolean fixFloat = (p.isFloat && "f".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + if (fixLong || fixDouble || fixFloat) { + p.defaultValue = p.defaultValue.substring(0, p.defaultValue.length()-1); + } + } +} diff --git a/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml b/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml new file mode 100644 index 000000000000..a28461bcf718 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml @@ -0,0 +1,40 @@ +openapi: 3.0.0 +info: + title: My title + description: API under test + version: 1.0.7 +servers: + - url: https://localhost:9999/root +paths: + /numericqueryparams: + get: + tags: + - user + summary: a test route for numeric query params + description: '' + operationId: numericQueryParams + produces: + - application/json + parameters: + - in: query + name: int64 + schema: + type: integer + format: int64 + default: 21474836487 + - in: query + name: float + schema: + type: number + format: float + default: 3.14159 + - in: query + name: double + schema: + type: number + format: double + default: 3.14159 + responses: + default: + description: successful operation +securityDefinitions: {} From 4ab2250affa19f4e21d5b9e6b1d8474f11b23566 Mon Sep 17 00:00:00 2001 From: zewang Date: Wed, 17 Mar 2021 00:32:07 -0700 Subject: [PATCH 02/12] add test --- ...vaJaxrsResteasyServerCodegenModelTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java index 43db1850cfa0..5399d739b6bd 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java @@ -1,11 +1,16 @@ package org.openapitools.codegen.java.jaxrs; import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.MapSchema; import io.swagger.v3.oas.models.media.Schema; import org.openapitools.codegen.CodegenModel; +import org.openapitools.codegen.CodegenOperation; +import org.openapitools.codegen.CodegenParameter; +import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.TestUtils; import org.openapitools.codegen.languages.JavaResteasyServerCodegen; +import org.testng.Assert; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -33,4 +38,32 @@ public void mapModelTest() { assertTrue(cm.imports.contains("HashMap")); } + @Test(description = "remove suffix for int64, float and double types") + public void testDefaultValuesFixed() { + // we had an issue where int64, float, and double values were having single character string suffixes + // included in their defaultValues + // This test verifies that those characters are no longer present + final OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/issue8986.yaml"); + final JavaResteasyServerCodegen codegen = new JavaResteasyServerCodegen(); + codegen.setOpenAPI(openAPI); + + String int64Val = "9223372036854775807l"; + String floatVal = "3.14159f"; + String doubleVal = "3.14159d"; + + int64Val = "21474836487"; + floatVal = "3.14159"; + doubleVal = "3.14159"; + + // make sure that the operation parameters omit character suffixes + String route = "/numericqueryparams"; + Operation op = openAPI.getPaths().get(route).getGet(); + CodegenOperation co = codegen.fromOperation(route, "GET", op, null); + CodegenParameter int64Param = co.queryParams.get(0); + CodegenParameter floatParam = co.queryParams.get(1); + CodegenParameter doubleParam = co.queryParams.get(2); + Assert.assertEquals(int64Param.defaultValue, int64Val); + Assert.assertEquals(floatParam.defaultValue, floatVal); + Assert.assertEquals(doubleParam.defaultValue, doubleVal); + } } From 30d59b9ca3e565c73397f4935d7df53925f1c3e6 Mon Sep 17 00:00:00 2001 From: zewang Date: Wed, 17 Mar 2021 09:10:17 -0700 Subject: [PATCH 03/12] fix tests --- .../jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java | 10 +++------- .../src/test/resources/3_0/issue8986.yaml | 2 +- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java index 5399d739b6bd..33872206bc4d 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java @@ -47,13 +47,9 @@ public void testDefaultValuesFixed() { final JavaResteasyServerCodegen codegen = new JavaResteasyServerCodegen(); codegen.setOpenAPI(openAPI); - String int64Val = "9223372036854775807l"; - String floatVal = "3.14159f"; - String doubleVal = "3.14159d"; - - int64Val = "21474836487"; - floatVal = "3.14159"; - doubleVal = "3.14159"; + String int64Val = "100"; + String floatVal = "3.14159"; + String doubleVal = "3.14159"; // make sure that the operation parameters omit character suffixes String route = "/numericqueryparams"; diff --git a/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml b/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml index a28461bcf718..cececacc1508 100644 --- a/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/issue8986.yaml @@ -21,7 +21,7 @@ paths: schema: type: integer format: int64 - default: 21474836487 + default: 100 - in: query name: float schema: From a4359e2efcd2de0399cb6d94db8f687a91beb1dd Mon Sep 17 00:00:00 2001 From: zewang Date: Wed, 17 Mar 2021 11:51:16 -0700 Subject: [PATCH 04/12] trigger rerun of timeout tests --- .../java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java index 33872206bc4d..b014d73b4a5a 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java @@ -50,7 +50,6 @@ public void testDefaultValuesFixed() { String int64Val = "100"; String floatVal = "3.14159"; String doubleVal = "3.14159"; - // make sure that the operation parameters omit character suffixes String route = "/numericqueryparams"; Operation op = openAPI.getPaths().get(route).getGet(); From e1d66711b81c0a617cdb28eddc4486f445cbacc6 Mon Sep 17 00:00:00 2001 From: zewang Date: Thu, 18 Mar 2021 11:30:36 -0700 Subject: [PATCH 05/12] remove SmartBear line from comments for new files --- .../src/main/java/org/openapitools/codegen/utils/SemVer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java index 0dc350677794..648bd68172b2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java @@ -1,6 +1,5 @@ /* * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) - * Copyright 2018 SmartBear Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From 0d10d1fca0238f2179a78131fc6f8fd11fa11c8e Mon Sep 17 00:00:00 2001 From: zewang Date: Mon, 22 Mar 2021 09:40:36 -0700 Subject: [PATCH 06/12] trigger rerun of validations --- .../java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java index b014d73b4a5a..515277fd21f6 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/jaxrs/JavaJaxrsResteasyServerCodegenModelTest.java @@ -50,7 +50,7 @@ public void testDefaultValuesFixed() { String int64Val = "100"; String floatVal = "3.14159"; String doubleVal = "3.14159"; - // make sure that the operation parameters omit character suffixes + // make sure that the operation parameters omit character suffixes. String route = "/numericqueryparams"; Operation op = openAPI.getPaths().get(route).getGet(); CodegenOperation co = codegen.fromOperation(route, "GET", op, null); From 5327b665e93afec54842b62a583427e866f7243d Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 09:55:37 -0700 Subject: [PATCH 07/12] trigger rerun of validations --- .../src/main/java/org/openapitools/codegen/utils/SemVer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java index 648bd68172b2..80b58074f08b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java @@ -1,5 +1,6 @@ /* * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) + * Copyright 2018 SmartBear Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,4 +76,4 @@ public boolean equals(Object obj) { return true; } -} \ No newline at end of file +} From 23cd4a7fdb2550416914be2a6a68a3fd86212f5c Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 09:58:25 -0700 Subject: [PATCH 08/12] trigger rerun of validations --- .../src/main/java/org/openapitools/codegen/utils/SemVer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java index 80b58074f08b..0dc350677794 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java @@ -76,4 +76,4 @@ public boolean equals(Object obj) { return true; } -} +} \ No newline at end of file From 84687ef85eb090ba5f7b8ee95521f69a60f00bfa Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 10:02:43 -0700 Subject: [PATCH 09/12] trigger rerun of validations --- .../src/main/java/org/openapitools/codegen/utils/SemVer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java index 0dc350677794..f30d63baa52a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java @@ -75,5 +75,4 @@ public boolean equals(Object obj) { return false; return true; } - } \ No newline at end of file From 23090225faf28fdd31a94c2e68907f52d9130a08 Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 10:03:11 -0700 Subject: [PATCH 10/12] trigger rerun of validations --- .../src/main/java/org/openapitools/codegen/utils/SemVer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java index f30d63baa52a..0dc350677794 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/SemVer.java @@ -75,4 +75,5 @@ public boolean equals(Object obj) { return false; return true; } + } \ No newline at end of file From 5f2c0c15ca9d7f7023c669c89189f4a094090345 Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 10:29:11 -0700 Subject: [PATCH 11/12] move postProcessParameter to AbstractJavaCodegen --- .../languages/AbstractJavaCodegen.java | 22 ++++++++++ .../languages/JavaResteasyServerCodegen.java | 9 ---- .../codegen/languages/SpringCodegen.java | 6 --- .../codegen/utils/PostProcessUtils.java | 41 ------------------- 4 files changed, 22 insertions(+), 56 deletions(-) delete mode 100644 modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 90ef61d449dd..4491fea0e74e 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -38,6 +38,7 @@ import org.openapitools.codegen.*; import org.openapitools.codegen.meta.features.*; import org.openapitools.codegen.utils.ModelUtils; +import org.openapitools.codegen.utils.PostProcessUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1430,6 +1431,27 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation return op; } + @Override + public void postProcessParameter(CodegenParameter p) { + // we use a custom version of this function to remove the l, d, and f suffixes from Long/Double/Float + // defaultValues + // remove the l because our users will use Long.parseLong(String defaultValue) + // remove the d because our users will use Double.parseDouble(String defaultValue) + // remove the f because our users will use Float.parseFloat(String defaultValue) + // NOTE: for CodegenParameters we DO need these suffixes because those defaultValues are used as java value + // literals assigned to Long/Double/Float + if (p.defaultValue == null) { + return; + } + + Boolean fixLong = (p.isLong && "l".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + Boolean fixDouble = (p.isDouble && "d".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + Boolean fixFloat = (p.isFloat && "f".equals(p.defaultValue.substring(p.defaultValue.length()-1))); + if (fixLong || fixDouble || fixFloat) { + p.defaultValue = p.defaultValue.substring(0, p.defaultValue.length()-1); + } + } + private static CodegenModel reconcileInlineEnums(CodegenModel codegenModel, CodegenModel parentCodegenModel) { // This generator uses inline classes to define enums, which breaks when // dealing with models that have subTypes. To clean this up, we will analyze diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java index 7eb68b1aa262..0970e975b965 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaResteasyServerCodegen.java @@ -17,16 +17,12 @@ package org.openapitools.codegen.languages; -import io.swagger.v3.oas.models.Operation; import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.*; import org.openapitools.codegen.languages.features.JbossFeature; import org.openapitools.codegen.meta.features.DocumentationFeature; -import org.openapitools.codegen.utils.PostProcessUtils; import java.io.File; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -172,11 +168,6 @@ public Map postProcessModelsEnum(Map objs) { return objs; } - @Override - public void postProcessParameter(CodegenParameter p) { - PostProcessUtils.postProcessParameter(p); - } - public void setGenerateJbossDeploymentDescriptor(boolean generateJbossDeploymentDescriptor) { this.generateJbossDeploymentDescriptor = generateJbossDeploymentDescriptor; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java index bb65cc9a49a4..0610a858eefe 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java @@ -29,7 +29,6 @@ import org.openapitools.codegen.meta.features.*; import org.openapitools.codegen.templating.mustache.SplitStringLambda; import org.openapitools.codegen.templating.mustache.TrimWhitespaceLambda; -import org.openapitools.codegen.utils.PostProcessUtils; import org.openapitools.codegen.utils.URLPathUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -875,9 +874,4 @@ public void setPerformBeanValidation(boolean performBeanValidation) { public void setUseOptional(boolean useOptional) { this.useOptional = useOptional; } - - @Override - public void postProcessParameter(CodegenParameter p) { - PostProcessUtils.postProcessParameter(p); - } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java deleted file mode 100644 index 3f37f44cc98d..000000000000 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/utils/PostProcessUtils.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2018 OpenAPI-Generator Contributors (https://openapi-generator.tech) - * Copyright 2018 SmartBear Software - * - * Licensed 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 - * - * https://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. - */ -package org.openapitools.codegen.utils; - -import org.openapitools.codegen.CodegenParameter; - -public class PostProcessUtils { - public static void postProcessParameter(CodegenParameter p) { - // we use a custom version of this function to remove the l, d, and f suffixes from Long/Double/Float - // defaultValues - // remove the l because our users will use Long.parseLong(String defaultValue) - // remove the d because our users will use Double.parseDouble(String defaultValue) - // remove the f because our users will use Float.parseFloat(String defaultValue) - // NOTE: for CodegenParameters we DO need these suffixes because those defaultValues are used as java value - // literals assigned to Long/Double/Float - if (p.defaultValue == null) { - return; - } - - Boolean fixLong = (p.isLong && "l".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - Boolean fixDouble = (p.isDouble && "d".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - Boolean fixFloat = (p.isFloat && "f".equals(p.defaultValue.substring(p.defaultValue.length()-1))); - if (fixLong || fixDouble || fixFloat) { - p.defaultValue = p.defaultValue.substring(0, p.defaultValue.length()-1); - } - } -} From c5bbdb9004075df8a98cd37006b327f96ee68671 Mon Sep 17 00:00:00 2001 From: zewang Date: Tue, 23 Mar 2021 10:30:54 -0700 Subject: [PATCH 12/12] move postProcessParameter to AbstractJavaCodegen --- .../org/openapitools/codegen/languages/AbstractJavaCodegen.java | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 4491fea0e74e..09a8b5af8c1a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -38,7 +38,6 @@ import org.openapitools.codegen.*; import org.openapitools.codegen.meta.features.*; import org.openapitools.codegen.utils.ModelUtils; -import org.openapitools.codegen.utils.PostProcessUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory;