diff --git a/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java index 514ce4fe370..7f36c651683 100644 --- a/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java +++ b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java @@ -9,13 +9,9 @@ import com.github.difflib.DiffUtils; import com.github.difflib.patch.AbstractDelta; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class DiffHighlighting { - private static final Logger LOGGER = LoggerFactory.getLogger(DiffHighlighting.class); - private DiffHighlighting() { } @@ -76,36 +72,4 @@ public static Text forRemoved(String text) { node.getStyleClass().add("text-removed"); return node; } - - public static List generateSymmetricHighlighting(String baseString, String modifiedString, String separator) { - List stringList = Arrays.asList(baseString.split(separator)); - List result = stringList.stream().map(text -> DiffHighlighting.forUnchanged(text + separator)).collect(Collectors.toList()); - List> deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); - Collections.reverse(deltaList); - for (AbstractDelta delta : deltaList) { - int startPos = delta.getSource().getPosition(); - List lines = delta.getSource().getLines(); - int offset = 0; - switch (delta.getType()) { - case CHANGE: - for (String line : lines) { - result.set(startPos + offset, forChanged(line + separator)); - offset++; - } - break; - case DELETE: - for (String line : lines) { - result.set(startPos + offset, forAdded(line + separator)); - offset++; - } - break; - case INSERT: - break; - default: - break; - } - } - - return result; - } } diff --git a/src/test/java/org/jabref/gui/mergeentries/DiffHighlightingTest.java b/src/test/java/org/jabref/gui/mergeentries/DiffHighlightingTest.java index d84ec3f5ecd..bab1a6e46d0 100644 --- a/src/test/java/org/jabref/gui/mergeentries/DiffHighlightingTest.java +++ b/src/test/java/org/jabref/gui/mergeentries/DiffHighlightingTest.java @@ -1,7 +1,6 @@ package org.jabref.gui.mergeentries; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -94,84 +93,4 @@ void generateDiffHighlightingSingleWordDeleteTextCharacterDiff() { ), DiffHighlighting.generateDiffHighlighting("foobar", "foo", "")); } - - @Test - void generateSymmetricHighlightingSingleWordAddTextWordDiff() { - assertEquals( - Collections.singletonList(DiffHighlighting.forChanged("foo ")), - DiffHighlighting.generateSymmetricHighlighting("foo", "foobar", " ")); - } - - @Test - void generateSymmetricHighlightingSingleWordAddTextCharacterDiff() { - assertEquals( - Arrays.asList( - DiffHighlighting.forUnchanged("f"), - DiffHighlighting.forUnchanged("o"), - DiffHighlighting.forUnchanged("o") - ), - DiffHighlighting.generateSymmetricHighlighting("foo", "foobar", "")); - } - - @Test - void generateSymmetricHighlightingSingleWordDeleteTextWordDiff() { - assertEquals( - Collections.singletonList(DiffHighlighting.forChanged("foobar ")), - DiffHighlighting.generateSymmetricHighlighting("foobar", "foo", " ")); - } - - @Test - void generateSymmetricHighlightingSingleWordDeleteTextCharacterDiff() { - assertEquals( - Arrays.asList( - DiffHighlighting.forUnchanged("f"), - DiffHighlighting.forUnchanged("o"), - DiffHighlighting.forUnchanged("o"), - DiffHighlighting.forAdded("b"), - DiffHighlighting.forAdded("a"), - DiffHighlighting.forAdded("r") - ), - DiffHighlighting.generateSymmetricHighlighting("foobar", "foo", "")); - } - - @Test - void generateSymmetricHighlightingMultipleWordsDeleteTextCharacterDiff() { - assertEquals( - Arrays.asList( - DiffHighlighting.forUnchanged("f"), - DiffHighlighting.forUnchanged("o"), - DiffHighlighting.forUnchanged("o"), - DiffHighlighting.forAdded("b"), - DiffHighlighting.forAdded("a"), - DiffHighlighting.forAdded("r"), - DiffHighlighting.forUnchanged(" "), - DiffHighlighting.forUnchanged("a"), - DiffHighlighting.forUnchanged("n"), - DiffHighlighting.forUnchanged("d"), - DiffHighlighting.forUnchanged(" "), - DiffHighlighting.forAdded("s"), - DiffHighlighting.forAdded("o"), - DiffHighlighting.forAdded("m"), - DiffHighlighting.forAdded("e"), - DiffHighlighting.forUnchanged("t"), - DiffHighlighting.forUnchanged("h"), - DiffHighlighting.forUnchanged("i"), - DiffHighlighting.forUnchanged("n"), - DiffHighlighting.forUnchanged("g") - ), - DiffHighlighting.generateSymmetricHighlighting("foobar and something", "foo and thing", "")); - } - - @Test - void generateSymmetricHighlightingMultipleWordsDeleteTextWordDiff() { - assertEquals( - Arrays.asList( - DiffHighlighting.forUnchanged("foo "), - DiffHighlighting.forAdded("bar "), - DiffHighlighting.forUnchanged("and "), - DiffHighlighting.forAdded("some "), - DiffHighlighting.forUnchanged("thing ") - ), - DiffHighlighting.generateSymmetricHighlighting("foo bar and some thing", "foo and thing", " ")); - } }