diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
index c4106edefd1..5dbeb77a705 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
@@ -20,7 +20,7 @@ import java.util.Locale;
/** A stemmer for Brazilian Portuguese words. */
class BrazilianStemmer {
- private static final Locale locale = Locale.of("pt", "BR");
+ private static final Locale locale = Locale.forLanguageTag("pt-BR");
/** Changed term */
private String TERM;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
index 3d4b1908db8..763871357fb 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
@@ -33,7 +33,7 @@ class GermanStemmer {
/** Amount of characters that are removed with substitute()
while stemming. */
private int substCount = 0;
- private static final Locale locale = Locale.of("de", "DE");
+ private static final Locale locale = Locale.forLanguageTag("de-DE");
/**
* Stemms the given term to an unique discriminator
.
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
index e6e933a1fba..9ae12316d40 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/th/ThaiTokenizer.java
@@ -38,7 +38,8 @@ public class ThaiTokenizer extends SegmentingTokenizerBase {
*/
public static final boolean DBBI_AVAILABLE;
- private static final BreakIterator proto = BreakIterator.getWordInstance(Locale.of("th"));
+ private static final BreakIterator proto =
+ BreakIterator.getWordInstance(Locale.forLanguageTag("th"));
static {
// check that we have a working dictionary-based break iterator for thai
diff --git a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
index f74e2a7bdd8..19dc7a14afc 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/collation/TestCollationKeyAnalyzer.java
@@ -26,7 +26,7 @@ public class TestCollationKeyAnalyzer extends CollationTestBase {
// Neither Java 1.4.2 nor 1.5.0 has Farsi Locale collation available in
// RuleBasedCollator. However, the Arabic Locale seems to order the Farsi
// characters properly.
- private Collator collator = Collator.getInstance(Locale.of("ar"));
+ private Collator collator = Collator.getInstance(Locale.forLanguageTag("ar"));
private Analyzer analyzer;
@Override
diff --git a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
index 0b49005176e..aa5acf33bc7 100644
--- a/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
+++ b/lucene/analysis/icu/src/test/org/apache/lucene/analysis/icu/TestICUCollationKeyAnalyzer.java
@@ -24,7 +24,7 @@ import org.apache.lucene.util.BytesRef;
public class TestICUCollationKeyAnalyzer extends CollationTestBase {
- private Collator collator = Collator.getInstance(Locale.of("fa"));
+ private Collator collator = Collator.getInstance(Locale.forLanguageTag("fa"));
private Analyzer analyzer;
@Override
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
index e702b7c5415..5bc2ea856fe 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NewLocaleTask.java
@@ -49,10 +49,23 @@ public class NewLocaleTask extends PerfTask {
static Locale createLocale(String language, String country, String variant) {
if (language == null || language.length() == 0) return null;
- String lang = language;
- if (lang.equalsIgnoreCase("ROOT")) lang = ""; // empty language is the root locale in the JDK
+ if (language.equalsIgnoreCase("ROOT")) {
+ return Locale.ROOT;
+ }
- return Locale.of(lang, country, variant);
+ StringBuilder sb = new StringBuilder();
+ sb.append(language);
+ if (country.length() > 0) {
+ sb.append('-');
+ sb.append(country);
+
+ if (variant.length() > 0) {
+ sb.append('-');
+ sb.append(variant);
+ }
+ }
+
+ return Locale.forLanguageTag(sb.toString());
}
@Override
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 3e80f8ec4a1..d637ee4f4a1 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
@@ -793,19 +793,19 @@ public class TestPerfTasksLogic extends BenchmarkTestCase {
// ROOT locale
benchmark = execBenchmark(getLocaleConfig("ROOT"));
- assertEquals(Locale.of(""), benchmark.getRunData().getLocale());
+ assertEquals(Locale.ROOT, benchmark.getRunData().getLocale());
// specify just a language
benchmark = execBenchmark(getLocaleConfig("de"));
- assertEquals(Locale.of("de"), benchmark.getRunData().getLocale());
+ assertEquals(Locale.forLanguageTag("de"), benchmark.getRunData().getLocale());
// specify language + country
benchmark = execBenchmark(getLocaleConfig("en,US"));
- assertEquals(Locale.of("en", "US"), benchmark.getRunData().getLocale());
+ assertEquals(Locale.forLanguageTag("en-US"), benchmark.getRunData().getLocale());
// specify language + country + variant
benchmark = execBenchmark(getLocaleConfig("no,NO,NY"));
- assertEquals(Locale.of("no", "NO", "NY"), benchmark.getRunData().getLocale());
+ assertEquals(Locale.forLanguageTag("no-NO-NY"), benchmark.getRunData().getLocale());
}
private String[] getLocaleConfig(String localeParam) {
diff --git a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
index b7935a73ec6..57639a69f74 100644
--- a/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
+++ b/lucene/benchmark/src/test/org/apache/lucene/benchmark/byTask/feeds/TestHtmlParser.java
@@ -96,7 +96,7 @@ public class TestHtmlParser extends LuceneTestCase {
public void testTurkish() throws Exception {
final Locale saved = Locale.getDefault();
try {
- Locale.setDefault(Locale.of("tr", "TR"));
+ Locale.setDefault(Locale.forLanguageTag("tr-TR"));
String text =
"