@@ -2144,31 +2144,6 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
2144
2144
param = getParameterFromRef (param .get$ref (), openAPI );
2145
2145
}
2146
2146
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
-
2172
2147
allParams .add (codegenParameter );
2173
2148
// Issue #2561 (neilotoole) : Moved setting of is<Type>Param flags
2174
2149
// from here to fromParameter().
@@ -4229,6 +4204,10 @@ protected void configuresParameterForMediaType(CodegenOperation codegenOperation
4229
4204
}
4230
4205
this .addCodegenContentParemeters (codegenOperation , codegenContents );
4231
4206
for (CodegenContent content : codegenContents ) {
4207
+ if (ensureUniqueParams ) {
4208
+ ensureUniqueParameters (content .getParameters ());
4209
+ }
4210
+
4232
4211
Collections .sort (content .getParameters (), (CodegenParameter one , CodegenParameter another ) -> {
4233
4212
if (one .required == another .required ){
4234
4213
return 0 ;
@@ -4263,6 +4242,20 @@ protected void addCodegenContentParemeters(CodegenOperation codegenOperation, Li
4263
4242
}
4264
4243
}
4265
4244
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
+
4266
4259
protected void setParameterNullable (CodegenParameter parameter , CodegenProperty property ) {
4267
4260
parameter .nullable = property .nullable ;
4268
4261
}
0 commit comments