From acdc76c93d8256bc74e2f8995cdb0940710f4d4b Mon Sep 17 00:00:00 2001 From: Jason North Date: Fri, 2 Dec 2016 08:10:22 +0000 Subject: [PATCH] Allow templates to use maxItems and minItems for Arrays Issue 3925 --- .../java/io/swagger/codegen/CodegenProperty.java | 13 ++++++++++++- .../java/io/swagger/codegen/DefaultCodegen.java | 2 ++ pom.xml | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) 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 66995f8d118..7b1e7cd9e3a 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() { @@ -116,6 +119,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; } @@ -279,6 +284,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 265513d7189..8a2ec323b72 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 @@ -1661,6 +1661,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) { diff --git a/pom.xml b/pom.xml index b85e4885cb9..00dce18e959 100644 --- a/pom.xml +++ b/pom.xml @@ -853,7 +853,7 @@ 1.0.24-SNAPSHOT 2.11.1 2.3.4 - 1.5.10 + 1.5.11 2.4 1.2 4.8.1