Skip to content

Commit bc76d8e

Browse files
authored
Adds vars and requiredVars to Schema classes (#7893)
* Adds vars to all schema classes, adds partial test * Adds tests and addVarsRequiredVarsAdditionaProps * Adds CodegenProperty test * Adds requiredVars * Adds vars and requiredVars cloning for CodegenProperty
1 parent b5473d2 commit bc76d8e

File tree

8 files changed

+327
-69
lines changed

8 files changed

+327
-69
lines changed

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -634,10 +634,12 @@ public void setReadWriteVars(List<CodegenProperty> readWriteVars) {
634634
this.readWriteVars = readWriteVars;
635635
}
636636

637+
@Override
637638
public List<CodegenProperty> getRequiredVars() {
638639
return requiredVars;
639640
}
640641

642+
@Override
641643
public void setRequiredVars(List<CodegenProperty> requiredVars) {
642644
this.requiredVars = requiredVars;
643645
}
@@ -658,10 +660,12 @@ public void setUnescapedDescription(String unescapedDescription) {
658660
this.unescapedDescription = unescapedDescription;
659661
}
660662

663+
@Override
661664
public List<CodegenProperty> getVars() {
662665
return vars;
663666
}
664667

668+
@Override
665669
public void setVars(List<CodegenProperty> vars) {
666670
this.vars = vars;
667671
}

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenParameter.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
4343
public Map<String, Object> allowableValues;
4444
public CodegenProperty items;
4545
public CodegenProperty additionalProperties;
46+
public List<CodegenProperty> vars = new ArrayList<CodegenProperty>(); // all properties (without parent's properties)
47+
public List<CodegenProperty> requiredVars = new ArrayList<CodegenProperty>();
4648
public CodegenProperty mostInnerItems;
4749
public Map<String, Object> vendorExtensions = new HashMap<String, Object>();
4850
public boolean hasValidation;
@@ -157,6 +159,12 @@ public CodegenParameter copy() {
157159
if (this.items != null) {
158160
output.items = this.items;
159161
}
162+
if (this.vars != null) {
163+
output.vars = this.vars;
164+
}
165+
if (this.requiredVars != null) {
166+
output.requiredVars = this.requiredVars;
167+
}
160168
if (this.mostInnerItems != null) {
161169
output.mostInnerItems = this.mostInnerItems;
162170
}
@@ -194,7 +202,7 @@ public CodegenParameter copy() {
194202

195203
@Override
196204
public int hashCode() {
197-
return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, hasMore, isContainer, secondaryParam, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, additionalProperties, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf);
205+
return Objects.hash(isFormParam, isQueryParam, isPathParam, isHeaderParam, isCookieParam, isBodyParam, hasMore, isContainer, secondaryParam, isCollectionFormatMulti, isPrimitiveType, isModel, isExplode, baseName, paramName, dataType, datatypeWithEnum, dataFormat, collectionFormat, description, unescapedDescription, baseType, defaultValue, enumName, style, example, jsonSchema, isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBinary, isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject, isAnyType, isArray, isMap, isFile, isEnum, _enum, allowableValues, items, mostInnerItems, additionalProperties, vars, requiredVars, vendorExtensions, hasValidation, getMaxProperties(), getMinProperties(), isNullable, required, getMaximum(), getExclusiveMaximum(), getMinimum(), getExclusiveMinimum(), getMaxLength(), getMinLength(), getPattern(), getMaxItems(), getMinItems(), getUniqueItems(), contentType, multipleOf);
198206
}
199207

200208
@Override
@@ -261,6 +269,8 @@ public boolean equals(Object o) {
261269
Objects.equals(allowableValues, that.allowableValues) &&
262270
Objects.equals(items, that.items) &&
263271
Objects.equals(additionalProperties, that.additionalProperties) &&
272+
Objects.equals(vars, that.vars) &&
273+
Objects.equals(requiredVars, that.requiredVars) &&
264274
Objects.equals(mostInnerItems, that.mostInnerItems) &&
265275
Objects.equals(vendorExtensions, that.vendorExtensions) &&
266276
Objects.equals(getMaxProperties(), that.getMaxProperties()) &&
@@ -333,6 +343,8 @@ public String toString() {
333343
sb.append(", items=").append(items);
334344
sb.append(", mostInnerItems=").append(mostInnerItems);
335345
sb.append(", additionalProperties=").append(additionalProperties);
346+
sb.append(", vars=").append(vars);
347+
sb.append(", requiredVars=").append(requiredVars);
336348
sb.append(", vendorExtensions=").append(vendorExtensions);
337349
sb.append(", hasValidation=").append(hasValidation);
338350
sb.append(", maxProperties=").append(maxProperties);
@@ -542,5 +554,25 @@ public void setIsArray(boolean isArray) {
542554
public void setAdditionalProperties(CodegenProperty additionalProperties) {
543555
this.additionalProperties = additionalProperties;
544556
}
557+
558+
@Override
559+
public List<CodegenProperty> getVars() {
560+
return vars;
561+
}
562+
563+
@Override
564+
public void setVars(List<CodegenProperty> vars) {
565+
this.vars = vars;
566+
}
567+
568+
@Override
569+
public List<CodegenProperty> getRequiredVars() {
570+
return requiredVars;
571+
}
572+
573+
@Override
574+
public void setRequiredVars(List<CodegenProperty> requiredVars) {
575+
this.requiredVars = requiredVars;
576+
}
545577
}
546578

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenProperty.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
161161
// the undeclared properties.
162162
public CodegenProperty items;
163163
public CodegenProperty additionalProperties;
164+
public List<CodegenProperty> vars = new ArrayList<CodegenProperty>(); // all properties (without parent's properties)
165+
public List<CodegenProperty> requiredVars = new ArrayList<>();
164166
public CodegenProperty mostInnerItems;
165167
public Map<String, Object> vendorExtensions = new HashMap<String, Object>();
166168
public boolean hasValidation; // true if pattern, maximum, etc are set (only used in the mustache template)
@@ -607,6 +609,12 @@ public CodegenProperty clone() {
607609
if (this.additionalProperties != null) {
608610
cp.additionalProperties = this.additionalProperties;
609611
}
612+
if (this.vars != null) {
613+
cp.vars = this.vars;
614+
}
615+
if (this.requiredVars != null) {
616+
cp.requiredVars = this.requiredVars;
617+
}
610618
if (this.mostInnerItems != null) {
611619
cp.mostInnerItems = this.mostInnerItems;
612620
}
@@ -658,6 +666,26 @@ public void setMultipleOf(Number multipleOf) {
658666
this.multipleOf = multipleOf;
659667
}
660668

669+
@Override
670+
public List<CodegenProperty> getVars() {
671+
return vars;
672+
}
673+
674+
@Override
675+
public void setVars(List<CodegenProperty> vars) {
676+
this.vars = vars;
677+
}
678+
679+
@Override
680+
public List<CodegenProperty> getRequiredVars() {
681+
return requiredVars;
682+
}
683+
684+
@Override
685+
public void setRequiredVars(List<CodegenProperty> requiredVars) {
686+
this.requiredVars = requiredVars;
687+
}
688+
661689
@Override
662690
public String toString() {
663691
final StringBuilder sb = new StringBuilder("CodegenProperty{");
@@ -727,6 +755,8 @@ public String toString() {
727755
sb.append(", allowableValues=").append(allowableValues);
728756
sb.append(", items=").append(items);
729757
sb.append(", additionalProperties=").append(additionalProperties);
758+
sb.append(", vars=").append(vars);
759+
sb.append(", requiredVars=").append(requiredVars);
730760
sb.append(", mostInnerItems=").append(mostInnerItems);
731761
sb.append(", vendorExtensions=").append(vendorExtensions);
732762
sb.append(", hasValidation=").append(hasValidation);
@@ -825,6 +855,8 @@ public boolean equals(Object o) {
825855
Objects.equals(allowableValues, that.allowableValues) &&
826856
Objects.equals(items, that.items) &&
827857
Objects.equals(additionalProperties, that.additionalProperties) &&
858+
Objects.equals(vars, that.vars) &&
859+
Objects.equals(requiredVars, that.requiredVars) &&
828860
Objects.equals(mostInnerItems, that.mostInnerItems) &&
829861
Objects.equals(vendorExtensions, that.vendorExtensions) &&
830862
Objects.equals(discriminatorValue, that.discriminatorValue) &&
@@ -852,7 +884,7 @@ public int hashCode() {
852884
isBoolean, isDate, isDateTime, isUuid, isUri, isEmail, isFreeFormObject,
853885
isArray, isMap, isEnum, isReadOnly, isWriteOnly, isNullable,
854886
isSelfReference, isCircularReference, isDiscriminator, _enum, allowableValues,
855-
items, mostInnerItems, additionalProperties,
887+
items, mostInnerItems, additionalProperties, vars, requiredVars,
856888
vendorExtensions, hasValidation, isInherited, discriminatorValue, nameInCamelCase,
857889
nameInSnakeCase, enumName, maxItems, minItems, isXmlAttribute, xmlPrefix, xmlName,
858890
xmlNamespace, isXmlWrapped);

modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenResponse.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,16 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
7676
public Number multipleOf;
7777
public CodegenProperty items;
7878
public CodegenProperty additionalProperties;
79+
public List<CodegenProperty> vars = new ArrayList<CodegenProperty>(); // all properties (without parent's properties)
80+
public List<CodegenProperty> requiredVars = new ArrayList<CodegenProperty>();
7981

8082
@Override
8183
public int hashCode() {
8284
return Objects.hash(headers, code, message, hasMore, examples, dataType, baseType, containerType, hasHeaders,
8385
isString, isNumeric, isInteger, isLong, isNumber, isFloat, isDouble, isDecimal, isByteArray, isBoolean, isDate,
8486
isDateTime, isUuid, isEmail, isModel, isFreeFormObject, isAnyType, isDefault, simpleType, primitiveType,
8587
isMap, isArray, isBinary, isFile, schema, jsonSchema, vendorExtensions, items, additionalProperties,
88+
vars, requiredVars,
8689
getMaxProperties(), getMinProperties(), uniqueItems, getMaxItems(), getMinItems(), getMaxLength(),
8790
getMinLength(), exclusiveMinimum, exclusiveMaximum, getMinimum(), getMaximum(), getPattern());
8891
}
@@ -120,6 +123,8 @@ public boolean equals(Object o) {
120123
isFile == that.isFile &&
121124
items == that.items &&
122125
additionalProperties == that.additionalProperties &&
126+
Objects.equals(vars, that.vars) &&
127+
Objects.equals(requiredVars, that.requiredVars) &&
123128
Objects.equals(headers, that.headers) &&
124129
Objects.equals(code, that.code) &&
125130
Objects.equals(message, that.message) &&
@@ -334,6 +339,26 @@ public void setAdditionalProperties(CodegenProperty additionalProperties) {
334339
this.additionalProperties = additionalProperties;
335340
}
336341

342+
@Override
343+
public List<CodegenProperty> getVars() {
344+
return vars;
345+
}
346+
347+
@Override
348+
public void setVars(List<CodegenProperty> vars) {
349+
this.vars = vars;
350+
}
351+
352+
@Override
353+
public List<CodegenProperty> getRequiredVars() {
354+
return requiredVars;
355+
}
356+
357+
@Override
358+
public void setRequiredVars(List<CodegenProperty> requiredVars) {
359+
this.requiredVars = requiredVars;
360+
}
361+
337362
@Override
338363
public String toString() {
339364
final StringBuilder sb = new StringBuilder("CodegenResponse{");
@@ -388,6 +413,8 @@ public String toString() {
388413
sb.append(", multipleOf='").append(multipleOf).append('\'');
389414
sb.append(", items='").append(items).append('\'');
390415
sb.append(", additionalProperties='").append(additionalProperties).append('\'');
416+
sb.append(", vars='").append(vars).append('\'');
417+
sb.append(", requiredVars='").append(requiredVars).append('\'');
391418
sb.append('}');
392419
return sb.toString();
393420
}

0 commit comments

Comments
 (0)