public static Diff calculate()

in src/main/java/com/epam/eco/commons/diff/DiffCalculator.java [60:93]


    public static Diff calculate(
            String originalId,
            List<String> originalLines,
            String revisionId,
            List<String> revisionLines) {
        if (originalLines != null) {
            Validate.notNull(originalId, "Original id can't be null when original lines is specified");
        } else {
            originalLines = Collections.emptyList();
        }
        if (revisionLines != null) {
            Validate.notNull(revisionId, "Revision id can't be null when revision lines is specified");
        } else {
            revisionLines = Collections.emptyList();
        }
        Validate.isTrue(originalId != null || revisionId != null, "Origin id or revision id can't be null");

        String effectiveOriginalId = originalId;
        String effectiveRevisionId = revisionId;
        Patch patch = DiffUtils.diff(originalLines, revisionLines);
        if (StringUtils.equals(originalId, revisionId)) {
            effectiveOriginalId = originalId + DEFAULT_ORIGINAL_POSTFIX;
            effectiveRevisionId = revisionId + DEFAULT_REVISION_POSTFIX;
        }

        List<String> diff = DiffUtils.generateUnifiedDiff(
                effectiveOriginalId == null ? DEFAULT_ID_STRING : effectiveOriginalId,
                effectiveRevisionId == null ? DEFAULT_ID_STRING : effectiveRevisionId,
                originalLines,
                patch,
                DIFF_CONTEXT_SIZE);

        return new Diff(originalId, revisionId, diff);
    }