From ba0d673eaa0e1814f78bde4ddcef8959af4795aa Mon Sep 17 00:00:00 2001 From: William Cheng Date: Thu, 27 Feb 2020 12:04:38 +0800 Subject: [PATCH] fix NPE for enum (#5445) --- .../java/org/openapitools/codegen/DefaultCodegen.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index fe54c87dcb6..fd035085bca 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -4762,17 +4762,18 @@ public class DefaultCodegen implements CodegenConfig { protected List> buildEnumVars(List values, String dataType) { List> enumVars = new ArrayList<>(); int truncateIdx = 0; + if (isRemoveEnumValuePrefix()) { String commonPrefix = findCommonPrefixOfVars(values); truncateIdx = commonPrefix.length(); } + for (Object value : values) { Map enumVar = new HashMap<>(); String enumName; if (truncateIdx == 0) { - enumName = value.toString(); - } - else { + enumName = String.valueOf(value); + } else { enumName = value.toString().substring(truncateIdx); if ("".equals(enumName)) { enumName = value.toString(); @@ -4780,7 +4781,7 @@ public class DefaultCodegen implements CodegenConfig { } enumVar.put("name", toEnumVarName(enumName, dataType)); - enumVar.put("value", toEnumValue(value.toString(), dataType)); + enumVar.put("value", toEnumValue(String.valueOf(value), dataType)); enumVar.put("isString", isDataTypeString(dataType)); enumVars.add(enumVar); }