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 = "ııı" + "\"ş\"" diff --git a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/fragments/search/QueryParserPaneProvider.java b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/fragments/search/QueryParserPaneProvider.java index 52aa18d1225..4299aaf0346 100644 --- a/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/fragments/search/QueryParserPaneProvider.java +++ b/lucene/luke/src/java/org/apache/lucene/luke/app/desktop/components/fragments/search/QueryParserPaneProvider.java @@ -421,7 +421,7 @@ public final class QueryParserPaneProvider implements QueryParserTabOperator { .fuzzyMinSim(fuzzyMinSimFloat) .fuzzyPrefixLength(fuzzyPrefLenInt) .dateResolution(DateTools.Resolution.valueOf((String) dateResCB.getSelectedItem())) - .locale(Locale.of(locationTF.getText())) + .locale(Locale.forLanguageTag(locationTF.getText())) .timeZone(TimeZone.getTimeZone(timezoneTF.getText())) .typeMap(typeMap) .build(); diff --git a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java index 833e4460d53..486bdefa366 100644 --- a/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java +++ b/lucene/queryparser/src/test/org/apache/lucene/queryparser/flexible/messages/TestNLS.java @@ -68,7 +68,7 @@ public class TestNLS extends LuceneTestCase { } public void testNLSLoading_xx_XX() { - Locale locale = Locale.of("xx", "XX", ""); + Locale locale = Locale.forLanguageTag("xx-XX"); String message = NLS.getLocalizedMessage( MessagesTestBundle.Q0004E_INVALID_SYNTAX_ESCAPE_UNICODE_TRUNCATION, locale);