private List validateCompareComposed()

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;

  }