You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2024/01/29 23:35:22 UTC

(lucene) branch branch_9x updated (e432021de29 -> b129e663f42)

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

uschindler pushed a change to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git


    from e432021de29 Add back-compat indices for 9.9.2
     new 659ed4bdb73 Remove concatenation in String.format() calls (#13038)
     new 5606bebae70 Use String.replace() instead of replaceAll() (#13047)
     new 2eb58ad0b60 Use String.indexOf(char) where possible (#13049)
     new 7b884b6ec61 Use String.isEmpty() instead of equals("") (#13050)
     new 6db232c20ae Replace `new HashSet<>(Arrays.asList())` with `EnumSet.of()` (#13051)
     new b129e663f42 Use orElseGet() to avoid unnecessary object allocation (#13048)

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 lucene/CHANGES.txt                                 |  3 +++
 .../analysis/hunspell/CheckCompoundPattern.java    |  4 ++--
 .../lucene/analysis/hunspell/CompoundRule.java     |  2 +-
 .../lucene/analysis/hunspell/Dictionary.java       |  2 +-
 .../pattern/PatternTypingFilterFactory.java        |  2 +-
 .../lucene/analysis/synonym/SolrSynonymParser.java |  2 +-
 .../charfilter/TestHTMLStripCharFilter.java        |  4 ++--
 .../icu/segmentation/ICUTokenizerFactory.java      |  2 +-
 .../analysis/ko/KoreanPartOfSpeechStopFilter.java  |  8 +++-----
 .../lucene/analysis/ko/TestKoreanAnalyzer.java     |  5 ++---
 .../lucene/analysis/ko/TestKoreanNumberFilter.java | 11 ++++------
 .../lucene/benchmark/byTask/tasks/RepAllTask.java  |  2 +-
 .../byTask/tasks/RepSelectByPrefTask.java          |  2 +-
 .../lucene/benchmark/byTask/tasks/ReportTask.java  |  2 +-
 .../benchmark/byTask/tasks/SearchWithSortTask.java |  2 +-
 .../lucene/benchmark/byTask/tasks/SetPropTask.java |  2 +-
 .../lucene/benchmark/byTask/utils/Config.java      | 24 +++++++++++-----------
 .../benchmark/quality/trec/Trec1MQReader.java      |  2 +-
 .../benchmark/byTask/TestPerfTasksLogic.java       |  5 ++---
 .../lucene/geo/SimpleGeoJSONPolygonParser.java     |  4 ++--
 .../org/apache/lucene/util/CommandLineUtil.java    |  2 +-
 .../org/apache/lucene/index/TestSegmentReader.java |  4 ++--
 .../lucene/index/TestTransactionRollback.java      |  2 +-
 .../apache/lucene/util/automaton/TestRegExp.java   |  6 +++---
 .../search/grouping/AbstractGroupingTestCase.java  |  2 +-
 .../lucene/search/grouping/TestGrouping.java       |  2 +-
 .../uhighlight/TestDefaultPassageFormatter.java    |  4 ++--
 .../TestSimpleFragmentsBuilder.java                |  2 +-
 .../desktop/components/SearchPanelProvider.java    | 10 ++++-----
 .../dialog/analysis/EditParamsDialogFactory.java   |  4 ++--
 .../dialog/documents/AddDocumentDialogFactory.java |  2 +-
 .../lucene/luke/app/desktop/util/StringUtils.java  |  2 +-
 .../app/desktop/util/inifile/SimpleIniFile.java    |  2 +-
 .../desktop/util/inifile/SimpleIniFileReader.java  |  4 ++--
 .../lucene/luke/models/analysis/AnalysisImpl.java  |  2 +-
 .../util/twentynewsgroups/MessageFilesParser.java  |  2 +-
 .../apache/lucene/monitor/RegexpQueryHandler.java  |  6 +++---
 .../queryparser/simple/SimpleQueryParser.java      |  2 +-
 .../apache/lucene/queryparser/xml/DOMUtils.java    | 10 ++++-----
 .../queryparser/util/QueryParserTestBase.java      |  2 +-
 .../replicator/nrt/PreCopyMergedSegmentWarmer.java |  3 ++-
 .../lucene/replicator/nrt/SimplePrimaryNode.java   |  8 +++-----
 .../org/apache/lucene/tests/search/CheckHits.java  |  2 +-
 43 files changed, 85 insertions(+), 90 deletions(-)


(lucene) 05/06: Replace `new HashSet<>(Arrays.asList())` with `EnumSet.of()` (#13051)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 6db232c20ae06e63d45ae85ddfe4c62a36e0ffe4
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:14:28 2024 +0100

    Replace `new HashSet<>(Arrays.asList())` with `EnumSet.of()` (#13051)
    
    # Conflicts:
    #       lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java
---
 .../lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java      |  8 +++-----
 .../org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java     |  5 ++---
 .../org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java | 11 ++++-------
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java
index d3361a62722..1db1e2a5cb9 100644
--- a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java
+++ b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/KoreanPartOfSpeechStopFilter.java
@@ -16,8 +16,7 @@
  */
 package org.apache.lucene.analysis.ko;
 
-import java.util.Arrays;
-import java.util.HashSet;
+import java.util.EnumSet;
 import java.util.Set;
 import org.apache.lucene.analysis.FilteringTokenFilter;
 import org.apache.lucene.analysis.TokenStream;
@@ -34,8 +33,7 @@ public final class KoreanPartOfSpeechStopFilter extends FilteringTokenFilter {
 
   /** Default list of tags to filter. */
   public static final Set<POS.Tag> DEFAULT_STOP_TAGS =
-      new HashSet<>(
-          Arrays.asList(
+      EnumSet.of(
               POS.Tag.E,
               POS.Tag.IC,
               POS.Tag.J,
@@ -53,7 +51,7 @@ public final class KoreanPartOfSpeechStopFilter extends FilteringTokenFilter {
               POS.Tag.XSV,
               POS.Tag.UNA,
               POS.Tag.NA,
-              POS.Tag.VSV));
+              POS.Tag.VSV);
 
   /**
    * Create a new {@link KoreanPartOfSpeechStopFilter} with the default list of stop tags {@link
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
index cb71a7641a4..16cdcb9c66e 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanAnalyzer.java
@@ -17,8 +17,7 @@
 package org.apache.lucene.analysis.ko;
 
 import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashSet;
+import java.util.EnumSet;
 import java.util.Random;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
@@ -39,7 +38,7 @@ public class TestKoreanAnalyzer extends BaseTokenStreamTestCase {
   }
 
   public void testStopTags() throws IOException {
-    Set<POS.Tag> stopTags = new HashSet<>(Arrays.asList(POS.Tag.NNP, POS.Tag.NNG));
+    Set<POS.Tag> stopTags = EnumSet.of(POS.Tag.NNP, POS.Tag.NNG);
     Analyzer a = new KoreanAnalyzer(null, KoreanTokenizer.DecompoundMode.DISCARD, stopTags, false);
     assertAnalyzesTo(
         a,
diff --git a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
index 7da469db582..02409a69263 100644
--- a/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
+++ b/lucene/analysis/nori/src/test/org/apache/lucene/analysis/ko/TestKoreanNumberFilter.java
@@ -25,7 +25,7 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.HashSet;
+import java.util.EnumSet;
 import java.util.Set;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.CharArraySet;
@@ -62,8 +62,7 @@ public class TestKoreanNumberFilter extends BaseTokenStreamTestCase {
   public void setUp() throws Exception {
     super.setUp();
     UserDictionary userDictionary = readDict();
-    Set<POS.Tag> stopTags = new HashSet<>();
-    stopTags.add(POS.Tag.SP);
+    Set<POS.Tag> stopTags = EnumSet.of(POS.Tag.SP);
     analyzer =
         new Analyzer() {
           @Override
@@ -205,8 +204,7 @@ public class TestKoreanNumberFilter extends BaseTokenStreamTestCase {
             CharArraySet set = new CharArraySet(1, false);
             set.add("경일");
             UserDictionary userDictionary = readDict();
-            Set<POS.Tag> stopTags = new HashSet<>();
-            stopTags.add(POS.Tag.SP);
+            Set<POS.Tag> stopTags = EnumSet.of(POS.Tag.SP);
             Tokenizer tokenizer =
                 new KoreanTokenizer(
                     newAttributeFactory(),
@@ -303,8 +301,7 @@ public class TestKoreanNumberFilter extends BaseTokenStreamTestCase {
           @Override
           protected TokenStreamComponents createComponents(String fieldName) {
             UserDictionary userDictionary = readDict();
-            Set<POS.Tag> stopTags = new HashSet<>();
-            stopTags.add(POS.Tag.SP);
+            Set<POS.Tag> stopTags = EnumSet.of(POS.Tag.SP);
             Tokenizer tokenizer =
                 new KoreanTokenizer(
                     newAttributeFactory(),


(lucene) 01/06: Remove concatenation in String.format() calls (#13038)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 659ed4bdb731c75f7f827ff307b15627a2e3601b
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:13:31 2024 +0100

    Remove concatenation in String.format() calls (#13038)
---
 .../apache/lucene/replicator/nrt/PreCopyMergedSegmentWarmer.java  | 3 ++-
 .../test/org/apache/lucene/replicator/nrt/SimplePrimaryNode.java  | 8 +++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/PreCopyMergedSegmentWarmer.java b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/PreCopyMergedSegmentWarmer.java
index dc7034904d7..e3e42224ecf 100644
--- a/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/PreCopyMergedSegmentWarmer.java
+++ b/lucene/replicator/src/java/org/apache/lucene/replicator/nrt/PreCopyMergedSegmentWarmer.java
@@ -60,7 +60,8 @@ class PreCopyMergedSegmentWarmer implements IndexReaderWarmer {
     primary.message(
         String.format(
             Locale.ROOT,
-            "top: done warm merge " + info + ": took %.3f sec, %.1f MB",
+            "top: done warm merge %s: took %.3f sec, %.1f MB",
+            info,
             (System.nanoTime() - startNS) / (double) TimeUnit.SECONDS.toNanos(1),
             info.sizeInBytes() / 1024. / 1024.));
     primary.finishedMergedFiles.addAll(filesMetaData.keySet());
diff --git a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimplePrimaryNode.java b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimplePrimaryNode.java
index 66a011dacaf..16892feed08 100644
--- a/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimplePrimaryNode.java
+++ b/lucene/replicator/src/test/org/apache/lucene/replicator/nrt/SimplePrimaryNode.java
@@ -242,11 +242,9 @@ class SimplePrimaryNode extends PrimaryNode {
           message(
               String.format(
                   Locale.ROOT,
-                  "top: warning: still warming merge "
-                      + info
-                      + " to "
-                      + preCopy.connections.size()
-                      + " replicas for %.1f sec...",
+                  "top: warning: still warming merge %s to %d replicas for %.1f sec...",
+                  info,
+                  preCopy.connections.size(),
                   (ns - startNS) / (double) TimeUnit.SECONDS.toNanos(1)));
           lastWarnNS = ns;
         }


(lucene) 03/06: Use String.indexOf(char) where possible (#13049)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 2eb58ad0b60bd308d7f623a0966b968700772182
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:13:56 2024 +0100

    Use String.indexOf(char) where possible (#13049)
---
 .../analysis/hunspell/CheckCompoundPattern.java    |  4 ++--
 .../lucene/analysis/hunspell/CompoundRule.java     |  2 +-
 .../lucene/analysis/hunspell/Dictionary.java       |  2 +-
 .../pattern/PatternTypingFilterFactory.java        |  2 +-
 .../lucene/analysis/synonym/SolrSynonymParser.java |  2 +-
 .../icu/segmentation/ICUTokenizerFactory.java      |  2 +-
 .../benchmark/byTask/tasks/SearchWithSortTask.java |  2 +-
 .../lucene/benchmark/byTask/tasks/SetPropTask.java |  2 +-
 .../lucene/benchmark/byTask/utils/Config.java      | 24 +++++++++++-----------
 .../benchmark/quality/trec/Trec1MQReader.java      |  2 +-
 .../org/apache/lucene/util/CommandLineUtil.java    |  2 +-
 .../lucene/index/TestTransactionRollback.java      |  2 +-
 .../uhighlight/TestDefaultPassageFormatter.java    |  4 ++--
 .../apache/lucene/monitor/RegexpQueryHandler.java  |  6 +++---
 .../queryparser/util/QueryParserTestBase.java      |  2 +-
 .../org/apache/lucene/tests/search/CheckHits.java  |  2 +-
 16 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CheckCompoundPattern.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CheckCompoundPattern.java
index b0617a7fbba..9a779138a00 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CheckCompoundPattern.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CheckCompoundPattern.java
@@ -34,11 +34,11 @@ class CheckCompoundPattern {
       throw new IllegalArgumentException("Invalid pattern: " + unparsed);
     }
 
-    int flagSep = parts[1].indexOf("/");
+    int flagSep = parts[1].indexOf('/');
     endChars = flagSep < 0 ? parts[1] : parts[1].substring(0, flagSep);
     endFlags = flagSep < 0 ? new char[0] : strategy.parseFlags(parts[1].substring(flagSep + 1));
 
-    flagSep = parts[2].indexOf("/");
+    flagSep = parts[2].indexOf('/');
     beginChars = flagSep < 0 ? parts[2] : parts[2].substring(0, flagSep);
     beginFlags = flagSep < 0 ? new char[0] : strategy.parseFlags(parts[2].substring(flagSep + 1));
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CompoundRule.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CompoundRule.java
index 726c1dccde3..d666b0c2920 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CompoundRule.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/CompoundRule.java
@@ -28,7 +28,7 @@ class CompoundRule {
     StringBuilder parsedFlags = new StringBuilder();
     int pos = 0;
     while (pos < rule.length()) {
-      int lParen = rule.indexOf("(", pos);
+      int lParen = rule.indexOf('(', pos);
       if (lParen < 0) {
         parsedFlags.append(dictionary.flagParsingStrategy.parseFlags(rule.substring(pos)));
         break;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
index febba3a91e4..f8ced9055df 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
@@ -585,7 +585,7 @@ public class Dictionary {
   }
 
   static String extractLanguageCode(String isoCode) {
-    int underscore = isoCode.indexOf("_");
+    int underscore = isoCode.indexOf('_');
     return underscore < 0 ? isoCode : isoCode.substring(0, underscore);
   }
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTypingFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTypingFilterFactory.java
index 4d4539e9310..4c379679f7f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTypingFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pattern/PatternTypingFilterFactory.java
@@ -97,7 +97,7 @@ public class PatternTypingFilterFactory extends TokenFilterFactory implements Re
     // eg: 2 (\d+\(?([a-z])\)?\(?(\d+)\)? ::: legal3_$1_$2_3
     // which yields legal3_501_c_3 for 501(c)(3) or 501c3 and sets the second lowest bit in flags
     for (String line : lines) {
-      int firstSpace = line.indexOf(" "); // no leading spaces allowed
+      int firstSpace = line.indexOf(' '); // no leading spaces allowed
       int flagsVal = Integer.parseInt(line.substring(0, firstSpace));
       line = line.substring(firstSpace + 1);
       String[] split =
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
index 32b5ff00d48..d1ebcfb17f0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/synonym/SolrSynonymParser.java
@@ -170,7 +170,7 @@ public class SolrSynonymParser extends SynonymMap.Parser {
   }
 
   private String unescape(String s) {
-    if (s.indexOf("\\") >= 0) {
+    if (s.indexOf('\\') >= 0) {
       StringBuilder sb = new StringBuilder();
       for (int i = 0; i < s.length(); i++) {
         char ch = s.charAt(i);
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
index 1f5d72e17de..9084e9c121f 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/segmentation/ICUTokenizerFactory.java
@@ -87,7 +87,7 @@ public class ICUTokenizerFactory extends TokenizerFactory implements ResourceLoa
     if (rulefilesArg != null) {
       List<String> scriptAndResourcePaths = splitFileNames(rulefilesArg);
       for (String scriptAndResourcePath : scriptAndResourcePaths) {
-        int colonPos = scriptAndResourcePath.indexOf(":");
+        int colonPos = scriptAndResourcePath.indexOf(':');
         String scriptCode = scriptAndResourcePath.substring(0, colonPos).trim();
         String resourcePath = scriptAndResourcePath.substring(colonPos + 1).trim();
         tailored.put(UCharacter.getPropertyValueEnum(UProperty.SCRIPT, scriptCode), resourcePath);
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
index 63c7bf9f1c8..e8eb8f27042 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SearchWithSortTask.java
@@ -54,7 +54,7 @@ public class SearchWithSortTask extends ReadTask {
       } else if (field.equals("score")) {
         sortField0 = SortField.FIELD_SCORE;
       } else {
-        int index = field.lastIndexOf(":");
+        int index = field.lastIndexOf(':');
         String fieldName;
         String typeString;
         if (index != -1) {
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
index b4389c1d59a..bad08516643 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/SetPropTask.java
@@ -54,7 +54,7 @@ public class SetPropTask extends PerfTask {
   @Override
   public void setParams(String params) {
     super.setParams(params);
-    int k = params.indexOf(",");
+    int k = params.indexOf(',');
     name = params.substring(0, k).trim();
     value = params.substring(k + 1).trim();
   }
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
index 33f3db560e4..8fed1010c9f 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Config.java
@@ -150,7 +150,7 @@ public class Config {
     if (sval == null) {
       return null;
     }
-    if (sval.indexOf(":") < 0) {
+    if (sval.indexOf(':') < 0) {
       return sval;
     } else if (sval.indexOf(":\\") >= 0 || sval.indexOf(":/") >= 0) {
       // this previously messed up absolute path names on Windows. Assuming
@@ -158,7 +158,7 @@ public class Config {
       return sval;
     }
     // first time this prop is extracted by round
-    int k = sval.indexOf(":");
+    int k = sval.indexOf(':');
     String colName = sval.substring(0, k);
     sval = sval.substring(k + 1);
     colForValByRound.put(name, colName);
@@ -197,11 +197,11 @@ public class Config {
     }
     // done if not by round
     String sval = props.getProperty(name, "" + dflt);
-    if (sval.indexOf(":") < 0) {
+    if (sval.indexOf(':') < 0) {
       return Integer.parseInt(sval);
     }
     // first time this prop is extracted by round
-    int k = sval.indexOf(":");
+    int k = sval.indexOf(':');
     String colName = sval.substring(0, k);
     sval = sval.substring(k + 1);
     colForValByRound.put(name, colName);
@@ -227,11 +227,11 @@ public class Config {
     }
     // done if not by round
     String sval = props.getProperty(name, "" + dflt);
-    if (sval.indexOf(":") < 0) {
+    if (sval.indexOf(':') < 0) {
       return Double.parseDouble(sval);
     }
     // first time this prop is extracted by round
-    int k = sval.indexOf(":");
+    int k = sval.indexOf(':');
     String colName = sval.substring(0, k);
     sval = sval.substring(k + 1);
     colForValByRound.put(name, colName);
@@ -257,11 +257,11 @@ public class Config {
     }
     // done if not by round
     String sval = props.getProperty(name, "" + dflt);
-    if (sval.indexOf(":") < 0) {
+    if (sval.indexOf(':') < 0) {
       return Boolean.valueOf(sval).booleanValue();
     }
     // first time this prop is extracted by round
-    int k = sval.indexOf(":");
+    int k = sval.indexOf(':');
     String colName = sval.substring(0, k);
     sval = sval.substring(k + 1);
     colForValByRound.put(name, colName);
@@ -319,7 +319,7 @@ public class Config {
   }
 
   private String[] propToStringArray(String s) {
-    if (s.indexOf(":") < 0) {
+    if (s.indexOf(':') < 0) {
       return new String[] {s};
     }
 
@@ -334,7 +334,7 @@ public class Config {
 
   // extract properties to array, e.g. for "10:100:5" return int[]{10,100,5}.
   private int[] propToIntArray(String s) {
-    if (s.indexOf(":") < 0) {
+    if (s.indexOf(':') < 0) {
       return new int[] {Integer.parseInt(s)};
     }
 
@@ -353,7 +353,7 @@ public class Config {
 
   // extract properties to array, e.g. for "10.7:100.4:-2.3" return int[]{10.7,100.4,-2.3}.
   private double[] propToDoubleArray(String s) {
-    if (s.indexOf(":") < 0) {
+    if (s.indexOf(':') < 0) {
       return new double[] {Double.parseDouble(s)};
     }
 
@@ -372,7 +372,7 @@ public class Config {
 
   // extract properties to array, e.g. for "true:true:false" return boolean[]{true,false,false}.
   private boolean[] propToBooleanArray(String s) {
-    if (s.indexOf(":") < 0) {
+    if (s.indexOf(':') < 0) {
       return new boolean[] {Boolean.valueOf(s).booleanValue()};
     }
 
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/Trec1MQReader.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/Trec1MQReader.java
index 4334f7aa8fb..82c1eada733 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/Trec1MQReader.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/Trec1MQReader.java
@@ -67,7 +67,7 @@ public class Trec1MQReader {
           continue;
         }
         // id
-        int k = line.indexOf(":");
+        int k = line.indexOf(':');
         String id = line.substring(0, k).trim();
         // qtext
         String qtext = line.substring(k + 1).trim();
diff --git a/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java b/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
index d6ebb6e20e9..2bdacd5bedd 100644
--- a/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
+++ b/lucene/core/src/java/org/apache/lucene/util/CommandLineUtil.java
@@ -98,7 +98,7 @@ public final class CommandLineUtil {
           "The " + FSDirectory.class.getSimpleName() + " implementation must not be null or empty");
     }
 
-    if (clazzName.indexOf(".") == -1) { // if not fully qualified, assume .store
+    if (clazzName.indexOf('.') == -1) { // if not fully qualified, assume .store
       clazzName = Directory.class.getPackage().getName() + "." + clazzName;
     }
     return clazzName;
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java b/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
index b3028f3a0c6..873145dc155 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTransactionRollback.java
@@ -177,7 +177,7 @@ public class TestTransactionRollback extends LuceneTestCase {
           // This code reads the last id ("30" in this example) and deletes it
           // if it is after the desired rollback point
           String x = userData.get("index");
-          String lastVal = x.substring(x.lastIndexOf("-") + 1);
+          String lastVal = x.substring(x.lastIndexOf('-') + 1);
           int last = Integer.parseInt(lastVal);
           if (last > rollbackPoint) {
             /*
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/uhighlight/TestDefaultPassageFormatter.java b/lucene/highlighter/src/test/org/apache/lucene/search/uhighlight/TestDefaultPassageFormatter.java
index eb772acf0e1..cfb9614b1a5 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/uhighlight/TestDefaultPassageFormatter.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/uhighlight/TestDefaultPassageFormatter.java
@@ -27,10 +27,10 @@ public class TestDefaultPassageFormatter extends LuceneTestCase {
     Passage[] passages = new Passage[2];
     passages[0] = new Passage();
     passages[0].setStartOffset(0);
-    passages[0].setEndOffset(text.indexOf(".") + 1);
+    passages[0].setEndOffset(text.indexOf('.') + 1);
     passages[0].addMatch(text.indexOf("very"), text.indexOf("very") + 4, null, 2);
     passages[1] = new Passage();
-    passages[1].setStartOffset(text.indexOf(".", passages[0].getEndOffset() + 1) + 2);
+    passages[1].setStartOffset(text.indexOf('.', passages[0].getEndOffset() + 1) + 2);
     passages[1].setEndOffset(text.length());
     passages[1].addMatch(
         text.indexOf("very", passages[0].getEndOffset()),
diff --git a/lucene/monitor/src/java/org/apache/lucene/monitor/RegexpQueryHandler.java b/lucene/monitor/src/java/org/apache/lucene/monitor/RegexpQueryHandler.java
index c08f1256108..e8013436323 100644
--- a/lucene/monitor/src/java/org/apache/lucene/monitor/RegexpQueryHandler.java
+++ b/lucene/monitor/src/java/org/apache/lucene/monitor/RegexpQueryHandler.java
@@ -127,9 +127,9 @@ public class RegexpQueryHandler implements CustomQueryHandler {
   }
 
   private static String parseOutRegexp(String rep) {
-    int fieldSepPos = rep.indexOf(":");
-    int firstSlash = rep.indexOf("/", fieldSepPos);
-    int lastSlash = rep.lastIndexOf("/");
+    int fieldSepPos = rep.indexOf(':');
+    int firstSlash = rep.indexOf('/', fieldSepPos);
+    int lastSlash = rep.lastIndexOf('/');
     return rep.substring(firstSlash + 1, lastSlash);
   }
 
diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
index 1f40a036b26..16417e15814 100644
--- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
+++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/util/QueryParserTestBase.java
@@ -654,7 +654,7 @@ public abstract class QueryParserTestBase extends LuceneTestCase {
   }
 
   private String escapeDateString(String s) {
-    if (s.indexOf(" ") > -1) {
+    if (s.indexOf(' ') > -1) {
       return "\"" + s + "\"";
     } else {
       return s;
diff --git a/lucene/test-framework/src/java/org/apache/lucene/tests/search/CheckHits.java b/lucene/test-framework/src/java/org/apache/lucene/tests/search/CheckHits.java
index a7b0a61549a..217bd834d9e 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/tests/search/CheckHits.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/tests/search/CheckHits.java
@@ -444,7 +444,7 @@ public class CheckHits {
           int k1 = descr.indexOf("max plus ");
           if (k1 >= 0) {
             k1 += "max plus ".length();
-            int k2 = descr.indexOf(" ", k1);
+            int k2 = descr.indexOf(' ', k1);
             try {
               x = Float.parseFloat(descr.substring(k1, k2).trim());
               if (descr.substring(k2).trim().equals("times others of:")) {


(lucene) 06/06: Use orElseGet() to avoid unnecessary object allocation (#13048)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit b129e663f425ee777ec416fffec3e1546ef5ffb6
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:15:56 2024 +0100

    Use orElseGet() to avoid unnecessary object allocation (#13048)
---
 lucene/CHANGES.txt                                             |  3 +++
 .../luke/app/desktop/components/SearchPanelProvider.java       | 10 +++++-----
 .../components/dialog/documents/AddDocumentDialogFactory.java  |  2 +-
 .../org/apache/lucene/luke/models/analysis/AnalysisImpl.java   |  2 +-
 4 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index f4ae5bd4914..4a677a7a4c2 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -97,6 +97,9 @@ Other
 
 * GITHUB#12934: Cleaning up old references to Lucene/Solr. (Jakub Slowinski)
 
+* GITHUB#12967, GITHUB#13038, GITHUB#13040, GITHUB#13042, GITHUB#13047, GITHUB#13048, GITHUB#13049, GITHUB#13050, GITHUB#13051:
+  Code cleanups and optimizations. (Dmitry Cherniachenko)
+
 ======================== Lucene 9.9.2 =======================
 
 Bug Fixes
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/SearchPanelProvider.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/SearchPanelProvider.java
index 23e23889a27..813845c6b00 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/SearchPanelProvider.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/SearchPanelProvider.java
@@ -520,7 +520,7 @@ public final class SearchPanelProvider implements SearchTabOperator {
         operatorRegistry
             .get(SimilarityTabOperator.class)
             .map(SimilarityTabOperator::getConfig)
-            .orElse(new SimilarityConfig.Builder().build());
+            .orElseGet(() -> new SimilarityConfig.Builder().build());
     Sort sort =
         operatorRegistry.get(SortTabOperator.class).map(SortTabOperator::getSort).orElse(null);
     Set<String> fieldsToLoad =
@@ -563,12 +563,12 @@ public final class SearchPanelProvider implements SearchTabOperator {
         operatorRegistry
             .get(MLTTabOperator.class)
             .map(MLTTabOperator::getConfig)
-            .orElse(new MLTConfig.Builder().build());
+            .orElseGet(() -> new MLTConfig.Builder().build());
     Analyzer analyzer =
         operatorRegistry
             .get(AnalysisTabOperator.class)
             .map(AnalysisTabOperator::getCurrentAnalyzer)
-            .orElse(new StandardAnalyzer());
+            .orElseGet(StandardAnalyzer::new);
     Query query = searchModel.mltQuery(docNum, mltConfig, analyzer);
     Set<String> fieldsToLoad =
         operatorRegistry
@@ -603,12 +603,12 @@ public final class SearchPanelProvider implements SearchTabOperator {
         operatorRegistry
             .get(QueryParserTabOperator.class)
             .map(QueryParserTabOperator::getConfig)
-            .orElse(new QueryParserConfig.Builder().build());
+            .orElseGet(() -> new QueryParserConfig.Builder().build());
     Analyzer analyzer =
         operatorRegistry
             .get(AnalysisTabOperator.class)
             .map(AnalysisTabOperator::getCurrentAnalyzer)
-            .orElse(new StandardAnalyzer());
+            .orElseGet(StandardAnalyzer::new);
     return searchModel.parseQuery(expr, df, analyzer, config, rewrite);
   }
 
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/documents/AddDocumentDialogFactory.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/documents/AddDocumentDialogFactory.java
index 723cd21dbb1..e1911782cfa 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/documents/AddDocumentDialogFactory.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/documents/AddDocumentDialogFactory.java
@@ -461,7 +461,7 @@ public final class AddDocumentDialogFactory
             operatorRegistry
                 .get(AnalysisTabOperator.class)
                 .map(AnalysisTabOperator::getCurrentAnalyzer)
-                .orElse(new StandardAnalyzer());
+                .orElseGet(StandardAnalyzer::new);
         toolsModel.addDocument(doc, analyzer);
         indexHandler.reOpen();
         operatorRegistry
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/models/analysis/AnalysisImpl.java b/lucene/luke/src/java/org/apache/lucene/luke/models/analysis/AnalysisImpl.java
index fb3a065cbb2..7b67a5bc7dd 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/models/analysis/AnalysisImpl.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/models/analysis/AnalysisImpl.java
@@ -166,7 +166,7 @@ public final class AnalysisImpl implements Analysis {
           config
               .getConfigDir()
               .map(path -> CustomAnalyzer.builder(FileSystems.getDefault().getPath(path)))
-              .orElse(CustomAnalyzer.builder());
+              .orElseGet(CustomAnalyzer::builder);
 
       // set tokenizer
       builder.withTokenizer(


(lucene) 04/06: Use String.isEmpty() instead of equals("") (#13050)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 7b884b6ec6158688398b53bbe33387921566d987
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:14:10 2024 +0100

    Use String.isEmpty() instead of equals("") (#13050)
---
 .../java/org/apache/lucene/geo/SimpleGeoJSONPolygonParser.java |  4 ++--
 .../src/test/org/apache/lucene/index/TestSegmentReader.java    |  4 ++--
 .../lucene/search/grouping/AbstractGroupingTestCase.java       |  2 +-
 .../test/org/apache/lucene/search/grouping/TestGrouping.java   |  2 +-
 .../search/vectorhighlight/TestSimpleFragmentsBuilder.java     |  2 +-
 .../components/dialog/analysis/EditParamsDialogFactory.java    |  4 ++--
 .../org/apache/lucene/luke/app/desktop/util/StringUtils.java   |  2 +-
 .../lucene/luke/app/desktop/util/inifile/SimpleIniFile.java    |  2 +-
 .../luke/app/desktop/util/inifile/SimpleIniFileReader.java     |  4 ++--
 .../luke/models/util/twentynewsgroups/MessageFilesParser.java  |  2 +-
 .../apache/lucene/queryparser/simple/SimpleQueryParser.java    |  2 +-
 .../src/java/org/apache/lucene/queryparser/xml/DOMUtils.java   | 10 +++++-----
 12 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/lucene/core/src/java/org/apache/lucene/geo/SimpleGeoJSONPolygonParser.java b/lucene/core/src/java/org/apache/lucene/geo/SimpleGeoJSONPolygonParser.java
index 2e86a57ac6f..b7de089f765 100644
--- a/lucene/core/src/java/org/apache/lucene/geo/SimpleGeoJSONPolygonParser.java
+++ b/lucene/core/src/java/org/apache/lucene/geo/SimpleGeoJSONPolygonParser.java
@@ -194,7 +194,7 @@ class SimpleGeoJSONPolygonParser {
         } else if (type.equals("MultiPolygon") && isValidGeometryPath(path)) {
           polyType = "MultiPolygon";
         } else if ((type.equals("FeatureCollection") || type.equals("Feature"))
-            && (path.equals("features.[]") || path.equals(""))) {
+            && (path.equals("features.[]") || path.isEmpty())) {
           // OK, we recurse
         } else {
           upto = uptoStart;
@@ -220,7 +220,7 @@ class SimpleGeoJSONPolygonParser {
 
   /** Returns true if the object path is a valid location to see a Multi/Polygon geometry */
   private boolean isValidGeometryPath(String path) {
-    return path.equals("") || path.equals("geometry") || path.equals("features.[].geometry");
+    return path.isEmpty() || path.equals("geometry") || path.equals("features.[].geometry");
   }
 
   private Polygon parsePolygon(List<Object> coordinates) throws ParseException {
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
index bdc6395cb3b..e42d0deb3fa 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestSegmentReader.java
@@ -99,12 +99,12 @@ public class TestSegmentReader extends LuceneTestCase {
 
     assertTrue(allFieldNames.size() == DocHelper.all.size());
     for (String s : allFieldNames) {
-      assertTrue(DocHelper.nameValues.containsKey(s) == true || s.equals(""));
+      assertTrue(DocHelper.nameValues.containsKey(s) == true || s.isEmpty());
     }
 
     assertTrue(indexedFieldNames.size() == DocHelper.indexed.size());
     for (String s : indexedFieldNames) {
-      assertTrue(DocHelper.indexed.containsKey(s) == true || s.equals(""));
+      assertTrue(DocHelper.indexed.containsKey(s) == true || s.isEmpty());
     }
 
     assertTrue(notIndexedFieldNames.size() == DocHelper.unindexed.size());
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
index a847034bf7e..a66154d7a08 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/AbstractGroupingTestCase.java
@@ -40,7 +40,7 @@ public abstract class AbstractGroupingTestCase extends LuceneTestCase {
       // groups.
       randomValue = TestUtil.randomRealisticUnicodeString(random());
       // randomValue = _TestUtil.randomSimpleString(random());
-    } while ("".equals(randomValue));
+    } while (randomValue.isEmpty());
     return randomValue;
   }
 
diff --git a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
index 089e1ca41f8..436a4ca45a2 100644
--- a/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
+++ b/lucene/grouping/src/test/org/apache/lucene/search/grouping/TestGrouping.java
@@ -712,7 +712,7 @@ public class TestGrouping extends LuceneTestCase {
           // groups.
           randomValue = TestUtil.randomRealisticUnicodeString(random());
           // randomValue = TestUtil.randomSimpleString(random());
-        } while ("".equals(randomValue));
+        } while (randomValue.isEmpty());
 
         groups.add(new BytesRef(randomValue));
       }
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/TestSimpleFragmentsBuilder.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/TestSimpleFragmentsBuilder.java
index 56f62800e90..e4a949cc729 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/TestSimpleFragmentsBuilder.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/TestSimpleFragmentsBuilder.java
@@ -235,7 +235,7 @@ public class TestSimpleFragmentsBuilder extends AbstractTestCase {
       String randomValue;
       do {
         randomValue = TestUtil.randomSimpleString(random());
-      } while ("".equals(randomValue));
+      } while (randomValue.isEmpty());
       randomValues[i] = randomValue;
     }
 
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/analysis/EditParamsDialogFactory.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/analysis/EditParamsDialogFactory.java
index f67576c0a33..94f4d92c16f 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/analysis/EditParamsDialogFactory.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/dialog/analysis/EditParamsDialogFactory.java
@@ -150,9 +150,9 @@ public final class EditParamsDialogFactory implements DialogOpener.DialogFactory
                 (String) paramsTable.getValueAt(i, ParamsTableModel.Column.VALUE.getIndex());
             if (deleted
                 || Objects.isNull(name)
-                || name.equals("")
+                || name.isEmpty()
                 || Objects.isNull(value)
-                || value.equals("")) {
+                || value.isEmpty()) {
               continue;
             }
             params.put(name, value);
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/StringUtils.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/StringUtils.java
index 792cb4c58cf..902b4014a1c 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/StringUtils.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/StringUtils.java
@@ -23,7 +23,7 @@ import java.util.Objects;
 public class StringUtils {
 
   public static boolean isNullOrEmpty(String s) {
-    return Objects.isNull(s) || s.equals("");
+    return Objects.isNull(s) || s.isEmpty();
   }
 
   private StringUtils() {}
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFile.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFile.java
index da32d236a19..182555c43e3 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFile.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFile.java
@@ -75,7 +75,7 @@ public class SimpleIniFile implements IniFile {
   }
 
   private boolean checkString(String s) {
-    return Objects.nonNull(s) && !s.equals("");
+    return Objects.nonNull(s) && !s.isEmpty();
   }
 
   Map<String, OptionMap> getSections() {
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFileReader.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFileReader.java
index 2113a4514f9..3e2bb8c3b71 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFileReader.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/util/inifile/SimpleIniFileReader.java
@@ -44,10 +44,10 @@ public class SimpleIniFileReader implements IniFileReader {
                   // set section if this is a valid section string
                   currentSection = line.substring(1, line.length() - 1);
                   sections.putIfAbsent(currentSection, new OptionMap());
-                } else if (!currentSection.equals("")) {
+                } else if (!currentSection.isEmpty()) {
                   // put option if this is a valid option string
                   String[] ary = line.split("=", 2);
-                  if (ary.length == 2 && !ary[0].trim().equals("") && !ary[1].trim().equals("")) {
+                  if (ary.length == 2 && !ary[0].trim().isEmpty() && !ary[1].trim().isEmpty()) {
                     sections.get(currentSection).put(ary[0].trim(), ary[1].trim());
                   }
                 }
diff --git a/lucene/luke/src/java/org/apache/lucene/luke/models/util/twentynewsgroups/MessageFilesParser.java b/lucene/luke/src/java/org/apache/lucene/luke/models/util/twentynewsgroups/MessageFilesParser.java
index fd9d1286769..28455910a41 100644
--- a/lucene/luke/src/java/org/apache/lucene/luke/models/util/twentynewsgroups/MessageFilesParser.java
+++ b/lucene/luke/src/java/org/apache/lucene/luke/models/util/twentynewsgroups/MessageFilesParser.java
@@ -68,7 +68,7 @@ public class MessageFilesParser extends SimpleFileVisitor<Path> {
       String line = br.readLine();
 
       Message message = new Message();
-      while (!line.equals("")) {
+      while (!line.isEmpty()) {
         String[] ary = line.split(":", 2);
         if (ary.length < 2) {
           line = br.readLine();
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
index 9133b06149f..46945945fe7 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/simple/SimpleQueryParser.java
@@ -514,7 +514,7 @@ public class SimpleQueryParser extends QueryBuilder {
       int fuzziness = 0;
       try {
         String fuzzyString = new String(slopText, 0, slopLength);
-        if ("".equals(fuzzyString)) {
+        if (fuzzyString.isEmpty()) {
           // Use automatic fuzziness, ~2
           fuzziness = 2;
         } else {
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
index 7376125b823..20a2a0f9560 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/DOMUtils.java
@@ -86,7 +86,7 @@ public class DOMUtils {
    */
   public static String getAttributeWithInheritance(Element element, String attributeName) {
     String result = element.getAttribute(attributeName);
-    if ((result == null) || ("".equals(result))) {
+    if ((result == null) || (result.isEmpty())) {
       Node n = element.getParentNode();
       if ((n == element) || (n == null)) {
         return null;
@@ -118,22 +118,22 @@ public class DOMUtils {
 
   public static String getAttribute(Element element, String attributeName, String deflt) {
     String result = element.getAttribute(attributeName);
-    return (result == null) || ("".equals(result)) ? deflt : result;
+    return (result == null) || (result.isEmpty()) ? deflt : result;
   }
 
   public static float getAttribute(Element element, String attributeName, float deflt) {
     String result = element.getAttribute(attributeName);
-    return (result == null) || ("".equals(result)) ? deflt : Float.parseFloat(result);
+    return (result == null) || (result.isEmpty()) ? deflt : Float.parseFloat(result);
   }
 
   public static int getAttribute(Element element, String attributeName, int deflt) {
     String result = element.getAttribute(attributeName);
-    return (result == null) || ("".equals(result)) ? deflt : Integer.parseInt(result);
+    return (result == null) || (result.isEmpty()) ? deflt : Integer.parseInt(result);
   }
 
   public static boolean getAttribute(Element element, String attributeName, boolean deflt) {
     String result = element.getAttribute(attributeName);
-    return (result == null) || ("".equals(result)) ? deflt : Boolean.valueOf(result);
+    return (result == null) || (result.isEmpty()) ? deflt : Boolean.valueOf(result);
   }
 
   /* Returns text of node and all child nodes - without markup */


(lucene) 02/06: Use String.replace() instead of replaceAll() (#13047)

Posted by us...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

uschindler pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit 5606bebae708850c74df1f64c0ab204351a9e5bf
Author: Dmitry Cherniachenko <2s...@gmail.com>
AuthorDate: Tue Jan 30 00:13:43 2024 +0100

    Use String.replace() instead of replaceAll() (#13047)
---
 .../apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java  | 4 ++--
 .../java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java   | 2 +-
 .../apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java   | 2 +-
 .../java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java   | 2 +-
 .../test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java | 5 ++---
 .../core/src/test/org/apache/lucene/util/automaton/TestRegExp.java  | 6 +++---
 6 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
index 2b5340dd3d6..8e786aa59cc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/charfilter/TestHTMLStripCharFilter.java
@@ -478,14 +478,14 @@ public class TestHTMLStripCharFilter extends BaseTokenStreamTestCase {
         // ">"
         =
             TestUtil.randomHtmlishString(random(), maxNumElems)
-                .replaceAll(">", " ")
+                .replace('>', ' ')
                 .replaceFirst("^--", "__");
     String closedAngleBangNonCDATA = "<!" + randomHtmlishString1 + "-[CDATA[&]]>";
 
     // Don't create a comment (disallow "<!--") and don't include a closing ">"
     String randomHtmlishString2 =
         TestUtil.randomHtmlishString(random(), maxNumElems)
-            .replaceAll(">", " ")
+            .replace('>', ' ')
             .replaceFirst("^--", "__");
     String unclosedAngleBangNonCDATA = "<!" + randomHtmlishString2 + "-[CDATA[";
 
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
index e5730f3cefa..9810718217e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepAllTask.java
@@ -64,7 +64,7 @@ public class RepAllTask extends ReportTask {
         String line = taskReportLine(longestOp, stat);
         reported++;
         if (taskStats.size() > 2 && reported % 2 == 0) {
-          line = line.replaceAll("   ", " - ");
+          line = line.replace("   ", " - ");
         }
         sb.append(line);
       }
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
index 2b6958c15fd..2634eda0e57 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RepSelectByPrefTask.java
@@ -69,7 +69,7 @@ public class RepSelectByPrefTask extends RepSumByPrefTask {
         first = false;
         String line = taskReportLine(longestOp, stat);
         if (taskStats.size() > 2 && reported % 2 == 0) {
-          line = line.replaceAll("   ", " - ");
+          line = line.replace("   ", " - ");
         }
         sb.append(line);
       }
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
index 4d379fa1e0b..93b677dcac1 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReportTask.java
@@ -140,7 +140,7 @@ public abstract class ReportTask extends PerfTask {
       String line = taskReportLine(longetOp, stat);
       lineNum++;
       if (partOfTasks.size() > 2 && lineNum % 2 == 0) {
-        line = line.replaceAll("   ", " - ");
+        line = line.replace("   ", " - ");
       }
       sb.append(line);
       int[] byTime = stat.getCountsByTime();
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
index 0ded6008ab8..fe0f392bebb 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/TestPerfTasksLogic.java
@@ -957,12 +957,11 @@ public class TestPerfTasksLogic extends BenchmarkTestCase {
   }
 
   private String[] getAnalyzerFactoryConfig(String name, String params) {
-    final String singleQuoteEscapedName = name.replaceAll("'", "\\\\'");
+    final String singleQuoteEscapedName = name.replace("'", "\\'");
     String[] algLines = {
       "content.source=org.apache.lucene.benchmark.byTask.feeds.LineDocSource",
       "docs.file=" + getReuters20LinesFile(),
-      "work.dir="
-          + getWorkDir().toAbsolutePath().toString().replaceAll("\\\\", "/"), // Fix Windows path
+      "work.dir=" + getWorkDir().toAbsolutePath().toString().replace('\\', '/'), // Fix Windows path
       "content.source.forever=false",
       "directory=ByteBuffersDirectory",
       "AnalyzerFactory(name:'" + singleQuoteEscapedName + "', " + params + ")",
diff --git a/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java b/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
index d50feeba09e..09f8a38a701 100644
--- a/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
+++ b/lucene/core/src/test/org/apache/lucene/util/automaton/TestRegExp.java
@@ -182,11 +182,11 @@ public class TestRegExp extends LuceneTestCase {
         break;
       case 3:
         // Star-replace all ab sequences.
-        result.append(replacementPart.replaceAll("ab", ".*"));
+        result.append(replacementPart.replace("ab", ".*"));
         break;
       case 4:
         // .-replace all b chars
-        result.append(replacementPart.replaceAll("b", "."));
+        result.append(replacementPart.replace("b", "."));
         break;
       case 5:
         // length-limited stars {1,2}
@@ -205,7 +205,7 @@ public class TestRegExp extends LuceneTestCase {
         break;
       case 8:
         // NOT a character - replace all b's with "not a"
-        result.append(replacementPart.replaceAll("b", "[^a]"));
+        result.append(replacementPart.replace("b", "[^a]"));
         break;
       case 9:
         // Make whole part repeatable 1 or more times