[jabref] 02/03: drop dependency on java-diff-utils due to license issues

Tony Mancill tmancill at moszumanska.debian.org
Sun Dec 4 19:58:23 UTC 2016


This is an automated email from the git hooks/post-receive script.

tmancill pushed a commit to branch dev
in repository jabref.

commit d4cb9086ea46d42850e82675d020d54b0d84e192
Author: tony mancill <tmancill at debian.org>
Date:   Sun Dec 4 11:50:39 2016 -0800

    drop dependency on java-diff-utils due to license issues
---
 debian/control                                  |   1 -
 debian/patches/060_diable_java-diff-utils.patch | 286 ++++++++++++++++++++++++
 debian/patches/series                           |   1 +
 3 files changed, 287 insertions(+), 1 deletion(-)

diff --git a/debian/control b/debian/control
index 2c16af7..5cc0485 100644
--- a/debian/control
+++ b/debian/control
@@ -14,7 +14,6 @@ Build-Depends-Indep: ant,
                      libantlr3-runtime-java,
                      libcommons-logging-java,
                      libglazedlists-java,
-                     libjava-diff-utils-java,
                      libjava-string-similarity-java,
                      libjempbox-java,
                      libjgoodies-common-java (>= 1.8.1),
diff --git a/debian/patches/060_diable_java-diff-utils.patch b/debian/patches/060_diable_java-diff-utils.patch
new file mode 100644
index 0000000..440441f
--- /dev/null
+++ b/debian/patches/060_diable_java-diff-utils.patch
@@ -0,0 +1,286 @@
+From 52e4b22224e3da8d3adf90b180d4cd7711887e63 Mon Sep 17 00:00:00 2001
+From: Oliver Kopp <kopp.dev at gmail.com>
+Date: Sun, 4 Dec 2016 11:26:17 +0100
+Subject: [PATCH] Remove dependency on java-diff-utils
+Comment: Edited patch originally found here:
+ https://github.com/koppor/jabref/commit/52e4b22224e3da8d3adf90b180d4cd7711887e63.patch
+
+---
+ build.gradle                                       |   2 -
+ .../sf/jabref/gui/mergeentries/MergeEntries.java   |  32 +------
+ .../logic/util/strings/DiffHighlighting.java       | 101 ---------------------
+ .../logic/util/strings/DiffHighlightingTest.java   |  81 -----------------
+ 4 files changed, 5 insertions(+), 211 deletions(-)
+ delete mode 100644 src/main/java/net/sf/jabref/logic/util/strings/DiffHighlighting.java
+ delete mode 100644 src/test/java/net/sf/jabref/logic/util/strings/DiffHighlightingTest.java
+
+--- a/build.gradle
++++ b/build.gradle
+@@ -98,8 +98,6 @@
+     compile 'org.openoffice:ridl:4.1.2'
+     compile 'org.openoffice:unoil:4.1.2'
+ 
+-    compile 'com.googlecode.java-diff-utils:diffutils:1.3.0'
+-
+     antlr3 'org.antlr:antlr:3.5.2'
+     compile 'org.antlr:antlr-runtime:3.5.2'
+ 
+--- a/src/main/java/net/sf/jabref/gui/mergeentries/MergeEntries.java
++++ b/src/main/java/net/sf/jabref/gui/mergeentries/MergeEntries.java
+@@ -34,7 +34,6 @@
+ import net.sf.jabref.logic.bibtex.LatexFieldFormatterPreferences;
+ import net.sf.jabref.logic.formatter.casechanger.SentenceCaseFormatter;
+ import net.sf.jabref.logic.l10n.Localization;
+-import net.sf.jabref.logic.util.strings.DiffHighlighting;
+ import net.sf.jabref.model.database.BibDatabaseMode;
+ import net.sf.jabref.model.entry.BibEntry;
+ import net.sf.jabref.model.entry.InternalBibtexFields;
+@@ -272,7 +271,7 @@
+         mergePanel.add(boldFontLabel(Localization.lang("Entry type")), CELL_CONSTRAINTS.xy(1, 1));
+ 
+         JTextPane leftTypeDisplay = new DiffHighlightingTextPane();
+-        leftTypeDisplay.setText(DiffHighlighting.HTML_START + leftEntry.getType() + DiffHighlighting.HTML_END);
++        leftTypeDisplay.setText(leftEntry.getType());
+         mergePanel.add(leftTypeDisplay, CELL_CONSTRAINTS.xy(3, 1));
+         if (leftEntry.getType().equals(rightEntry.getType())) {
+             identicalTypes = true;
+@@ -290,13 +289,14 @@
+             typeRadioButtons.get(0).setSelected(true);
+         }
+         JTextPane rightTypeDisplay = new DiffHighlightingTextPane();
+-        rightTypeDisplay.setText(DiffHighlighting.HTML_START + rightEntry.getType() + DiffHighlighting.HTML_END);
++        rightTypeDisplay.setText(rightEntry.getType());
+         mergePanel.add(rightTypeDisplay, CELL_CONSTRAINTS.xy(11, 1));
+     }
+ 
+     private void setupHeadingRows() {
+         mainPanel.add(boldFontLabel(Localization.lang("Use")), CELL_CONSTRAINTS.xyw(4, 1, 7, "center, bottom"));
+         mainPanel.add(diffMode, CELL_CONSTRAINTS.xy(11, 1, "right, bottom"));
++        diffMode.setVisible(false);
+ 
+         // Set headings
+         for (int i = 0; i < 6; i++) {
+@@ -362,33 +362,11 @@
+         for (String field : fields) {
+             String leftString = leftEntry.getFieldOptional(field).orElse("");
+             String rightString = rightEntry.getFieldOptional(field).orElse("");
+-            switch (diffMode.getSelectedIndex()) {
+-            case 0: // Plain text
+-                break;
+-            case 1: // Latexdiff style - word
+-                rightString = DiffHighlighting.generateDiffHighlighting(leftString, rightString, " ");
+-                break;
+-            case 2: // Latexdiff style - character
+-                rightString = DiffHighlighting.generateDiffHighlighting(leftString, rightString, "");
+-                break;
+-            case 3: // Symmetric style - word
+-                String tmpLeftString = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, " ");
+-                rightString = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, " ");
+-                leftString = tmpLeftString;
+-                break;
+-            case 4: // Symmetric style - character
+-                tmpLeftString = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, "");
+-                rightString = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, "");
+-                leftString = tmpLeftString;
+-                break;
+-            default: // Shouldn't happen
+-                break;
+-            }
+             if ((leftString != null) && leftTextPanes.containsKey(field)) {
+-                leftTextPanes.get(field).setText(DiffHighlighting.HTML_START + leftString + DiffHighlighting.HTML_END);
++                leftTextPanes.get(field).setText(leftString);
+             }
+             if ((rightString != null) && rightTextPanes.containsKey(field)) {
+-                rightTextPanes.get(field).setText(DiffHighlighting.HTML_START + rightString + DiffHighlighting.HTML_END);
++                rightTextPanes.get(field).setText(rightString);
+             }
+         }
+         SwingUtilities.invokeLater(() -> scrollPane.getVerticalScrollBar()
+--- a/src/main/java/net/sf/jabref/logic/util/strings/DiffHighlighting.java
++++ b/src/main/java/net/sf/jabref/logic/util/strings/DiffHighlighting.java
+@@ -1,101 +0,0 @@
+-package net.sf.jabref.logic.util.strings;
+-
+-import java.util.ArrayList;
+-import java.util.Arrays;
+-import java.util.Collections;
+-import java.util.List;
+-import java.util.Objects;
+-
+-import difflib.Delta;
+-import difflib.DiffUtils;
+-
+-public class DiffHighlighting {
+-
+-    private static final String ADDITION_START = "<span class=add>";
+-    private static final String REMOVAL_START = "<span class=del>";
+-    private static final String CHANGE_START = "<span class=change>";
+-    private static final String TAG_END = "</span>";
+-
+-    public static final String HTML_START = "<html><body>";
+-    public static final String HTML_END = "</body></html>";
+-
+-
+-    public static String generateDiffHighlighting(String baseString, String modifiedString, String separator) {
+-        Objects.requireNonNull(separator);
+-        if ((baseString != null) && (modifiedString != null)) {
+-            List<String> stringList = new ArrayList<>(Arrays.asList(baseString.split(separator)));
+-            List<Delta<String>> deltaList = new ArrayList<>(
+-                    DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas());
+-            Collections.reverse(deltaList);
+-            for (Delta<String> delta : deltaList) {
+-                int startPos = delta.getOriginal().getPosition();
+-                List<String> lines = delta.getOriginal().getLines();
+-                int offset = 0;
+-                switch (delta.getType()) {
+-                case CHANGE:
+-                    for (String line : lines) {
+-                        stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.REMOVAL_START : "") + line);
+-                        offset++;
+-                    }
+-                    stringList.set((startPos + offset) - 1,
+-                            stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END + separator + DiffHighlighting.ADDITION_START
+-                                    + String.join(separator, delta.getRevised().getLines()) + DiffHighlighting.TAG_END);
+-                    break;
+-                case DELETE:
+-                    for (String line : lines) {
+-                        stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.REMOVAL_START : "") + line);
+-                        offset++;
+-                    }
+-                    stringList.set((startPos + offset) - 1,
+-                            stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END);
+-                    break;
+-                case INSERT:
+-                    stringList.add(delta.getOriginal().getPosition(),
+-                            DiffHighlighting.ADDITION_START + String.join(separator, delta.getRevised().getLines()) + DiffHighlighting.TAG_END);
+-                    break;
+-                default:
+-                    break;
+-                }
+-            }
+-            return String.join(separator, stringList);
+-        }
+-        return modifiedString;
+-    }
+-
+-    public static String generateSymmetricHighlighting(String baseString, String modifiedString, String separator) {
+-        if ((baseString != null) && (modifiedString != null)) {
+-            List<String> stringList = new ArrayList<>(Arrays.asList(baseString.split(separator)));
+-            List<Delta<String>> deltaList = new ArrayList<>(DiffUtils
+-                    .diff(stringList, new ArrayList<>(Arrays.asList(modifiedString.split(separator)))).getDeltas());
+-            Collections.reverse(deltaList);
+-            for (Delta<String> delta : deltaList) {
+-                int startPos = delta.getOriginal().getPosition();
+-                List<String> lines = delta.getOriginal().getLines();
+-                int offset = 0;
+-                switch (delta.getType()) {
+-                case CHANGE:
+-                    for (String line : lines) {
+-                        stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.CHANGE_START : "") + line);
+-                        offset++;
+-                    }
+-                    stringList.set((startPos + offset) - 1, stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END);
+-                    break;
+-                case DELETE:
+-                    for (String line : lines) {
+-                        stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.ADDITION_START : "") + line);
+-                        offset++;
+-                    }
+-                    stringList.set((startPos + offset) - 1, stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END);
+-                    break;
+-                case INSERT:
+-                    break;
+-                default:
+-                    break;
+-                }
+-            }
+-            return String.join(separator, stringList);
+-        }
+-        return modifiedString;
+-    }
+-
+-}
+--- a/src/test/java/net/sf/jabref/logic/util/strings/DiffHighlightingTest.java
++++ b/src/test/java/net/sf/jabref/logic/util/strings/DiffHighlightingTest.java
+@@ -1,81 +0,0 @@
+-package net.sf.jabref.logic.util.strings;
+-
+-import org.junit.Test;
+-
+-import static org.junit.Assert.assertEquals;
+-import static org.junit.Assert.assertNull;
+-
+-
+-public class DiffHighlightingTest {
+-
+-    @Test
+-    public void testGenerateDiffHighlightingBothNullReturnsNull() {
+-        assertNull(DiffHighlighting.generateDiffHighlighting(null, null, ""));
+-    }
+-
+-    @Test(expected = NullPointerException.class)
+-    public void testNullSeparatorThrowsNPE() {
+-        assertNull(DiffHighlighting.generateDiffHighlighting("", "", null));
+-    }
+-
+-    @Test
+-    public void testGenerateDiffHighlightingNoDiff() {
+-        assertEquals("foo", DiffHighlighting.generateDiffHighlighting("foo", "foo", ""));
+-    }
+-
+-    @Test
+-    public void testGenerateDiffHighlightingSingleWordAddTextWordDiff() {
+-        assertEquals("<span class=del>foo</span> <span class=add>foobar</span>",
+-                DiffHighlighting.generateDiffHighlighting("foo", "foobar", " "));
+-    }
+-
+-    @Test
+-    public void testGenerateDiffHighlightingSingleWordAddTextCharacterDiff() {
+-        assertEquals("foo<span class=add>bar</span>", DiffHighlighting.generateDiffHighlighting("foo", "foobar", ""));
+-    }
+-
+-    @Test
+-    public void testGenerateDiffHighlightingSingleWordDeleteTextWordDiff() {
+-        assertEquals("<span class=del>foobar</span> <span class=add>foo</span>",
+-                DiffHighlighting.generateDiffHighlighting("foobar", "foo", " "));
+-    }
+-
+-    @Test
+-    public void testGenerateDiffHighlightingSingleWordDeleteTextCharacterDiff() {
+-        assertEquals("foo<span class=del>bar</span>", DiffHighlighting.generateDiffHighlighting("foobar", "foo", ""));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingSingleWordAddTextWordDiff() {
+-        assertEquals("<span class=change>foo</span>",
+-                DiffHighlighting.generateSymmetricHighlighting("foo", "foobar", " "));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingSingleWordAddTextCharacterDiff() {
+-        assertEquals("foo", DiffHighlighting.generateSymmetricHighlighting("foo", "foobar", ""));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingSingleWordDeleteTextWordDiff() {
+-        assertEquals("<span class=change>foobar</span>",
+-                DiffHighlighting.generateSymmetricHighlighting("foobar", "foo", " "));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingSingleWordDeleteTextCharacterDiff() {
+-        assertEquals("foo<span class=add>bar</span>", DiffHighlighting.generateSymmetricHighlighting("foobar", "foo", ""));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingMultipleWordsDeleteTextCharacterDiff() {
+-        assertEquals("foo<span class=add>bar</span> and <span class=add>some</span>thing",
+-                DiffHighlighting.generateSymmetricHighlighting("foobar and something", "foo and thing", ""));
+-    }
+-
+-    @Test
+-    public void generateSymmetricHighlightingMultipleWordsDeleteTextWordDiff() {
+-        assertEquals("foo <span class=add>bar</span> and <span class=add>some</span> thing",
+-                DiffHighlighting.generateSymmetricHighlighting("foo bar and some thing", "foo and thing", " "));
+-    }
+-}
diff --git a/debian/patches/series b/debian/patches/series
index 88f64bf..47d8b39 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 030_xjc.patch
 040_disable_macadapter.patch
 050_unirest_json.patch
+060_diable_java-diff-utils.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jabref.git



More information about the pkg-java-commits mailing list