From 89269ad8820357fcc7ef7a2f1b4c259909baa93a Mon Sep 17 00:00:00 2001 From: Heitham Omar Date: Sat, 28 Oct 2023 15:42:43 +0100 Subject: [PATCH] fix(java): generate correct enum constructor when string format is uri Before: COM_V1_SCHEMA_JSON("https://example.com/v1/schema.json") After: COM_V1_SCHEMA_JSON(URI.create("https://example.com/v1/schema.json"), --- .../org/openapitools/codegen/languages/AbstractJavaCodegen.java | 2 ++ .../org/openapitools/codegen/java/AbstractJavaCodegenTest.java | 1 + 2 files changed, 3 insertions(+) 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 e0f94fea1928..62b8bda30c73 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 @@ -1734,6 +1734,8 @@ public String toEnumValue(String value, String datatype) { } else if ("BigDecimal".equals(datatype)) { // use BigDecimal String constructor return "new BigDecimal(\"" + value + "\")"; + } else if ("URI".equals(datatype)) { + return "URI.create(\"" + escapeText(value) + "\")"; } else { return "\"" + escapeText(value) + "\""; } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java index 56be46d46f6f..31c97e6c65fc 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java @@ -332,6 +332,7 @@ public void toEnumValue() { Assert.assertEquals(codegen.toEnumValue("42", "Double"), "42"); Assert.assertEquals(codegen.toEnumValue("1337", "Long"), "1337l"); Assert.assertEquals(codegen.toEnumValue("3.14", "Float"), "3.14f"); + Assert.assertEquals(codegen.toEnumValue("schema.json", "URI"), "URI.create(\"schema.json\")"); } @Test