public final List validate()

in oas-validator/oas-validator-compatibility/src/main/java/org/apache/servicecomb/toolkit/oasv/compatibility/validators/schema/SchemaTypeFormatChangeValidator.java [35:66]


  public final List<OasDiffViolation> validate(OasDiffValidationContext context, OasObjectPropertyLocation leftLocation,
    Schema leftOasObject, OasObjectPropertyLocation rightLocation, Schema rightOasObject) {

    if (!needValidate(context)) {
      return emptyList();
    }

    TypeFormat leftTypeFormat = new TypeFormat(leftOasObject);
    TypeFormat rightTypeFormat = new TypeFormat(rightOasObject);

    if (ChangeRangeCheckUtils.isNotViolated(leftTypeFormat, rightTypeFormat, getAllowedChangedList())) {
      return emptyList();
    }

    StringBuilder message = new StringBuilder("the change ");
    message
      .append("(type=")
      .append(leftTypeFormat.getType())
      .append(",format=")
      .append(leftTypeFormat.getFormat())
      .append(')')
      .append("->")
      .append("(type=")
      .append(rightTypeFormat.getType())
      .append(",format=")
      .append(rightTypeFormat.getFormat())
      .append(')')
      .append(" is not allowed");

    return singletonList(new OasDiffViolation(leftLocation, rightLocation, message.toString()));

  }