in oas-validator/oas-validator-core/src/main/java/org/apache/servicecomb/toolkit/oasv/diffvalidation/skeleton/paths/PathsPathItemsDiffValidator.java [43:75]
public List<OasDiffViolation> validateCompare(OasDiffValidationContext context,
OasObjectPropertyLocation leftLocation, Paths leftOasObject,
OasObjectPropertyLocation rightLocation, Paths rightOasObject) {
List<OasDiffViolation> violations = new ArrayList<>();
for (Map.Entry<String, PathItem> entry : leftOasObject.entrySet()) {
String lPath = entry.getKey();
PathItem lPathItem = entry.getValue();
OasObjectPropertyLocation lPathItemLoc = leftLocation.property(lPath, PATH_ITEM);
PathItem rPathItem = rightOasObject.get(lPath);
if (rPathItem == null) {
violations.addAll(doDiffValidateProperty(context, lPathItemLoc, lPathItem, null, null, pathItemValidators));
} else {
OasObjectPropertyLocation rPathItemLoc = rightLocation.property(lPath, PATH_ITEM);
violations.addAll(
doDiffValidateProperty(context, lPathItemLoc, lPathItem, rPathItemLoc, rPathItem, pathItemValidators));
}
}
for (Map.Entry<String, PathItem> entry : rightOasObject.entrySet()) {
String rPath = entry.getKey();
if (leftOasObject.containsKey(rPath)) {
continue;
}
PathItem rPathItem = entry.getValue();
OasObjectPropertyLocation rPathItemLoc = leftLocation.property(rPath, PATH_ITEM);
violations.addAll(doDiffValidateProperty(context, null, null, rPathItemLoc, rPathItem, pathItemValidators));
}
return violations;
}