public List validateCompare()

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