|
15 | 15 | */ |
16 | 16 | package difflib; |
17 | 17 |
|
18 | | -import java.util.ArrayList; |
19 | | -import java.util.Arrays; |
20 | | -import java.util.Collections; |
21 | | -import java.util.Iterator; |
22 | | -import java.util.LinkedList; |
23 | | -import java.util.List; |
24 | | - |
25 | 18 | import difflib.DiffRow.Tag; |
26 | 19 |
|
| 20 | +import java.util.*; |
| 21 | + |
27 | 22 | /** |
28 | 23 | * This class for generating DiffRows for side-by-sidy view. |
29 | 24 | * You can customize the way of generating. For example, show inline diffs on not, ignoring |
@@ -195,17 +190,18 @@ public List<DiffRow> generateDiffRows(List<String> original, List<String> revise |
195 | 190 | @SuppressWarnings("unchecked") |
196 | 191 | public List<DiffRow> generateDiffRows(List<String> original, List<String> revised, Patch patch) { |
197 | 192 | // normalize the lines (expand tabs, escape html entities) |
198 | | - original = StringUtills.normalize((List<String>) original); |
199 | | - revised = StringUtills.normalize((List<String>) revised); |
| 193 | + original = StringUtills.normalize(original); |
| 194 | + revised = StringUtills.normalize(revised); |
200 | 195 |
|
201 | 196 | // wrap to the column width |
202 | | - original = StringUtills.wrapText((List<String>) original, this.columnWidth); |
203 | | - revised = StringUtills.wrapText((List<String>) revised, this.columnWidth); |
| 197 | + original = StringUtills.wrapText(original, this.columnWidth); |
| 198 | + revised = StringUtills.wrapText(revised, this.columnWidth); |
204 | 199 |
|
205 | 200 | List<DiffRow> diffRows = new ArrayList<DiffRow>(); |
206 | 201 | int endPos = 0; |
207 | | - for (int i = 0; i < patch.getDeltas().size(); i++) { |
208 | | - Delta delta = patch.getDelta(i); |
| 202 | + final List<Delta> deltaList = patch.getDeltas(); |
| 203 | + for (int i = 0; i < deltaList.size(); i++) { |
| 204 | + Delta delta = deltaList.get(i); |
209 | 205 | Chunk orig = delta.getOriginal(); |
210 | 206 | Chunk rev = delta.getRevised(); |
211 | 207 |
|
@@ -243,18 +239,18 @@ public List<DiffRow> generateDiffRows(List<String> original, List<String> revise |
243 | 239 | addInlineDiffs(delta); |
244 | 240 | } |
245 | 241 | // the changed size is match |
246 | | - if (orig.getSize() == rev.getSize()) { |
247 | | - for (int j = 0; j < orig.getSize(); j++) { |
| 242 | + if (orig.size() == rev.size()) { |
| 243 | + for (int j = 0; j < orig.size(); j++) { |
248 | 244 | diffRows.add(new DiffRow(Tag.CHANGE, (String) orig.getLines().get(j), |
249 | 245 | (String) rev.getLines().get(j))); |
250 | 246 | } |
251 | | - } else if (orig.getSize() > rev.getSize()) { |
252 | | - for (int j = 0; j < orig.getSize(); j++) { |
| 247 | + } else if (orig.size() > rev.size()) { |
| 248 | + for (int j = 0; j < orig.size(); j++) { |
253 | 249 | diffRows.add(new DiffRow(Tag.CHANGE, (String) orig.getLines().get(j), rev |
254 | 250 | .getLines().size() > j ? (String) rev.getLines().get(j) : "")); |
255 | 251 | } |
256 | 252 | } else { |
257 | | - for (int j = 0; j < rev.getSize(); j++) { |
| 253 | + for (int j = 0; j < rev.size(); j++) { |
258 | 254 | diffRows.add(new DiffRow(Tag.CHANGE, orig.getLines().size() > j ? (String) orig |
259 | 255 | .getLines().get(j) : "", (String) rev.getLines().get(j))); |
260 | 256 | } |
@@ -294,16 +290,16 @@ private void addInlineDiffs(Delta delta) { |
294 | 290 | if (inlineDelta.getClass().equals(DeleteDelta.class)) { |
295 | 291 | origList = wrapInTag(origList, inlineOrig.getPosition(), inlineOrig |
296 | 292 | .getPosition() |
297 | | - + inlineOrig.getSize() + 1, this.InlineOldTag, this.InlineOldCssClass); |
| 293 | + + inlineOrig.size() + 1, this.InlineOldTag, this.InlineOldCssClass); |
298 | 294 | } else if (inlineDelta.getClass().equals(InsertDelta.class)) { |
299 | 295 | revList = wrapInTag(revList, inlineRev.getPosition(), inlineRev.getPosition() |
300 | | - + inlineRev.getSize() + 1, this.InlineNewTag, this.InlineNewCssClass); |
| 296 | + + inlineRev.size() + 1, this.InlineNewTag, this.InlineNewCssClass); |
301 | 297 | } else if (inlineDelta.getClass().equals(ChangeDelta.class)) { |
302 | 298 | origList = wrapInTag(origList, inlineOrig.getPosition(), inlineOrig |
303 | 299 | .getPosition() |
304 | | - + inlineOrig.getSize() + 1, this.InlineOldTag, this.InlineOldCssClass); |
| 300 | + + inlineOrig.size() + 1, this.InlineOldTag, this.InlineOldCssClass); |
305 | 301 | revList = wrapInTag(revList, inlineRev.getPosition(), inlineRev.getPosition() |
306 | | - + inlineRev.getSize() + 1, this.InlineNewTag, this.InlineNewCssClass); |
| 302 | + + inlineRev.size() + 1, this.InlineNewTag, this.InlineNewCssClass); |
307 | 303 | } |
308 | 304 | } |
309 | 305 | StringBuilder origResult = new StringBuilder(), revResult = new StringBuilder(); |
|
0 commit comments