From e8e62ccadbfc7253ec2b918b2f0c946899c2e646 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Fri, 7 Apr 2023 15:54:42 +0800 Subject: [PATCH] simplify enum of string & string to enum of string (#15149) --- .../java/org/openapitools/codegen/OpenAPINormalizer.java | 8 ++++---- .../org/openapitools/codegen/OpenAPINormalizerTest.java | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java index bf9d4dcfca6..6b98b0d5e24 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/OpenAPINormalizer.java @@ -598,7 +598,7 @@ public class OpenAPINormalizer { /** * If the schema is anyOf and the sub-schemas are either string or enum of string, - * then simplify it to just string as many generators do not yet support anyOf. + * then simplify it to just enum of string as many generators do not yet support anyOf. * * @param schema Schema * @return Schema @@ -624,12 +624,12 @@ public class OpenAPINormalizer { s0 = ModelUtils.getReferencedSchema(openAPI, s0); s1 = ModelUtils.getReferencedSchema(openAPI, s1); - // find the string schema (not enum) + // find the string schema (enum) if (s0 instanceof StringSchema && s1 instanceof StringSchema) { if (((StringSchema) s0).getEnum() != null) { // s0 is enum, s1 is string - result = (StringSchema) s1; - } else if (((StringSchema) s1).getEnum() != null) { // s1 is enum, s0 is string result = (StringSchema) s0; + } else if (((StringSchema) s1).getEnum() != null) { // s1 is enum, s0 is string + result = (StringSchema) s1; } else { // both are string result = schema; } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/OpenAPINormalizerTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/OpenAPINormalizerTest.java index 93deecc445d..79535e0d241 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/OpenAPINormalizerTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/OpenAPINormalizerTest.java @@ -132,6 +132,7 @@ public class OpenAPINormalizerTest { Schema schema3 = openAPI.getComponents().getSchemas().get("AnyOfTest"); assertNull(schema3.getAnyOf()); assertTrue(schema3 instanceof StringSchema); + assertTrue(schema3.getEnum().size() > 0); } @Test