in oas-validator/oas-validator-core/src/main/java/org/apache/servicecomb/toolkit/oasv/diffvalidation/skeleton/schema/SchemaDiffValidatorEngine.java [152:222]
private List<OasDiffViolation> validateCompareComposed(OasDiffValidationContext context,
OasObjectPropertyLocation leftLocation, Schema leftOasObject,
OasObjectPropertyLocation rightLocation, Schema rightOasObject) {
List<OasDiffViolation> violations = new ArrayList<>();
List<Schema> leftAllOf = null;
List<Schema> leftOneOf = null;
List<Schema> leftAnyOf = null;
if (leftOasObject instanceof ComposedSchema) {
leftAllOf = ((ComposedSchema) leftOasObject).getAllOf();
leftOneOf = ((ComposedSchema) leftOasObject).getOneOf();
leftAnyOf = ((ComposedSchema) leftOasObject).getAnyOf();
}
List<Schema> rightAllOf = null;
List<Schema> rightOneOf = null;
List<Schema> rightAnyOf = null;
if (rightOasObject instanceof ComposedSchema) {
rightAllOf = ((ComposedSchema) rightOasObject).getAllOf();
rightOneOf = ((ComposedSchema) rightOasObject).getOneOf();
rightAnyOf = ((ComposedSchema) rightOasObject).getAnyOf();
}
violations.addAll(
doDiffValidateListProperty(
context,
"allOf",
leftLocation,
leftAllOf,
rightLocation,
rightAllOf,
SCHEMA,
schema -> System.identityHashCode(schema),
singletonList(this)
)
);
violations.addAll(
doDiffValidateListProperty(
context,
"oneOf",
leftLocation,
leftOneOf,
rightLocation,
rightOneOf,
SCHEMA,
schema -> System.identityHashCode(schema),
singletonList(this)
)
);
violations.addAll(
doDiffValidateListProperty(
context,
"anyOf",
leftLocation,
leftAnyOf,
rightLocation,
rightAnyOf,
SCHEMA,
schema -> System.identityHashCode(schema),
singletonList(this)
)
);
return violations;
}