@@ -3866,7 +3866,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
3866
3866
}
3867
3867
3868
3868
// 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 <>();
3870
3870
String commonPrefix = findCommonPrefixOfVars (values );
3871
3871
int truncateIdx = commonPrefix .length ();
3872
3872
for (Object value : values ) {
@@ -3882,6 +3882,24 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
3882
3882
}
3883
3883
allowableValues .put ("enumVars" , enumVars );
3884
3884
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
+
3885
3903
// handle default value for enum, e.g. available => StatusEnum.AVAILABLE
3886
3904
if (var .defaultValue != null ) {
3887
3905
String enumName = null ;
0 commit comments