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()));
}