You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by kk...@apache.org on 2020/11/05 22:51:57 UTC

[tika] branch main updated: Simplify some sort statement use List.sort and lambda

This is an automated email from the ASF dual-hosted git repository.

kkrugler pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 53fef89  Simplify some sort statement use List.sort and lambda
     new 44c0c83  Merge pull request #376 from PeterAlfredLee/simplifySort
53fef89 is described below

commit 53fef890942bdf69d455abbbecc17cd22d6621d6
Author: PeterAlfredLee <pe...@gmail.com>
AuthorDate: Tue Nov 3 15:57:22 2020 +0800

    Simplify some sort statement use List.sort and lambda
---
 .../java/org/apache/tika/batch/fs/FSDirectoryCrawler.java    |  2 +-
 .../main/java/org/apache/tika/language/LanguageProfile.java  |  7 +------
 .../src/main/java/org/apache/tika/eval/AbstractProfiler.java |  7 +------
 .../org/apache/tika/eval/textstats/TextProfileSignature.java |  2 +-
 .../main/java/org/apache/tika/example/RollbackSoftware.java  |  6 +-----
 .../org/apache/tika/parser/apple/AppleSingleFileParser.java  | 12 +-----------
 .../parser/microsoft/ooxml/xps/XPSPageContentHandler.java    |  2 +-
 .../tika/parser/recognition/ObjectRecognitionParser.java     |  9 +--------
 .../java/org/apache/tika/parser/geo/NameEntityExtractor.java | 11 ++---------
 .../java/org/apache/tika/server/resource/TikaParsers.java    |  6 +-----
 .../java/org/apache/tika/server/resource/TikaWelcome.java    |  2 +-
 11 files changed, 12 insertions(+), 54 deletions(-)

diff --git a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
index 5177956..db00132 100644
--- a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
+++ b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
@@ -99,7 +99,7 @@ public class FSDirectoryCrawler extends FileResourceCrawler {
         if (crawlOrder == CRAWL_ORDER.RANDOM) {
             Collections.shuffle(files);
         } else if (crawlOrder == CRAWL_ORDER.SORTED) {
-            Collections.sort(files, pathComparator);
+            files.sort(pathComparator);
         }
 
         int numFiles = 0;
diff --git a/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java b/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java
index 477976f..89c755a 100644
--- a/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java
+++ b/tika-core/src/main/java/org/apache/tika/language/LanguageProfile.java
@@ -262,12 +262,7 @@ public class LanguageProfile {
         private List<Map.Entry<String, Counter>> getSortedNgrams() {
             List<Map.Entry<String, Counter>> entries = new ArrayList<Map.Entry<String, Counter>>(ngrams.size());
             entries.addAll(ngrams.entrySet());
-            Collections.sort(entries, new Comparator<Map.Entry<String, Counter>>() {
-                @Override
-                public int compare(Map.Entry<String, Counter> o1, Map.Entry<String, Counter> o2) {
-                    return o1.getKey().compareTo(o2.getKey());
-                }
-            });
+            entries.sort(Map.Entry.comparingByKey());
             return entries;
         }
         
diff --git a/tika-eval/src/main/java/org/apache/tika/eval/AbstractProfiler.java b/tika-eval/src/main/java/org/apache/tika/eval/AbstractProfiler.java
index ed13e45..432543d 100644
--- a/tika-eval/src/main/java/org/apache/tika/eval/AbstractProfiler.java
+++ b/tika-eval/src/main/java/org/apache/tika/eval/AbstractProfiler.java
@@ -568,12 +568,7 @@ public abstract class AbstractProfiler extends FileResourceConsumer {
         for (Map.Entry<String, MutableInt> e : blocks.entrySet()) {
             pairs.add(Pair.of(e.getKey(), e.getValue().intValue()));
         }
-        Collections.sort(pairs, new Comparator<Pair<String, Integer>>() {
-            @Override
-            public int compare(Pair<String, Integer> o1, Pair<String, Integer> o2) {
-                return o2.getValue().compareTo(o1.getValue());
-            }
-        });
+        pairs.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));
         StringBuilder sb = new StringBuilder();
 
         for (int i = 0; i < 20 && i < pairs.size(); i++) {
diff --git a/tika-eval/src/main/java/org/apache/tika/eval/textstats/TextProfileSignature.java b/tika-eval/src/main/java/org/apache/tika/eval/textstats/TextProfileSignature.java
index 7628e49..c151110 100644
--- a/tika-eval/src/main/java/org/apache/tika/eval/textstats/TextProfileSignature.java
+++ b/tika-eval/src/main/java/org/apache/tika/eval/textstats/TextProfileSignature.java
@@ -74,7 +74,7 @@ public class TextProfileSignature implements TokenCountStatsCalculator<String> {
                 profile.add(new Token((e.getValue().intValue() / quant) * quant, e.getKey()));
             }
         }
-        Collections.sort(profile, new TokenComparator());
+        profile.sort(new TokenComparator());
         StringBuffer newText = new StringBuffer();
         int i = 0;
         for (Token t : profile) {
diff --git a/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java b/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java
index 6890b75..fa85561 100755
--- a/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java
+++ b/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java
@@ -61,11 +61,7 @@ public class RollbackSoftware {
         List<Link> links = handler.getLinks();
         if (links.size() < 2)
             throw new IOException("Must have installed at least 2 versions!");
-        Collections.sort(links, new Comparator<Link>() {
-            public int compare(Link o1, Link o2) {
-                return o1.getText().compareTo(o2.getText());
-            }
-        });
+        links.sort(Comparator.comparing(Link::getText));
 
         this.updateVersion(links.get(links.size() - 2).getText());
     }
diff --git a/tika-parser-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java b/tika-parser-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
index c1007f2..c7e67d6 100644
--- a/tika-parser-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
+++ b/tika-parser-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
@@ -160,7 +160,7 @@ public class AppleSingleFileParser extends AbstractParser {
             throw new TikaException("AppleSingleFile missing field info");
         }
         //make absolutely sure these are in order!
-        Collections.sort(fieldInfoList, new FieldInfoComparator());
+        fieldInfoList.sort(Comparator.comparingLong(fieldInfo -> fieldInfo.offset));
         return fieldInfoList;
     }
 
@@ -189,14 +189,4 @@ public class AppleSingleFileParser extends AbstractParser {
             this.length = length;
         }
     }
-
-    private static class FieldInfoComparator implements Comparator<FieldInfo> {
-
-        @Override
-        public int compare(FieldInfo o1, FieldInfo o2) {
-            return (o1.offset > o2.offset) ? 1 :
-                    (o1.offset == o2.offset) ? 0 : -1 ;
-        }
-    }
-
 }
diff --git a/tika-parser-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java b/tika-parser-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
index d18825d..25ba69a 100644
--- a/tika-parser-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
+++ b/tika-parser-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java
@@ -319,7 +319,7 @@ class XPSPageContentHandler extends DefaultHandler {
                 //in most xps files in our test corpus, this is never triggered
                 //because the runs are already ordered correctly
                 if (maxY > -1.0f && addedNewRow && glyphRun.originY < maxY) {
-                    Collections.sort(rows, ROW_SORTER);
+                    rows.sort(ROW_SORTER);
                 }
                 if (glyphRun.originY > maxY) {
                     maxY = glyphRun.originY;
diff --git a/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java b/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java
index a5a126b..62a3fa6 100644
--- a/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java
+++ b/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java
@@ -73,13 +73,6 @@ public class ObjectRecognitionParser extends AbstractParser implements Initializ
     public static final String MD_KEY_IMG_CAP = "CAPTION";
     public static final String MD_REC_IMPL_KEY =
             ObjectRecognitionParser.class.getPackage().getName() + ".object.rec.impl";
-    private static final Comparator<RecognisedObject> DESC_CONFIDENCE_SORTER =
-            new Comparator<RecognisedObject>() {
-                @Override
-                public int compare(RecognisedObject o1, RecognisedObject o2) {
-                    return Double.compare(o2.getConfidence(), o1.getConfidence());
-                }
-            };
 
     private ObjectRecogniser recogniser;
 
@@ -126,7 +119,7 @@ public class ObjectRecognitionParser extends AbstractParser implements Initializ
             List<String> xhtmlIds = new ArrayList<String>();
             String xhtmlStartVal = null;
             count = 0;
-            Collections.sort(objects, DESC_CONFIDENCE_SORTER);
+            objects.sort((o1, o2) -> Double.compare(o2.getConfidence(), o1.getConfidence()));
             // first process all the MD objects
             for (RecognisedObject object : objects) {
                 if (object instanceof CaptionObject) {
diff --git a/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java b/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java
index c998e40..85793c6 100644
--- a/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java
+++ b/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java
@@ -98,16 +98,9 @@ public class NameEntityExtractor {
                 tf.put(this.locationNameEntities.get(i), 1);
         }
         int max = 0;
-        List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(
-                tf.entrySet());
+        List<Map.Entry<String, Integer>> list = new ArrayList<>(tf.entrySet());
         Collections.shuffle(list);
-        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
-            public int compare(Map.Entry<String, Integer> o1,
-                    Map.Entry<String, Integer> o2) {
-                // Descending Order
-                return o2.getValue().compareTo(o1.getValue());
-            }
-        });
+        list.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));
 
         this.locationNameEntities.clear();// update so that they are in
                                           // descending order
diff --git a/tika-server/src/main/java/org/apache/tika/server/resource/TikaParsers.java b/tika-server/src/main/java/org/apache/tika/server/resource/TikaParsers.java
index 6461cab..1c5dfae 100644
--- a/tika-server/src/main/java/org/apache/tika/server/resource/TikaParsers.java
+++ b/tika-server/src/main/java/org/apache/tika/server/resource/TikaParsers.java
@@ -232,11 +232,7 @@ public class TikaParsers {
                         ((CompositeParser) p).getParsers(EMPTY_PC).values());
                 // Sort it by class name
                 childParsers = new ArrayList<Parser>(children);
-                Collections.sort(childParsers, new Comparator<Parser>() {                    @Override
-                    public int compare(Parser p1, Parser p2) {
-                        return p1.getClass().getName().compareTo(p2.getClass().getName());
-                    }
-                });
+                childParsers.sort(Comparator.comparing(parser -> parser.getClass().getName()));
             } else {
                 supportedTypes = p.getSupportedTypes(EMPTY_PC);
             }
diff --git a/tika-server/src/main/java/org/apache/tika/server/resource/TikaWelcome.java b/tika-server/src/main/java/org/apache/tika/server/resource/TikaWelcome.java
index 3408027..0b4e35f 100644
--- a/tika-server/src/main/java/org/apache/tika/server/resource/TikaWelcome.java
+++ b/tika-server/src/main/java/org/apache/tika/server/resource/TikaWelcome.java
@@ -121,7 +121,7 @@ public class TikaWelcome {
                 }
             }
         }
-        Collections.sort(found, new Comparator<Endpoint>() {
+        found.sort(new Comparator<Endpoint>() {
             @Override
             public int compare(Endpoint e1, Endpoint e2) {
                 int res = e1.path.compareTo(e2.path);