forked from loafle/openapi-generator-original
Ensured enum entry name is unique (#16484)
* ensured enum entry name is unique * ensured enum entry name is unique
This commit is contained in:
parent
09704951f0
commit
c510ea4b3d
@ -6615,11 +6615,24 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void postProcessEnumVars(List<Map<String, Object>> enumVars) {
|
protected void postProcessEnumVars(List<Map<String, Object>> enumVars) {
|
||||||
|
Collections.reverse(enumVars);
|
||||||
enumVars.forEach(v -> {
|
enumVars.forEach(v -> {
|
||||||
if (enumVars.stream().filter(v1 -> v1.get("name").equals(v.get("name"))).count() > 1) {
|
String name = (String) v.get("name");
|
||||||
LOGGER.debug("Enumeration contains duplicate name " + v.get("name"));
|
long count = enumVars.stream().filter(v1 -> v1.get("name").equals(name)).count();
|
||||||
|
if (count > 1) {
|
||||||
|
String uniqueEnumName = getUniqueEnumName(name, enumVars);
|
||||||
|
LOGGER.debug("Changing duplicate enumeration name from " + v.get("name") + " to " + uniqueEnumName);
|
||||||
|
v.put("name", uniqueEnumName);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Collections.reverse(enumVars);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getUniqueEnumName(String name, List<Map<String, Object>> enumVars) {
|
||||||
|
long count = enumVars.stream().filter(v -> v.get("name").equals(name)).count();
|
||||||
|
return count > 1
|
||||||
|
? getUniqueEnumName(name + count, enumVars)
|
||||||
|
: name;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void updateEnumVarsWithExtensions(List<Map<String, Object>> enumVars, Map<String, Object> vendorExtensions, String dataType) {
|
protected void updateEnumVarsWithExtensions(List<Map<String, Object>> enumVars, Map<String, Object> vendorExtensions, String dataType) {
|
||||||
|
@ -409,28 +409,6 @@ public abstract class AbstractCSharpCodegen extends DefaultCodegen implements Co
|
|||||||
this.setTypeMapping();
|
this.setTypeMapping();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void postProcessEnumVars(List<Map<String, Object>> enumVars) {
|
|
||||||
Collections.reverse(enumVars);
|
|
||||||
enumVars.forEach(v -> {
|
|
||||||
String name = (String) v.get("name");
|
|
||||||
long count = enumVars.stream().filter(v1 -> v1.get("name").equals(name)).count();
|
|
||||||
if (count > 1) {
|
|
||||||
String uniqueEnumName = getUniqueEnumName(name, enumVars);
|
|
||||||
LOGGER.debug("Changing duplicate enumeration name from " + v.get("name") + " to " + uniqueEnumName);
|
|
||||||
v.put("name", uniqueEnumName);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Collections.reverse(enumVars);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getUniqueEnumName(String name, List<Map<String, Object>> enumVars) {
|
|
||||||
long count = enumVars.stream().filter(v -> v.get("name").equals(name)).count();
|
|
||||||
return count > 1
|
|
||||||
? getUniqueEnumName(name + count, enumVars)
|
|
||||||
: name;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected ImmutableMap.Builder<String, Lambda> addMustacheLambdas() {
|
protected ImmutableMap.Builder<String, Lambda> addMustacheLambdas() {
|
||||||
return super.addMustacheLambdas()
|
return super.addMustacheLambdas()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user