mirror of
https://github.com/java-diff-utils/java-diff-utils.git
synced 2026-03-13 10:11:17 +08:00
introduced diamond operator
This commit is contained in:
@@ -189,7 +189,7 @@ public class DiffRowGenerator {
|
||||
}
|
||||
|
||||
private List<String> removeBlankLines(List<String> lines) {
|
||||
List<String> result = new ArrayList<String>();
|
||||
List<String> result = new ArrayList<>();
|
||||
for (String line: lines) {
|
||||
if (line.trim().length() == 0) {
|
||||
result.add("");
|
||||
@@ -217,7 +217,7 @@ public class DiffRowGenerator {
|
||||
original = StringUtills.wrapText(original, this.columnWidth);
|
||||
revised = StringUtills.wrapText(revised, this.columnWidth);
|
||||
|
||||
List<DiffRow> diffRows = new ArrayList<DiffRow>();
|
||||
List<DiffRow> diffRows = new ArrayList<>();
|
||||
int endPos = 0;
|
||||
final List<Delta<String>> deltaList = patch.getDeltas();
|
||||
for (int i = 0; i < deltaList.size(); i++) {
|
||||
@@ -292,11 +292,11 @@ public class DiffRowGenerator {
|
||||
private void addInlineDiffs(Delta<String> delta) {
|
||||
List<String> orig = (List<String>) delta.getOriginal().getLines();
|
||||
List<String> rev = (List<String>) delta.getRevised().getLines();
|
||||
LinkedList<String> origList = new LinkedList<String>();
|
||||
LinkedList<String> origList = new LinkedList<>();
|
||||
for (Character character : join(orig, "\n").toCharArray()) {
|
||||
origList.add(character.toString());
|
||||
}
|
||||
LinkedList<String> revList = new LinkedList<String>();
|
||||
LinkedList<String> revList = new LinkedList<>();
|
||||
for (Character character : join(rev, "\n").toCharArray()) {
|
||||
revList.add(character.toString());
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ public class DiffUtils {
|
||||
Equalizer<T> equalizer) {
|
||||
if (equalizer != null) {
|
||||
return DiffUtils.diff(original, revised,
|
||||
new MyersDiff<T>(equalizer));
|
||||
new MyersDiff<>(equalizer));
|
||||
}
|
||||
return DiffUtils.diff(original, revised, new MyersDiff<T>());
|
||||
}
|
||||
@@ -141,8 +141,8 @@ public class DiffUtils {
|
||||
*/
|
||||
public static Patch<String> parseUnifiedDiff(List<String> diff) {
|
||||
boolean inPrelude = true;
|
||||
List<String[]> rawChunk = new ArrayList<String[]>();
|
||||
Patch<String> patch = new Patch<String>();
|
||||
List<String[]> rawChunk = new ArrayList<>();
|
||||
Patch<String> patch = new Patch<>();
|
||||
|
||||
int old_ln = 0, new_ln = 0;
|
||||
String tag;
|
||||
@@ -159,8 +159,8 @@ public class DiffUtils {
|
||||
if (m.find()) {
|
||||
// Process the lines in the previous chunk
|
||||
if (!rawChunk.isEmpty()) {
|
||||
List<String> oldChunkLines = new ArrayList<String>();
|
||||
List<String> newChunkLines = new ArrayList<String>();
|
||||
List<String> oldChunkLines = new ArrayList<>();
|
||||
List<String> newChunkLines = new ArrayList<>();
|
||||
|
||||
for (String[] raw_line : rawChunk) {
|
||||
tag = raw_line[0];
|
||||
@@ -172,8 +172,8 @@ public class DiffUtils {
|
||||
newChunkLines.add(rest);
|
||||
}
|
||||
}
|
||||
patch.addDelta(new ChangeDelta<String>(new Chunk<String>(
|
||||
old_ln - 1, oldChunkLines), new Chunk<String>(
|
||||
patch.addDelta(new ChangeDelta<>(new Chunk<>(
|
||||
old_ln - 1, oldChunkLines), new Chunk<>(
|
||||
new_ln - 1, newChunkLines)));
|
||||
rawChunk.clear();
|
||||
}
|
||||
@@ -202,8 +202,8 @@ public class DiffUtils {
|
||||
|
||||
// Process the lines in the last chunk
|
||||
if (!rawChunk.isEmpty()) {
|
||||
List<String> oldChunkLines = new ArrayList<String>();
|
||||
List<String> newChunkLines = new ArrayList<String>();
|
||||
List<String> oldChunkLines = new ArrayList<>();
|
||||
List<String> newChunkLines = new ArrayList<>();
|
||||
|
||||
for (String[] raw_line : rawChunk) {
|
||||
tag = raw_line[0];
|
||||
@@ -216,8 +216,8 @@ public class DiffUtils {
|
||||
}
|
||||
}
|
||||
|
||||
patch.addDelta(new ChangeDelta<String>(new Chunk<String>(
|
||||
old_ln - 1, oldChunkLines), new Chunk<String>(new_ln - 1,
|
||||
patch.addDelta(new ChangeDelta<>(new Chunk<>(
|
||||
old_ln - 1, oldChunkLines), new Chunk<>(new_ln - 1,
|
||||
newChunkLines)));
|
||||
rawChunk.clear();
|
||||
}
|
||||
@@ -248,15 +248,15 @@ public class DiffUtils {
|
||||
String revised, List<String> originalLines, Patch<String> patch,
|
||||
int contextSize) {
|
||||
if (!patch.getDeltas().isEmpty()) {
|
||||
List<String> ret = new ArrayList<String>();
|
||||
List<String> ret = new ArrayList<>();
|
||||
ret.add("--- " + original);
|
||||
ret.add("+++ " + revised);
|
||||
|
||||
List<Delta<String>> patchDeltas = new ArrayList<Delta<String>>(
|
||||
List<Delta<String>> patchDeltas = new ArrayList<>(
|
||||
patch.getDeltas());
|
||||
|
||||
// code outside the if block also works for single-delta issues.
|
||||
List<Delta<String>> deltas = new ArrayList<Delta<String>>(); // current
|
||||
List<Delta<String>> deltas = new ArrayList<>(); // current
|
||||
// list
|
||||
// of
|
||||
// Delta's to
|
||||
@@ -300,7 +300,7 @@ public class DiffUtils {
|
||||
ret.addAll(curBlock);
|
||||
return ret;
|
||||
}
|
||||
return new ArrayList<String>();
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -318,7 +318,7 @@ public class DiffUtils {
|
||||
*/
|
||||
private static List<String> processDeltas(List<String> origLines,
|
||||
List<Delta<String>> deltas, int contextSize) {
|
||||
List<String> buffer = new ArrayList<String>();
|
||||
List<String> buffer = new ArrayList<>();
|
||||
int origTotal = 0; // counter for total lines output from Original
|
||||
int revTotal = 0; // counter for total lines output from Original
|
||||
int line;
|
||||
@@ -410,7 +410,7 @@ public class DiffUtils {
|
||||
* @author Bill James (tankerbay@gmail.com)
|
||||
*/
|
||||
private static List<String> getDeltaText(Delta<String> delta) {
|
||||
List<String> buffer = new ArrayList<String>();
|
||||
List<String> buffer = new ArrayList<>();
|
||||
for (String line : delta.getOriginal().getLines()) {
|
||||
buffer.add("-" + line);
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ import java.util.ListIterator;
|
||||
* @param T The type of the compared elements in the 'lines'.
|
||||
*/
|
||||
public class Patch<T> {
|
||||
private List<Delta<T>> deltas = new LinkedList<Delta<T>>();
|
||||
private List<Delta<T>> deltas = new LinkedList<>();
|
||||
|
||||
/**
|
||||
* Apply this patch to the given target
|
||||
@@ -35,7 +35,7 @@ public class Patch<T> {
|
||||
* @throws PatchFailedException if can't apply patch
|
||||
*/
|
||||
public List<T> applyTo(List<T> target) throws PatchFailedException {
|
||||
List<T> result = new LinkedList<T>(target);
|
||||
List<T> result = new LinkedList<>(target);
|
||||
ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
|
||||
while (it.hasPrevious()) {
|
||||
Delta<T> delta = (Delta<T>) it.previous();
|
||||
@@ -50,7 +50,7 @@ public class Patch<T> {
|
||||
* @return the restored text
|
||||
*/
|
||||
public List<T> restore(List<T> target) {
|
||||
List<T> result = new LinkedList<T>(target);
|
||||
List<T> result = new LinkedList<>(target);
|
||||
ListIterator<Delta<T>> it = getDeltas().listIterator(deltas.size());
|
||||
while (it.hasPrevious()) {
|
||||
Delta<T> delta = (Delta<T>) it.previous();
|
||||
|
||||
@@ -56,7 +56,7 @@ public class StringUtills {
|
||||
}
|
||||
|
||||
public static List<String> normalize(List<String> list) {
|
||||
List<String> result = new LinkedList<String>();
|
||||
List<String> result = new LinkedList<>();
|
||||
for (String line : list) {
|
||||
result.add(normalize(line));
|
||||
}
|
||||
@@ -64,7 +64,7 @@ public class StringUtills {
|
||||
}
|
||||
|
||||
public static List<String> wrapText(List<String> list, int columnWidth) {
|
||||
List<String> result = new LinkedList<String>();
|
||||
List<String> result = new LinkedList<>();
|
||||
for (String line : list) {
|
||||
result.add(wrapText(line, columnWidth));
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
} catch (DifferentiationFailedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return new Patch<T>();
|
||||
return new Patch<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -229,7 +229,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
if (rev == null)
|
||||
throw new IllegalArgumentException("revised sequence is null");
|
||||
|
||||
Patch<T> patch = new Patch<T>();
|
||||
Patch<T> patch = new Patch<>();
|
||||
if (path.isSnake())
|
||||
path = path.prev;
|
||||
while (path != null && path.prev != null && path.prev.j >= 0) {
|
||||
@@ -242,15 +242,15 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
int ianchor = path.i;
|
||||
int janchor = path.j;
|
||||
|
||||
Chunk<T> original = new Chunk<T>(ianchor, copyOfRange(orig, ianchor, i));
|
||||
Chunk<T> revised = new Chunk<T>(janchor, copyOfRange(rev, janchor, j));
|
||||
Chunk<T> original = new Chunk<>(ianchor, copyOfRange(orig, ianchor, i));
|
||||
Chunk<T> revised = new Chunk<>(janchor, copyOfRange(rev, janchor, j));
|
||||
Delta<T> delta = null;
|
||||
if (original.size() == 0 && revised.size() != 0) {
|
||||
delta = new InsertDelta<T>(original, revised);
|
||||
delta = new InsertDelta<>(original, revised);
|
||||
} else if (original.size() > 0 && revised.size() == 0) {
|
||||
delta = new DeleteDelta<T>(original, revised);
|
||||
delta = new DeleteDelta<>(original, revised);
|
||||
} else {
|
||||
delta = new ChangeDelta<T>(original, revised);
|
||||
delta = new ChangeDelta<>(original, revised);
|
||||
}
|
||||
|
||||
patch.addDelta(delta);
|
||||
@@ -269,7 +269,7 @@ public class MyersDiff<T> implements DiffAlgorithm<T> {
|
||||
|
||||
*/
|
||||
private List<T> copyOfRange( final List<T> original, final int fromIndex, final int to ) {
|
||||
return new ArrayList<T>( original.subList( fromIndex, to ) );
|
||||
return new ArrayList<>( original.subList( fromIndex, to ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,8 +18,8 @@ public class DiffTest {
|
||||
assertEquals(1, patch.getDeltas().size());
|
||||
final Delta<String> delta = patch.getDeltas().get(0);
|
||||
assertEquals(InsertDelta.class, delta.getClass());
|
||||
assertEquals(new Chunk<String>(1, Collections.<String> emptyList()), delta.getOriginal());
|
||||
assertEquals(new Chunk<String>(1, Arrays.asList("jjj", "kkk")), delta.getRevised());
|
||||
assertEquals(new Chunk<>(1, Collections.<String> emptyList()), delta.getOriginal());
|
||||
assertEquals(new Chunk<>(1, Arrays.asList("jjj", "kkk")), delta.getRevised());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -29,8 +29,8 @@ public class DiffTest {
|
||||
assertEquals(1, patch.getDeltas().size());
|
||||
final Delta<String> delta = patch.getDeltas().get(0);
|
||||
assertEquals(DeleteDelta.class, delta.getClass());
|
||||
assertEquals(new Chunk<String>(0, Arrays.asList("ddd", "fff")), delta.getOriginal());
|
||||
assertEquals(new Chunk<String>(0, Collections.<String> emptyList()), delta.getRevised());
|
||||
assertEquals(new Chunk<>(0, Arrays.asList("ddd", "fff")), delta.getOriginal());
|
||||
assertEquals(new Chunk<>(0, Collections.<String> emptyList()), delta.getRevised());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -43,8 +43,8 @@ public class DiffTest {
|
||||
assertEquals(1, patch.getDeltas().size());
|
||||
final Delta<String> delta = patch.getDeltas().get(0);
|
||||
assertEquals(ChangeDelta.class, delta.getClass());
|
||||
assertEquals(new Chunk<String>(1, Arrays.asList("bbb")), delta.getOriginal());
|
||||
assertEquals(new Chunk<String>(1, Arrays.asList("zzz")), delta.getRevised());
|
||||
assertEquals(new Chunk<>(1, Arrays.asList("bbb")), delta.getOriginal());
|
||||
assertEquals(new Chunk<>(1, Arrays.asList("zzz")), delta.getRevised());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -18,7 +18,7 @@ public class GenerateUnifiedDiffTest {
|
||||
|
||||
|
||||
public List<String> fileToLines(String filename) {
|
||||
List<String> lines = new LinkedList<String>();
|
||||
List<String> lines = new LinkedList<>();
|
||||
String line = "";
|
||||
BufferedReader in = null;
|
||||
try {
|
||||
@@ -99,8 +99,8 @@ public class GenerateUnifiedDiffTest {
|
||||
*/
|
||||
@Test
|
||||
public void testDiffWithHeaderLineInText() {
|
||||
List<String> original = new ArrayList<String>();
|
||||
List<String> revised = new ArrayList<String>();
|
||||
List<String> original = new ArrayList<>();
|
||||
List<String> revised = new ArrayList<>();
|
||||
|
||||
original.add("test line1");
|
||||
original.add("test line2");
|
||||
|
||||
@@ -22,7 +22,7 @@ public abstract class Example {
|
||||
* @return A list of lines.
|
||||
*/
|
||||
public static List<String> fileToLines(String filename) {
|
||||
List<String> lines = new LinkedList<String>();
|
||||
List<String> lines = new LinkedList<>();
|
||||
String line = "";
|
||||
BufferedReader in = null;
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user