71
71
import java .util .LinkedHashMap ;
72
72
import java .util .LinkedList ;
73
73
import java .util .List ;
74
- import java .util .ListIterator ;
75
74
import java .util .Locale ;
76
75
import java .util .Map ;
77
76
import java .util .Map .Entry ;
83
82
import java .util .stream .Stream ;
84
83
85
84
import static org .openapitools .codegen .utils .StringUtils .camelize ;
86
- import static org .openapitools .codegen .utils .StringUtils .underscore ;
87
85
import static org .openapitools .codegen .utils .StringUtils .escape ;
86
+ import static org .openapitools .codegen .utils .StringUtils .underscore ;
88
87
89
88
public class DefaultCodegen implements CodegenConfig {
90
89
private static final Logger LOGGER = LoggerFactory .getLogger (DefaultCodegen .class );
@@ -338,7 +337,7 @@ public Map<String, Object> postProcessModelsEnum(Map<String, Object> objs) {
338
337
enumVar .put ("isString" , isDataTypeString (cm .dataType ));
339
338
enumVars .add (enumVar );
340
339
}
341
- // if "x-enum-varnames" defined, update varnames
340
+ // if "x-enum-varnames" or "x-enum-descriptions" defined, update varnames
342
341
updateEnumVarsWithExtensions (enumVars , cm .getVendorExtensions ());
343
342
cm .allowableValues .put ("enumVars" , enumVars );
344
343
}
@@ -4085,7 +4084,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
4085
4084
enumVar .put ("isString" , isDataTypeString (dataType ));
4086
4085
enumVars .add (enumVar );
4087
4086
}
4088
- // if "x-enum-varnames" defined, update varnames
4087
+ // if "x-enum-varnames" or "x-enum-descriptions" defined, update varnames
4089
4088
Map <String , Object > extensions = var .mostInnerItems != null ? var .mostInnerItems .getVendorExtensions () : var .getVendorExtensions ();
4090
4089
updateEnumVarsWithExtensions (enumVars , extensions );
4091
4090
allowableValues .put ("enumVars" , enumVars );
@@ -4105,13 +4104,19 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
4105
4104
}
4106
4105
}
4107
4106
4108
- private void updateEnumVarsWithExtensions
4109
- (List <Map <String , Object >> enumVars , Map <String , Object > vendorExtensions ) {
4110
- if (vendorExtensions != null && vendorExtensions .containsKey ("x-enum-varnames" )) {
4111
- List <String > alias = (List <String >) vendorExtensions .get ("x-enum-varnames" );
4112
- int size = Math .min (enumVars .size (), alias .size ());
4107
+ private void updateEnumVarsWithExtensions (List <Map <String , Object >> enumVars , Map <String , Object > vendorExtensions ) {
4108
+ if (vendorExtensions != null ) {
4109
+ updateEnumVarsWithExtensions (enumVars , vendorExtensions , "x-enum-varnames" , "name" );
4110
+ updateEnumVarsWithExtensions (enumVars , vendorExtensions , "x-enum-descriptions" , "enumDescription" );
4111
+ }
4112
+ }
4113
+
4114
+ private void updateEnumVarsWithExtensions (List <Map <String , Object >> enumVars , Map <String , Object > vendorExtensions , String extensionKey , String key ) {
4115
+ if (vendorExtensions .containsKey (extensionKey )) {
4116
+ List <String > values = (List <String >) vendorExtensions .get (extensionKey );
4117
+ int size = Math .min (enumVars .size (), values .size ());
4113
4118
for (int i = 0 ; i < size ; i ++) {
4114
- enumVars .get (i ).put ("name" , alias .get (i ));
4119
+ enumVars .get (i ).put (key , values .get (i ));
4115
4120
}
4116
4121
}
4117
4122
}
0 commit comments