fix NPE for enum (#5445)

This commit is contained in:
William Cheng 2020-02-27 12:04:38 +08:00 committed by GitHub
parent 6ad9fbc9a6
commit ba0d673eaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4762,17 +4762,18 @@ public class DefaultCodegen implements CodegenConfig {
protected List<Map<String, Object>> buildEnumVars(List<Object> values, String dataType) {
List<Map<String, Object>> enumVars = new ArrayList<>();
int truncateIdx = 0;
if (isRemoveEnumValuePrefix()) {
String commonPrefix = findCommonPrefixOfVars(values);
truncateIdx = commonPrefix.length();
}
for (Object value : values) {
Map<String, Object> 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);
}