This is an automated email from the ASF dual-hosted git repository.
sanjaydutt pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 475bded5acb SOLR-17399: Replace the use of the deprecated
java.util.Locale constructor with Locale Builder API (#2633)
475bded5acb is described below
commit 475bded5acb22649c37784051d4f21a54cc07905
Author: Sanjay Dutt <[email protected]>
AuthorDate: Fri Aug 23 18:53:32 2024 +0530
SOLR-17399: Replace the use of the deprecated java.util.Locale constructor
with Locale Builder API (#2633)
(cherry picked from commit ca2487601723c9391ef763fe77e2f06107ff46cf)
---
gradle/validation/forbidden-apis/defaults.all.txt | 5 ++++-
solr/CHANGES.txt | 2 ++
.../apache/solr/highlight/BreakIteratorBoundaryScanner.java | 2 +-
.../org/apache/solr/highlight/UnifiedSolrHighlighter.java | 10 +++++-----
.../core/src/java/org/apache/solr/schema/CollationField.java | 7 ++-----
.../src/test/org/apache/solr/schema/TestCollationField.java | 3 ++-
.../org/apache/solr/schema/TestCollationFieldDocValues.java | 3 ++-
.../update/processor/ParsingFieldUpdateProcessorsTest.java | 12 ++++++++----
.../update/processor/OpenNLPLangDetectUpdateProcessor.java | 2 +-
9 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/gradle/validation/forbidden-apis/defaults.all.txt
b/gradle/validation/forbidden-apis/defaults.all.txt
index f1220bfcd05..2faad099236 100644
--- a/gradle/validation/forbidden-apis/defaults.all.txt
+++ b/gradle/validation/forbidden-apis/defaults.all.txt
@@ -85,4 +85,7 @@ java.util.logging.**
java.util.Collections#sort(java.util.List, java.util.Comparator)
@defaultMessage Use URI.toURL() to construct an instance of URL.
-java.net.URL#<init>(**)
\ No newline at end of file
+java.net.URL#<init>(**)
+
+@defaultMessage Use Locale.Builder instead.
+java.util.Locale#<init>(**)
\ No newline at end of file
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index e5e088b07bd..d1ac2eded11 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -43,6 +43,8 @@ Other Changes
---------------------
* SOLR-17321: Remove Deprecated URL and replace it with URI in Preparation for
Java 21 (Sanjay Dutt, David Smiley, Uwe Schindler)
+* SOLR-17399: Replace the use of the deprecated java.util.Locale constructor
with Locale Builder API. (Sanjay Dutt)
+
================== 9.7.0 ==================
New Features
---------------------
diff --git
a/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
b/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
index bae6dd19603..8efefef314b 100644
---
a/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
+++
b/solr/core/src/java/org/apache/solr/highlight/BreakIteratorBoundaryScanner.java
@@ -40,7 +40,7 @@ public class BreakIteratorBoundaryScanner extends
SolrBoundaryScanner {
}
Locale locale = null;
if (language != null) {
- locale = country == null ? new Locale(language) : new Locale(language,
country);
+ locale = new
Locale.Builder().setLanguage(language).setRegion(country).build();
} else {
locale = Locale.ROOT;
}
diff --git
a/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
b/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
index 4390893ec76..5f43904f517 100644
--- a/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
@@ -395,12 +395,12 @@ public class UnifiedSolrHighlighter extends
SolrHighlighter implements PluginInf
"language is required if country or variant is specified");
} else if (country == null && variant != null) {
throw new IllegalArgumentException("To specify variant, country is
required");
- } else if (country != null && variant != null) {
- return new Locale(language, country, variant);
- } else if (country != null) {
- return new Locale(language, country);
} else {
- return new Locale(language);
+ return new Locale.Builder()
+ .setLanguage(language)
+ .setRegion(country)
+ .setVariant(variant)
+ .build();
}
}
diff --git a/solr/core/src/java/org/apache/solr/schema/CollationField.java
b/solr/core/src/java/org/apache/solr/schema/CollationField.java
index 91f67d459e7..e55474f8953 100644
--- a/solr/core/src/java/org/apache/solr/schema/CollationField.java
+++ b/solr/core/src/java/org/apache/solr/schema/CollationField.java
@@ -149,11 +149,8 @@ public class CollationField extends FieldType {
if (language != null && country == null && variant != null)
throw new SolrException(ErrorCode.SERVER_ERROR, "To specify variant,
country is required");
- else if (language != null && country != null && variant != null)
- locale = new Locale(language, country, variant);
- else if (language != null && country != null) locale = new
Locale(language, country);
- else locale = new Locale(language);
-
+ locale =
+ new
Locale.Builder().setLanguage(language).setRegion(country).setVariant(variant).build();
return Collator.getInstance(locale);
}
diff --git a/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
b/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
index 163e15f7794..0ac2d36e4bb 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCollationField.java
@@ -75,7 +75,8 @@ public class TestCollationField extends SolrTestCaseJ4 {
// generate custom collation rules (DIN 5007-2), saving to customrules.dat
RuleBasedCollator baseCollator =
- (RuleBasedCollator) Collator.getInstance(new Locale("de", "DE"));
+ (RuleBasedCollator)
+ Collator.getInstance(new
Locale.Builder().setLanguageTag("de-DE").build());
String DIN5007_2_tailorings =
"& ae , a\u0308 & AE , A\u0308"
diff --git
a/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java
b/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java
index 79c7b50a949..b38b65f81fc 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestCollationFieldDocValues.java
@@ -75,7 +75,8 @@ public class TestCollationFieldDocValues extends
SolrTestCaseJ4 {
// generate custom collation rules (DIN 5007-2), saving to customrules.dat
RuleBasedCollator baseCollator =
- (RuleBasedCollator) Collator.getInstance(new Locale("de", "DE"));
+ (RuleBasedCollator)
+ Collator.getInstance(new
Locale.Builder().setLanguageTag("de-DE").build());
String DIN5007_2_tailorings =
"& ae , a\u0308 & AE , A\u0308"
diff --git
a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
index 398509f0c04..7e78a49da9c 100644
---
a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
+++
b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
@@ -306,7 +306,8 @@ public class ParsingFieldUpdateProcessorsTest extends
UpdateProcessorTestBase {
}
public void testParseIntNonRootLocale() throws Exception {
- final DecimalFormatSymbols ru_RU = DecimalFormatSymbols.getInstance(new
Locale("ru", "RU"));
+ final DecimalFormatSymbols ru_RU =
+ DecimalFormatSymbols.getInstance(new
Locale.Builder().setLanguageTag("ru-RU").build());
final char groupChar = ru_RU.getGroupingSeparator();
int value = 1089883491;
@@ -421,7 +422,8 @@ public class ParsingFieldUpdateProcessorsTest extends
UpdateProcessorTestBase {
}
public void testParseLongNonRootLocale() throws Exception {
- final DecimalFormatSymbols ru_RU = DecimalFormatSymbols.getInstance(new
Locale("ru", "RU"));
+ final DecimalFormatSymbols ru_RU =
+ DecimalFormatSymbols.getInstance(new
Locale.Builder().setLanguageTag("ru-RU").build());
final char groupChar = ru_RU.getGroupingSeparator();
long value = 1089883491L;
@@ -518,7 +520,8 @@ public class ParsingFieldUpdateProcessorsTest extends
UpdateProcessorTestBase {
}
public void testParseFloatNonRootLocale() throws Exception {
- final DecimalFormatSymbols fr_FR = DecimalFormatSymbols.getInstance(new
Locale("fr", "FR"));
+ final DecimalFormatSymbols fr_FR =
+ DecimalFormatSymbols.getInstance(new
Locale.Builder().setLanguageTag("fr-FR").build());
final char groupChar = fr_FR.getGroupingSeparator();
final char decimalChar = fr_FR.getDecimalSeparator();
@@ -636,7 +639,8 @@ public class ParsingFieldUpdateProcessorsTest extends
UpdateProcessorTestBase {
}
public void testParseDoubleNonRootLocale() throws Exception {
- final DecimalFormatSymbols fr_FR = DecimalFormatSymbols.getInstance(new
Locale("fr", "FR"));
+ final DecimalFormatSymbols fr_FR =
+ DecimalFormatSymbols.getInstance(new
Locale.Builder().setLanguageTag("fr-FR").build());
final char groupChar = fr_FR.getGroupingSeparator();
final char decimalChar = fr_FR.getDecimalSeparator();
diff --git
a/solr/modules/langid/src/java/org/apache/solr/update/processor/OpenNLPLangDetectUpdateProcessor.java
b/solr/modules/langid/src/java/org/apache/solr/update/processor/OpenNLPLangDetectUpdateProcessor.java
index 8f6b611fe17..76b79d9f0a3 100644
---
a/solr/modules/langid/src/java/org/apache/solr/update/processor/OpenNLPLangDetectUpdateProcessor.java
+++
b/solr/modules/langid/src/java/org/apache/solr/update/processor/OpenNLPLangDetectUpdateProcessor.java
@@ -75,7 +75,7 @@ public class OpenNLPLangDetectUpdateProcessor extends
LanguageIdentifierUpdatePr
private static Map<String, String> make_ISO639_map() {
Map<String, String> map = new HashMap<>();
for (String lang : Locale.getISOLanguages()) {
- Locale locale = new Locale(lang);
+ Locale locale = new Locale.Builder().setLanguage(lang).build();
map.put(locale.getISO3Language(), locale.getLanguage());
}
return map;