public void run()

in cli/src/main/java/org/apache/servicecomb/toolkit/cli/CheckCompatibilityBase.java [54:86]


  public void run() {

    if (filePaths.size() != 2) {
      LOGGER.error("Require 2 files");
      return;
    }

    OpenAPI oldOas = null;
    OpenAPI newOas = null;
    try {
      oldOas = loadOpenApi(filePaths.get(0));
      newOas = loadOpenApi(filePaths.get(1));
    } catch (Exception e) {
      LOGGER.error(e.getMessage());
      return;
    }

    OasSpecDiffValidator diffValidator = createOasSpecDiffValidator();

    List<OasDiffViolation> violations = diffValidator.validate(createContext(oldOas, newOas), oldOas, newOas);

    if (CollectionUtils.isNotEmpty(violations)) {
      for (OasDiffViolation violation : violations) {
        LOGGER.info("left  : {}\nright : {}\nerror : {}\n------",
            OasObjectPropertyLocation.toPathString(violation.getLeftLocation()),
            OasObjectPropertyLocation.toPathString(violation.getRightLocation()),
            violation.getError()
        );
      }
      throw new ValidationFailedException("check not passed");
    }
    LOGGER.info("Everything is good");
  }