Skip to content

Commit 5ae789f

Browse files
committed
fixed unique parameter names per content type
1 parent cce09fe commit 5ae789f

File tree

1 file changed

+18
-25
lines changed

1 file changed

+18
-25
lines changed

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

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2144,31 +2144,6 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
21442144
param = getParameterFromRef(param.get$ref(), openAPI);
21452145
}
21462146
CodegenParameter codegenParameter = fromParameter(param, imports);
2147-
// rename parameters to make sure all of them have unique names
2148-
if (ensureUniqueParams) {
2149-
while (true) {
2150-
boolean exists = false;
2151-
for (CodegenParameter cp : allParams) {
2152-
if (codegenParameter.paramName != null && codegenParameter.paramName.equals(cp.paramName)) {
2153-
exists = true;
2154-
break;
2155-
}
2156-
}
2157-
if (exists) {
2158-
codegenParameter.paramName = generateNextName(codegenParameter.paramName);
2159-
} else {
2160-
break;
2161-
}
2162-
}
2163-
}
2164-
2165-
// set isPrimitiveType and baseType for allParams
2166-
/*if (languageSpecificPrimitives.contains(p.baseType)) {
2167-
p.isPrimitiveType = true;
2168-
p.baseType = getSwaggerType(p);
2169-
}*/
2170-
2171-
21722147
allParams.add(codegenParameter);
21732148
// Issue #2561 (neilotoole) : Moved setting of is<Type>Param flags
21742149
// from here to fromParameter().
@@ -4229,6 +4204,10 @@ protected void configuresParameterForMediaType(CodegenOperation codegenOperation
42294204
}
42304205
this.addCodegenContentParemeters(codegenOperation, codegenContents);
42314206
for (CodegenContent content : codegenContents) {
4207+
if (ensureUniqueParams) {
4208+
ensureUniqueParameters(content.getParameters());
4209+
}
4210+
42324211
Collections.sort(content.getParameters(), (CodegenParameter one, CodegenParameter another) -> {
42334212
if (one.required == another.required){
42344213
return 0;
@@ -4263,6 +4242,20 @@ protected void addCodegenContentParemeters(CodegenOperation codegenOperation, Li
42634242
}
42644243
}
42654244

4245+
protected void ensureUniqueParameters(List<CodegenParameter> codegenParameters) {
4246+
if (codegenParameters == null || codegenParameters.isEmpty()) {
4247+
return;
4248+
}
4249+
for (CodegenParameter codegenParameter : codegenParameters) {
4250+
long count = codegenParameters.stream()
4251+
.filter(codegenParam -> codegenParam.paramName.equals(codegenParameter.paramName))
4252+
.count();
4253+
if (count > 1l) {
4254+
codegenParameter.paramName = generateNextName(codegenParameter.paramName);
4255+
}
4256+
}
4257+
}
4258+
42664259
protected void setParameterNullable(CodegenParameter parameter, CodegenProperty property) {
42674260
parameter.nullable = property.nullable;
42684261
}

0 commit comments

Comments
 (0)