Skip to content

Commit 2b7851a

Browse files
committed
support x-enumNames vendor extension and make it available to Java template
1 parent 049b1b2 commit 2b7851a

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3554,6 +3554,7 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
35543554
List<Map<String, String>> enumVars = new ArrayList<Map<String, String>>();
35553555
String commonPrefix = findCommonPrefixOfVars(values);
35563556
int truncateIdx = commonPrefix.length();
3557+
int idx = 0;
35573558
for (Object value : values) {
35583559
Map<String, String> enumVar = new HashMap<String, String>();
35593560
String enumName;
@@ -3567,7 +3568,11 @@ public void updateCodegenPropertyEnum(CodegenProperty var) {
35673568
}
35683569
enumVar.put("name", toEnumVarName(enumName, var.datatype));
35693570
enumVar.put("value", toEnumValue(value.toString(), var.datatype));
3571+
if(var.vendorExtensions.containsKey("x-enumNames")) {
3572+
enumVar.put("x-enumName", (String)((List)var.vendorExtensions.get("x-enumNames")).get(idx));
3573+
}
35703574
enumVars.add(enumVar);
3575+
idx++;
35713576
}
35723577
allowableValues.put("enumVars", enumVars);
35733578

modules/swagger-codegen/src/main/resources/Java/modelEnum.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import com.google.gson.stream.JsonWriter;
1818
{{/gson}}
1919
public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
2020
{{#allowableValues}}{{#enumVars}}
21-
{{{name}}}({{{value}}}){{^-last}},
21+
{{#x-enumName}}{{{x-enumName}}}{{/x-enumName}}{{^x-enumName}}{{{name}}}{{/x-enumName}}({{{value}}}){{^-last}},
2222
{{/-last}}{{#-last}};{{/-last}}{{/enumVars}}{{/allowableValues}}
2323

2424
private {{{dataType}}} value;

modules/swagger-codegen/src/main/resources/Java/modelInnerEnum.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
public enum {{#datatypeWithEnum}}{{{.}}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {
88
{{#allowableValues}}
99
{{#enumVars}}
10-
{{{name}}}({{{value}}}){{^-last}},
10+
{{#x-enumName}}{{{x-enumName}}}{{/x-enumName}}{{^x-enumName}}{{{name}}}{{/x-enumName}}({{{value}}}){{^-last}},
1111
{{/-last}}{{#-last}};{{/-last}}
1212
{{/enumVars}}
1313
{{/allowableValues}}

0 commit comments

Comments
 (0)