Skip to content

Commit 83afaff

Browse files
committed
Merge pull request #1430 from nbruno/java-child-enum-bug
Ensure hasMore is updated when reconciling enum properties from parent
2 parents d2faa63 + 1eed191 commit 83afaff

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/JavaClientCodegen.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,7 @@ private CodegenModel reconcileInlineEnums(CodegenModel codegenModel, CodegenMode
507507
List<CodegenProperty> codegenProperties = codegenModel.vars;
508508

509509
// Iterate over all of the parent model properties
510+
boolean removedChildEnum = false;
510511
for (CodegenProperty parentModelCodegenPropery : parentModelCodegenProperties) {
511512
// Look for enums
512513
if (parentModelCodegenPropery.isEnum) {
@@ -519,12 +520,21 @@ private CodegenModel reconcileInlineEnums(CodegenModel codegenModel, CodegenMode
519520
// We found an enum in the child class that is
520521
// a duplicate of the one in the parent, so remove it.
521522
iterator.remove();
523+
removedChildEnum = true;
522524
}
523525
}
524526
}
525527
}
526-
527-
codegenModel.vars = codegenProperties;
528+
529+
if(removedChildEnum) {
530+
// If we removed an entry from this model's vars, we need to ensure hasMore is updated
531+
int count = 0, numVars = codegenProperties.size();
532+
for(CodegenProperty codegenProperty : codegenProperties) {
533+
count += 1;
534+
codegenProperty.hasMore = (count < numVars) ? true : null;
535+
}
536+
codegenModel.vars = codegenProperties;
537+
}
528538
}
529539

530540
return codegenModel;

0 commit comments

Comments
 (0)