diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java index 4e6b9f8b879..5318d779e5b 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java @@ -49,7 +49,10 @@ public class CodegenProperty implements Cloneable { public boolean isInherited; public String nameInCamelCase; // property name in camel case // enum name based on the property name, usually use as a prefix (e.g. VAR_NAME) for enum name (e.g. VAR_NAME_VALUE1) - public String enumName; + public String enumName; + public Integer maxItems; + public Integer minItems; + @Override public String toString() { @@ -117,6 +120,8 @@ public int hashCode() result = prime * result + Objects.hashCode(isInherited); result = prime * result + Objects.hashCode(nameInCamelCase); result = prime * result + Objects.hashCode(enumName); + result = prime * result + ((maxItems == null) ? 0 : maxItems.hashCode()); + result = prime * result + ((minItems == null) ? 0 : minItems.hashCode()); return result; } @@ -283,6 +288,12 @@ public boolean equals(Object obj) { if (!Objects.equals(this.enumName, other.enumName)) { return false; } + if (this.maxItems != other.maxItems && (this.maxItems == null || !this.maxItems.equals(other.maxItems))) { + return false; + } + if (this.minItems != other.minItems && (this.minItems == null || !this.minItems.equals(other.minItems))) { + return false; + } return true; } diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java index c1daf3ce8ab..4c945b81d02 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java @@ -1687,6 +1687,8 @@ public CodegenProperty fromProperty(String name, Property p) { property.baseType = getSwaggerType(p); // handle inner property ArrayProperty ap = (ArrayProperty) p; + property.maxItems = ap.getMaxItems(); + property.minItems = ap.getMinItems(); CodegenProperty cp = fromProperty(property.name, ap.getItems()); updatePropertyForArray(property, cp); } else if (p instanceof MapProperty) {