Adds dependentRequired (#13442)

* Updates codegenmodel

* Updates codegenProperty

* Updates codegenParameter

* Updates codegenResponse

* Samples regenerated
This commit is contained in:
Justin Black 2022-09-15 22:12:49 -07:00 committed by GitHub
parent 048af8eeae
commit 03cf55085c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 58 additions and 6 deletions

View File

@ -115,6 +115,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
private boolean isBooleanSchemaTrue; private boolean isBooleanSchemaTrue;
private boolean isBooleanSchemaFalse; private boolean isBooleanSchemaFalse;
private String format; private String format;
private LinkedHashMap<String, List<String>> dependentRequired;
/** /**
* The type of the value for the additionalProperties keyword in the OAS document. * The type of the value for the additionalProperties keyword in the OAS document.
@ -180,6 +181,16 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
this.additionalPropertiesType = additionalPropertiesType; this.additionalPropertiesType = additionalPropertiesType;
} }
@Override
public LinkedHashMap<String, List<String>> getDependentRequired() {
return dependentRequired;
}
@Override
public void setDependentRequired(LinkedHashMap<String, List<String>> dependentRequired) {
this.dependentRequired = dependentRequired;
}
@Override @Override
public boolean getIsBooleanSchemaTrue() { public boolean getIsBooleanSchemaTrue() {
return isBooleanSchemaTrue; return isBooleanSchemaTrue;
@ -892,8 +903,6 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
return hasDiscriminatorWithNonEmptyMapping; return hasDiscriminatorWithNonEmptyMapping;
} }
;
@Override @Override
public void setHasDiscriminatorWithNonEmptyMapping(boolean hasDiscriminatorWithNonEmptyMapping) { public void setHasDiscriminatorWithNonEmptyMapping(boolean hasDiscriminatorWithNonEmptyMapping) {
this.hasDiscriminatorWithNonEmptyMapping = hasDiscriminatorWithNonEmptyMapping; this.hasDiscriminatorWithNonEmptyMapping = hasDiscriminatorWithNonEmptyMapping;
@ -998,6 +1007,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
getUniqueItems() == that.getUniqueItems() && getUniqueItems() == that.getUniqueItems() &&
getExclusiveMinimum() == that.getExclusiveMinimum() && getExclusiveMinimum() == that.getExclusiveMinimum() &&
getExclusiveMaximum() == that.getExclusiveMaximum() && getExclusiveMaximum() == that.getExclusiveMaximum() &&
Objects.equals(dependentRequired, that.getDependentRequired()) &&
Objects.equals(format, that.getFormat()) && Objects.equals(format, that.getFormat()) &&
Objects.equals(uniqueItemsBoolean, that.getUniqueItemsBoolean()) && Objects.equals(uniqueItemsBoolean, that.getUniqueItemsBoolean()) &&
Objects.equals(ref, that.getRef()) && Objects.equals(ref, that.getRef()) &&
@ -1076,7 +1086,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
getAdditionalPropertiesIsAnyType(), hasDiscriminatorWithNonEmptyMapping, getAdditionalPropertiesIsAnyType(), hasDiscriminatorWithNonEmptyMapping,
isAnyType, getComposedSchemas(), hasMultipleTypes, isDecimal, isUuid, requiredVarsMap, ref, isAnyType, getComposedSchemas(), hasMultipleTypes, isDecimal, isUuid, requiredVarsMap, ref,
uniqueItemsBoolean, schemaIsFromAdditionalProperties, isBooleanSchemaTrue, isBooleanSchemaFalse, uniqueItemsBoolean, schemaIsFromAdditionalProperties, isBooleanSchemaTrue, isBooleanSchemaFalse,
format); format, dependentRequired);
} }
@Override @Override
@ -1180,6 +1190,7 @@ public class CodegenModel implements IJsonSchemaValidationProperties {
sb.append(", isBooleanSchemaTrue=").append(isBooleanSchemaTrue); sb.append(", isBooleanSchemaTrue=").append(isBooleanSchemaTrue);
sb.append(", isBooleanSchemaFalse=").append(isBooleanSchemaFalse); sb.append(", isBooleanSchemaFalse=").append(isBooleanSchemaFalse);
sb.append(", format=").append(format); sb.append(", format=").append(format);
sb.append(", dependentRequired=").append(dependentRequired);
sb.append('}'); sb.append('}');
return sb.toString(); return sb.toString();
} }

View File

@ -440,6 +440,16 @@ public class CodegenParameter implements IJsonSchemaValidationProperties {
return sb.toString(); return sb.toString();
} }
// use schema.getDependentRequired or content.mediaType.schema.getDependentRequired instead of this
@Override
public LinkedHashMap<String, List<String>> getDependentRequired() {
return null;
}
// use schema.setDependentRequired or content.mediaType.schema.setDependentRequired instead of this
@Override
public void setDependentRequired(LinkedHashMap<String, List<String>> dependentRequired) {}
// use schema.getIsBooleanSchemaTrue or content.mediaType.schema.getIsBooleanSchemaTrue instead of this // use schema.getIsBooleanSchemaTrue or content.mediaType.schema.getIsBooleanSchemaTrue instead of this
@Override @Override
public boolean getIsBooleanSchemaTrue() { public boolean getIsBooleanSchemaTrue() {

View File

@ -201,6 +201,17 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
private boolean isBooleanSchemaTrue; private boolean isBooleanSchemaTrue;
private boolean isBooleanSchemaFalse; private boolean isBooleanSchemaFalse;
private String format; private String format;
private LinkedHashMap<String, List<String>> dependentRequired;
@Override
public LinkedHashMap<String, List<String>> getDependentRequired() {
return dependentRequired;
}
@Override
public void setDependentRequired(LinkedHashMap<String, List<String>> dependentRequired) {
this.dependentRequired = dependentRequired;
}
@Override @Override
public void setFormat(String format) { this.format = format; } public void setFormat(String format) { this.format = format; }
@ -752,6 +763,9 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
if (this.format != null) { if (this.format != null) {
cp.setFormat(this.format); cp.setFormat(this.format);
} }
if (this.dependentRequired != null) {
cp.setDependentRequired(this.dependentRequired);
}
return cp; return cp;
} catch (CloneNotSupportedException e) { } catch (CloneNotSupportedException e) {
@ -1051,6 +1065,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
sb.append(", isBooleanSchemaTrue=").append(isBooleanSchemaTrue); sb.append(", isBooleanSchemaTrue=").append(isBooleanSchemaTrue);
sb.append(", isBooleanSchemaFalse=").append(isBooleanSchemaFalse); sb.append(", isBooleanSchemaFalse=").append(isBooleanSchemaFalse);
sb.append(", format=").append(format); sb.append(", format=").append(format);
sb.append(", dependentRequired=").append(dependentRequired);
sb.append('}'); sb.append('}');
return sb.toString(); return sb.toString();
} }
@ -1112,6 +1127,7 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
getAdditionalPropertiesIsAnyType() == that.getAdditionalPropertiesIsAnyType() && getAdditionalPropertiesIsAnyType() == that.getAdditionalPropertiesIsAnyType() &&
getHasVars() == that.getHasVars() && getHasVars() == that.getHasVars() &&
getHasRequired() == that.getHasRequired() && getHasRequired() == that.getHasRequired() &&
Objects.equals(dependentRequired, that.getDependentRequired()) &&
Objects.equals(format, that.getFormat()) && Objects.equals(format, that.getFormat()) &&
Objects.equals(uniqueItemsBoolean, that.getUniqueItemsBoolean()) && Objects.equals(uniqueItemsBoolean, that.getUniqueItemsBoolean()) &&
Objects.equals(ref, that.getRef()) && Objects.equals(ref, that.getRef()) &&
@ -1181,6 +1197,6 @@ public class CodegenProperty implements Cloneable, IJsonSchemaValidationProperti
xmlNamespace, isXmlWrapped, isNull, additionalPropertiesIsAnyType, hasVars, hasRequired, xmlNamespace, isXmlWrapped, isNull, additionalPropertiesIsAnyType, hasVars, hasRequired,
hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, requiredVarsMap, hasDiscriminatorWithNonEmptyMapping, composedSchemas, hasMultipleTypes, requiredVarsMap,
ref, uniqueItemsBoolean, schemaIsFromAdditionalProperties, isBooleanSchemaTrue, isBooleanSchemaFalse, ref, uniqueItemsBoolean, schemaIsFromAdditionalProperties, isBooleanSchemaTrue, isBooleanSchemaFalse,
format); format, dependentRequired);
} }
} }

View File

@ -189,6 +189,16 @@ public class CodegenResponse implements IJsonSchemaValidationProperties {
} }
// use content.mediaType.schema.getDependentRequired instead of this
@Override
public LinkedHashMap<String, List<String>> getDependentRequired() {
return null;
}
// use content.mediaType.schema.setDependentRequired instead of this
@Override
public void setDependentRequired(LinkedHashMap<String, List<String>> dependentRequired) {}
// use content.mediaType.schema.getIsBooleanSchemaTrue instead of this // use content.mediaType.schema.getIsBooleanSchemaTrue instead of this
@Override @Override
public boolean getIsBooleanSchemaTrue() { public boolean getIsBooleanSchemaTrue() {

View File

@ -3,6 +3,7 @@ package org.openapitools.codegen;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -14,6 +15,10 @@ import org.openapitools.codegen.meta.features.SchemaSupportFeature;
import org.openapitools.codegen.utils.ModelUtils; import org.openapitools.codegen.utils.ModelUtils;
public interface IJsonSchemaValidationProperties { public interface IJsonSchemaValidationProperties {
LinkedHashMap<String, List<String>> getDependentRequired();
void setDependentRequired(LinkedHashMap<String, List<String>> dependentRequired);
String getPattern(); String getPattern();
void setPattern(String pattern); void setPattern(String pattern);

View File

@ -539,10 +539,10 @@ public interface PathHandlerInterface {
* <p><b>Response headers</b>: [CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', title='null', unescapedDescription='calls per hour allowed by the user', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{ * <p><b>Response headers</b>: [CodegenProperty{openApiType='integer', baseName='X-Rate-Limit', complexType='null', getter='getxRateLimit', setter='setxRateLimit', description='calls per hour allowed by the user', dataType='Integer', datatypeWithEnum='Integer', dataFormat='int32', name='xRateLimit', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Rate-Limit;', baseType='Integer', containerType='null', title='null', unescapedDescription='calls per hour allowed by the user', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
"type" : "integer", "type" : "integer",
"format" : "int32" "format" : "int32"
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', title='null', unescapedDescription='date in UTC when token expires', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{ }', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=true, isModel=false, isContainer=false, isString=false, isNumeric=true, isInteger=true, isShort=true, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=false, isUuid=false, isUri=false, isEmail=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XRateLimit', nameInSnakeCase='X_RATE_LIMIT', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=int32, dependentRequired=null}, CodegenProperty{openApiType='string', baseName='X-Expires-After', complexType='Date', getter='getxExpiresAfter', setter='setxExpiresAfter', description='date in UTC when token expires', dataType='Date', datatypeWithEnum='Date', dataFormat='date-time', name='xExpiresAfter', min='null', max='null', defaultValue='null', defaultValueWithParam=' = data.X-Expires-After;', baseType='Date', containerType='null', title='null', unescapedDescription='date in UTC when token expires', maxLength=null, minLength=null, pattern='null', example='null', jsonSchema='{
"type" : "string", "type" : "string",
"format" : "date-time" "format" : "date-time"
}', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=false, isModel=false, isContainer=false, isString=false, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=true, isUuid=false, isUri=false, isEmail=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XExpiresAfter', nameInSnakeCase='X_EXPIRES_AFTER', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=date-time}]</p> }', minimum='null', maximum='null', exclusiveMinimum=false, exclusiveMaximum=false, required=false, deprecated=false, hasMoreNonReadOnly=false, isPrimitiveType=false, isModel=false, isContainer=false, isString=false, isNumeric=false, isInteger=false, isShort=false, isLong=false, isUnboundedInteger=false, isNumber=false, isFloat=false, isDouble=false, isDecimal=false, isByteArray=false, isBinary=false, isFile=false, isBoolean=false, isDate=false, isDateTime=true, isUuid=false, isUri=false, isEmail=false, isFreeFormObject=false, isArray=false, isMap=false, isEnum=false, isInnerEnum=false, isAnyType=false, isReadOnly=false, isWriteOnly=false, isNullable=false, isSelfReference=false, isCircularReference=false, isDiscriminator=false, _enum=null, allowableValues=null, items=null, additionalProperties=null, vars=[], requiredVars=[], mostInnerItems=null, vendorExtensions={}, hasValidation=false, isInherited=false, discriminatorValue='null', nameInCamelCase='XExpiresAfter', nameInSnakeCase='X_EXPIRES_AFTER', enumName='null', maxItems=null, minItems=null, maxProperties=null, minProperties=null, uniqueItems=false, uniqueItemsBoolean=null, multipleOf=null, isXmlAttribute=false, xmlPrefix='null', xmlName='null', xmlNamespace='null', isXmlWrapped=false, isNull=false, getAdditionalPropertiesIsAnyType=false, getHasVars=false, getHasRequired=false, getHasDiscriminatorWithNonEmptyMapping=false, composedSchemas=null, hasMultipleTypes=false, requiredVarsMap=null, ref=null, schemaIsFromAdditionalProperties=false, isBooleanSchemaTrue=false, isBooleanSchemaFalse=false, format=date-time, dependentRequired=null}]</p>
* *
* <p><b>Produces</b>: [{mediaType=application/xml}, {mediaType=application/json}]</p> * <p><b>Produces</b>: [{mediaType=application/xml}, {mediaType=application/json}]</p>
* <p><b>Returns</b>: {@link String}</p> * <p><b>Returns</b>: {@link String}</p>