public List compare()

in common/src/main/java/org/apache/servicecomb/toolkit/common/MyersAlgorithm.java [35:68]


  public List<Comparison> compare(String source, String dest) {

    if ((source == null) || (dest == null)) {
      LOGGER.error("Source is {} and dest is {}", source, dest);
      throw new RuntimeException("Source and dest must not be null");
    }

    EditList diffList = new EditList();
    diffList.addAll(MyersDiff.INSTANCE.diff(RawTextComparator.DEFAULT,
        new RawText(source.getBytes()), new RawText(dest.getBytes())));

    List<Comparison> comparisonList = new ArrayList<>();

    diffList.stream().forEachOrdered(edit -> {
      ComparisionType comparisionType;
      switch (edit.getType()) {
        case INSERT:
          comparisionType = ComparisionType.INSERT;
          break;
        case DELETE:
          comparisionType = ComparisionType.DELETE;
          break;
        case REPLACE:
          comparisionType = ComparisionType.REPLACE;
          break;
        default:
          comparisionType = ComparisionType.EQUAL;
          break;
      }
      comparisonList
          .add(new Comparison(comparisionType, edit.getBeginA(), edit.getEndA(), edit.getBeginB(), edit.getEndB()));
    });
    return comparisonList;
  }