Skip to content

Commit 0918364

Browse files
authored
Merge pull request #779 from swagger-api/codegen_issue_10240
renamed repearted var names
2 parents ea017af + 80595ab commit 0918364

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3866,7 +3866,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
38663866
}
38673867

38683868
// put "enumVars" map into `allowableValues", including `name` and `value`
3869-
List<Map<String, String>> enumVars = new ArrayList<Map<String, String>>();
3869+
List<Map<String, String>> enumVars = new ArrayList<>();
38703870
String commonPrefix = findCommonPrefixOfVars(values);
38713871
int truncateIdx = commonPrefix.length();
38723872
for (Object value : values) {
@@ -3882,6 +3882,24 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
38823882
}
38833883
allowableValues.put("enumVars", enumVars);
38843884

3885+
// check repeated enum var names
3886+
if (enumVars != null & !enumVars.isEmpty()) {
3887+
for (int i = 0; i < enumVars.size(); i++) {
3888+
final Map<String, String> enumVarList = enumVars.get(i);
3889+
final String enumVarName = enumVarList.get("name");
3890+
for (int j = 0; j < enumVars.size(); j++) {
3891+
if (i == j) {
3892+
continue;
3893+
}
3894+
final Map<String, String> enumVarToCheckList = enumVars.get(j);
3895+
final String enumVarNameToCheck = enumVarToCheckList.get("name");
3896+
if (enumVarName.equals(enumVarNameToCheck)) {
3897+
enumVarToCheckList.put("name", enumVarName + "_" + j);
3898+
}
3899+
}
3900+
}
3901+
}
3902+
38853903
// handle default value for enum, e.g. available => StatusEnum.AVAILABLE
38863904
if (var.defaultValue != null) {
38873905
String enumName = null;

0 commit comments

Comments
 (0)