Skip to content

Commit 720d8aa

Browse files
committed
#10125 fix DefaultCodegen parsing to handle 'uniqueItems' flag
1 parent 2b24149 commit 720d8aa

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenProperty.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public class CodegenProperty implements Cloneable {
5656
public String enumName;
5757
public Integer maxItems;
5858
public Integer minItems;
59+
public boolean uniqueItems;
5960

6061
// XML
6162
public boolean isXmlAttribute = false;

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1888,6 +1888,7 @@ private CodegenProperty fromProperty(String name, Property p, Integer itemsDepth
18881888
ArrayProperty ap = (ArrayProperty) p;
18891889
property.maxItems = ap.getMaxItems();
18901890
property.minItems = ap.getMinItems();
1891+
property.uniqueItems = ap.getUniqueItems() == null ? false : ap.getUniqueItems();
18911892
String itemName = (String) p.getVendorExtensions().get("x-item-name");
18921893
if (itemName == null) {
18931894
itemName = property.name;
@@ -2732,6 +2733,7 @@ public CodegenParameter fromParameter(Parameter param, Set<String> imports) {
27322733
p.isPrimitiveType = cp.isPrimitiveType;
27332734
p.isContainer = true;
27342735
p.isListContainer = true;
2736+
p.uniqueItems = impl.getUniqueItems() == null ? false : impl.getUniqueItems();
27352737

27362738
// set boolean flag (e.g. isString)
27372739
setParameterBooleanFlagWithCodegenProperty(p, cp);

modules/swagger-codegen/src/main/resources/JavaJaxRS/cxf/beanValidationCore.mustache

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ isInteger set
1717
isLong set
1818
}}{{#isLong}}{{#minimum}} @Min({{minimum}}L){{/minimum}}{{#maximum}} @Max({{maximum}}L){{/maximum}}{{/isLong}}{{!
1919
Not Integer, not Long => we have a decimal value!
20-
}}{{^isInteger}}{{^isLong}}{{#minimum}} @DecimalMin("{{minimum}}"){{/minimum}}{{#maximum}} @DecimalMax("{{maximum}}"){{/maximum}}{{/isLong}}{{/isInteger}}
20+
}}{{^isInteger}}{{^isLong}}{{#minimum}} @DecimalMin("{{minimum}}"){{/minimum}}{{#maximum}} @DecimalMax("{{maximum}}"){{/maximum}}{{/isLong}}{{/isInteger}}{{!
21+
uniqueItems set
22+
}}{{#uniqueItems}} @UniqueElements {{/uniqueItems}}

0 commit comments

Comments
 (0)