Skip to content

Commit d4fffd7

Browse files
authored
CLDR-15830 Refactor getName: new class NameGetter (#4226)
1 parent 9c044e1 commit d4fffd7

File tree

118 files changed

+1341
-884
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+1341
-884
lines changed

tools/cldr-code/src/main/java/org/unicode/cldr/draft/GenerateLanguageData.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.unicode.cldr.util.Counter2;
1616
import org.unicode.cldr.util.Factory;
1717
import org.unicode.cldr.util.LanguageTagParser;
18+
import org.unicode.cldr.util.NameGetter;
1819
import org.unicode.cldr.util.StandardCodes;
1920
import org.unicode.cldr.util.SupplementalDataInfo;
2021
import org.unicode.cldr.util.SupplementalDataInfo.OfficialStatus;
@@ -44,8 +45,9 @@ private void run() throws IOException {
4445
// Counter2<String> langToGDP = new Counter2<String>();
4546
LanguageTagParser ltp = new LanguageTagParser();
4647
Map<String, String> languageNameToCode = new TreeMap<>();
48+
NameGetter nameGetter = english.nameGetter();
4749
for (String languageCode : info.getLanguages()) {
48-
languageNameToCode.put(english.getName(languageCode), languageCode);
50+
languageNameToCode.put(nameGetter.getNameFromBCP47(languageCode), languageCode);
4951
}
5052
out.println("\n@sheet:CLDR County Data");
5153
out.println("code\tgdp\tlit-pop\tpopulation\tliteracy");
@@ -71,7 +73,7 @@ private void run() throws IOException {
7173
Map<String, Counter2<String>> langToCountriesOfficial = new TreeMap<>();
7274

7375
for (String languageCode : info.getLanguages()) {
74-
String languageName = english.getName(languageCode);
76+
String languageName = nameGetter.getNameFromBCP47(languageCode);
7577

7678
String baseLanguage = languageCode;
7779
ltp.set(languageCode);
@@ -90,7 +92,8 @@ private void run() throws IOException {
9092
// );
9193
for (String territory : territories) {
9294
PopulationData terrData = info.getPopulationDataForTerritory(territory);
93-
String territoryName = english.getName(CLDRFile.TERRITORY_NAME, territory);
95+
String territoryName =
96+
nameGetter.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, territory);
9497

9598
PopulationData data =
9699
info.getLanguageAndTerritoryPopulationData(languageCode, territory);
@@ -156,7 +159,7 @@ private void run() throws IOException {
156159
}
157160
// for (String language :langToPopulation.keySet()) {
158161
// out.println(
159-
// english.getName(language)
162+
// english.nameGetter().getName(language)
160163
// + "\t" + language
161164
// + "\t" + langToPopulation.getCount(language)
162165
// + "\t" + langToGDP.getCount(language)

tools/cldr-code/src/main/java/org/unicode/cldr/draft/Misc.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ private static void showDefaultContent(String... strings) {
138138
break;
139139
}
140140
}
141-
System.out.println(string + "\t" + defCon + "\t" + english.getName(defCon));
141+
System.out.println(
142+
string + "\t" + defCon + "\t" + english.nameGetter().getNameFromBCP47(defCon));
142143
}
143144
}
144145

@@ -328,7 +329,7 @@ private static void showExemplarSize() {
328329
if (temp != null) {
329330
baseLanguage = temp.get0().get(0);
330331
}
331-
String englishName = english.getName(baseLanguage);
332+
String englishName = english.nameGetter().getNameFromBCP47(baseLanguage);
332333
CLDRFile cldrFile = factory.make(baseLanguage, false);
333334
UnicodeSet set = cldrFile.getExemplarSet("", WinningChoice.WINNING);
334335
int script = -1;
@@ -339,7 +340,7 @@ private static void showExemplarSize() {
339340
break;
340341
}
341342
}
342-
String nativeName = cldrFile.getName(baseLanguage);
343+
String nativeName = cldrFile.nameGetter().getNameFromBCP47(baseLanguage);
343344
nameAndInfo.add(
344345
englishName
345346
+ "\t"

tools/cldr-code/src/main/java/org/unicode/cldr/draft/XLocaleDistance.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -969,21 +969,29 @@ private static String fixedName(List<String> match) {
969969
if (region.equals("*") || region.startsWith("$")) {
970970
result.append(region);
971971
} else {
972-
result.append(english.getName(CLDRFile.TERRITORY_NAME, region));
972+
result.append(
973+
english.nameGetter()
974+
.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, region));
973975
}
974976
case 2:
975977
String script = alt.get(1);
976978
if (script.equals("*")) {
977979
result.insert(0, script);
978980
} else {
979-
result.insert(0, english.getName(CLDRFile.TERRITORY_NAME, script));
981+
result.insert(
982+
0,
983+
english.nameGetter()
984+
.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, script));
980985
}
981986
case 1:
982987
String language = alt.get(0);
983988
if (language.equals("*")) {
984989
result.insert(0, language);
985990
} else {
986-
result.insert(0, english.getName(CLDRFile.TERRITORY_NAME, language));
991+
result.insert(
992+
0,
993+
english.nameGetter()
994+
.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, language));
987995
}
988996
}
989997
return Joiner.on("; ").join(alt);

tools/cldr-code/src/main/java/org/unicode/cldr/test/CLDRTest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ public String getLocaleName(String locale) {
413413
String name = localeNameCache.get(locale);
414414
if (name != null) return name;
415415
if (english == null) english = cldrFactory.make("en", true);
416-
String result = english.getName(locale);
416+
String result = english.nameGetter().getNameFromBCP47(locale);
417417
/*
418418
* Collection c = Utility.splitList(locale, '_', false, null);
419419
* String[] pieces = new String[c.size()];
@@ -1047,7 +1047,11 @@ public Object transform(Object source) {
10471047
@Override
10481048
public Object transform(Object source) {
10491049
if (english == null) english = cldrFactory.make("en", true);
1050-
return english.getName("currency", source.toString()) + " (" + source + ")";
1050+
return english.nameGetter()
1051+
.getNameFromTypestrCode("currency", source.toString())
1052+
+ " ("
1053+
+ source
1054+
+ ")";
10511055
}
10521056
};
10531057

@@ -1189,7 +1193,7 @@ public void TestSupplementalData() {
11891193
logln("Missing English currency names");
11901194
for (Iterator<String> it = legalCurrencies.iterator(); it.hasNext(); ) {
11911195
String currency = it.next();
1192-
String name = english.getName("currency", currency);
1196+
String name = english.nameGetter().getNameFromTypestrCode("currency", currency);
11931197
if (name == null) {
11941198
String standardName = sc.getFullData("currency", currency).get(0);
11951199
logln("\t\t\t<currency type=\"" + currency + "\">");

tools/cldr-code/src/main/java/org/unicode/cldr/test/ConsoleCheckCLDR.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1985,7 +1985,8 @@ private static String getEnglishPathValue(String path) {
19851985
* @return
19861986
*/
19871987
private static String getLocaleAndName(String locale) {
1988-
String localizedName = CheckCLDR.getDisplayInformation().getName(locale);
1988+
String localizedName =
1989+
CheckCLDR.getDisplayInformation().nameGetter().getNameFromBCP47(locale);
19891990
if (localizedName == null || localizedName.equals(locale)) return locale;
19901991
return locale + " [" + localizedName + "]";
19911992
}
@@ -1998,7 +1999,8 @@ private static String getLocaleAndName(String locale) {
19981999
* @return
19992000
*/
20002001
private static String getNameAndLocale(String locale, boolean linkToXml) {
2001-
String localizedName = CheckCLDR.getDisplayInformation().getName(locale);
2002+
String localizedName =
2003+
CheckCLDR.getDisplayInformation().nameGetter().getNameFromBCP47(locale);
20022004
if (localizedName == null || localizedName.equals(locale)) return locale;
20032005
if (linkToXml) {
20042006
locale =
@@ -2012,7 +2014,8 @@ private static String getNameAndLocale(String locale, boolean linkToXml) {
20122014
}
20132015

20142016
private static String getLocaleName(String locale) {
2015-
String localizedName = CheckCLDR.getDisplayInformation().getName(locale);
2017+
String localizedName =
2018+
CheckCLDR.getDisplayInformation().nameGetter().getNameFromBCP47(locale);
20162019
if (localizedName == null || localizedName.equals(locale)) return locale;
20172020
return localizedName;
20182021
}

tools/cldr-code/src/main/java/org/unicode/cldr/test/EmojiSubdivisionNames.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.unicode.cldr.util.EmojiConstants;
2222
import org.unicode.cldr.util.LanguageGroup;
2323
import org.unicode.cldr.util.LocaleIDParser;
24+
import org.unicode.cldr.util.NameGetter;
2425
import org.unicode.cldr.util.Organization;
2526
import org.unicode.cldr.util.StandardCodes;
2627

@@ -130,6 +131,7 @@ public static void main(String[] args) {
130131
System.out.println();
131132
CLDRFile english = CLDRConfig.getInstance().getEnglish();
132133
Set<String> locales = new HashSet<>();
134+
NameGetter nameGetter = english.nameGetter();
133135
for (String filename : SUBDIVISION_FILE_NAMES) {
134136
if (filename.endsWith(".xml")) {
135137
String locale = filename.substring(0, filename.length() - 4);
@@ -140,7 +142,13 @@ public static void main(String[] args) {
140142
LanguageGroup group = LanguageGroup.get(ulocale);
141143
int rank = LanguageGroup.rankInGroup(ulocale);
142144
System.out.print(
143-
group + "\t" + rank + "\t" + english.getName(locale) + "\t" + locale);
145+
group
146+
+ "\t"
147+
+ rank
148+
+ "\t"
149+
+ nameGetter.getNameFromBCP47(locale)
150+
+ "\t"
151+
+ locale);
144152
for (String sd : SUBDIVISIONS) {
145153
System.out.print('\t');
146154
System.out.print(map.get(sd));
@@ -161,7 +169,13 @@ public static void main(String[] args) {
161169
LanguageGroup group = LanguageGroup.get(ulocale);
162170
int rank = LanguageGroup.rankInGroup(ulocale);
163171
System.out.println(
164-
group + "\t" + rank + "\t" + english.getName(locale) + "\t" + locale);
172+
group
173+
+ "\t"
174+
+ rank
175+
+ "\t"
176+
+ english.nameGetter().getNameFromBCP47(locale)
177+
+ "\t"
178+
+ locale);
165179
}
166180

167181
// System.out.println(getSubdivisionIdToName("fr"));

tools/cldr-code/src/main/java/org/unicode/cldr/test/ExampleGenerator.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
import org.unicode.cldr.util.ICUServiceBuilder;
6969
import org.unicode.cldr.util.LanguageTagParser;
7070
import org.unicode.cldr.util.Level;
71+
import org.unicode.cldr.util.NameGetter;
7172
import org.unicode.cldr.util.PathDescription;
7273
import org.unicode.cldr.util.PatternCache;
7374
import org.unicode.cldr.util.PluralSamples;
@@ -752,11 +753,12 @@ private void handlePersonName(XPathParts parts, String value, List<String> examp
752753
final CLDRFile cldrFile2 = getCldrFile();
753754
switch (parts.getElement(2)) {
754755
case "nameOrderLocales":
756+
NameGetter nameGetter2 = cldrFile2.nameGetter();
755757
for (String localeId : PersonNameFormatter.SPLIT_SPACE.split(value)) {
756758
final String name =
757759
localeId.equals("und")
758760
? "«any other»"
759-
: cldrFile2.getName(localeId);
761+
: nameGetter2.getNameFromBCP47(localeId);
760762
examples.add(localeId + " = " + name);
761763
}
762764
break;
@@ -2408,12 +2410,22 @@ private void handleTimeZoneName(XPathParts parts, String value, List<String> exa
24082410
return; // fail, skip
24092411
}
24102412
} else {
2411-
result = setBackground(cldrFile.getName(CLDRFile.TERRITORY_NAME, countryCode));
2413+
result =
2414+
setBackground(
2415+
cldrFile.nameGetter()
2416+
.getNameFromTypenumCode(
2417+
CLDRFile.TERRITORY_NAME, countryCode));
24122418
}
24132419
} else if (parts.contains("zone")) { // {0} Time
24142420
result = value; // trivial -- is this beneficial?
24152421
} else if (parts.contains("regionFormat")) { // {0} Time
2416-
result = format(value, setBackground(cldrFile.getName(CLDRFile.TERRITORY_NAME, "JP")));
2422+
result =
2423+
format(
2424+
value,
2425+
setBackground(
2426+
cldrFile.nameGetter()
2427+
.getNameFromTypenumCode(
2428+
CLDRFile.TERRITORY_NAME, "JP")));
24172429
result =
24182430
addExampleResult(
24192431
format(
@@ -3101,10 +3113,11 @@ private void handleDisplayNames(
31013113
element.equals("localeKeyTypePattern") ? "uz-Arab-u-tz-etadd" : "uz-Arab-AF");
31023114
locales.add("uz-Arab-AF-u-tz-etadd-nu-arab");
31033115
// String[] examples = new String[locales.size()];
3116+
NameGetter nameGetter = cldrFile.nameGetter();
31043117
for (int i = 0; i < locales.size(); i++) {
31053118
examples.add(
31063119
invertBackground(
3107-
cldrFile.getName(
3120+
nameGetter.getNameFromBCP47Etc(
31083121
locales.get(i),
31093122
false,
31103123
localeKeyTypePattern,

tools/cldr-code/src/main/java/org/unicode/cldr/test/QuickCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ private static void checkPaths() {
208208
DisplayAndInputProcessor displayAndInputProcessor =
209209
new DisplayAndInputProcessor(file, false);
210210

211-
System.out.println(locale + "\t-\t" + english.getName(locale));
211+
System.out.println(locale + "\t-\t" + english.nameGetter().getNameFromBCP47(locale));
212212
DtdType dtdType = null;
213213

214214
for (Iterator<String> it = file.iterator(); it.hasNext(); ) {

tools/cldr-code/src/main/java/org/unicode/cldr/test/TestMisc.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.unicode.cldr.util.Iso639Data;
3939
import org.unicode.cldr.util.Iso639Data.Scope;
4040
import org.unicode.cldr.util.Level;
41+
import org.unicode.cldr.util.NameGetter;
4142
import org.unicode.cldr.util.Pair;
4243
import org.unicode.cldr.util.PatternCache;
4344
import org.unicode.cldr.util.SimpleFactory;
@@ -236,8 +237,9 @@ private static void testWeights() {
236237
int vote = Level.getDefaultWeight("google", desiredLocale);
237238
rel.add(new Pair<>(vote, desiredLocale));
238239
}
240+
NameGetter nameGetter = english.nameGetter();
239241
for (Pair<Integer, String> p : rel) {
240-
System.out.println(p + "\t" + english.getName(p.getSecond()));
242+
System.out.println(p + "\t" + nameGetter.getNameFromBCP47(p.getSecond()));
241243
}
242244
}
243245

tools/cldr-code/src/main/java/org/unicode/cldr/test/TestSupplementalData.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.unicode.cldr.util.CLDRPaths;
1717
import org.unicode.cldr.util.CldrUtility;
1818
import org.unicode.cldr.util.Factory;
19+
import org.unicode.cldr.util.NameGetter;
1920
import org.unicode.cldr.util.Pair;
2021
import org.unicode.cldr.util.PatternCache;
2122
import org.unicode.cldr.util.StandardCodes;
@@ -152,6 +153,7 @@ static void checkAgainstLanguageScript() {
152153
}
153154
}
154155
// compare them, listing differences
156+
NameGetter nameGetter = english.nameGetter();
155157
for (String territory : sc.getGoodAvailableCodes("territory")) {
156158
Set<String> languages = supplementalData.getTerritoryToLanguages(territory);
157159
Set<String> otherLanguages = otherTerritoryToLanguages.getAll(territory);
@@ -161,10 +163,11 @@ static void checkAgainstLanguageScript() {
161163
languagesLeftover.removeAll(otherLanguages);
162164
Set<String> otherLanguagesLeftover = new TreeSet<>(otherLanguages);
163165
otherLanguagesLeftover.removeAll(languages);
164-
String territoryString = english.getName(CLDRFile.TERRITORY_NAME, territory);
166+
String territoryString =
167+
nameGetter.getNameFromTypenumCode(CLDRFile.TERRITORY_NAME, territory);
165168
if (otherLanguagesLeftover.size() != 0) {
166169
for (String other : otherLanguagesLeftover) {
167-
String name = english.getName(other);
170+
String name = nameGetter.getNameFromBCP47(other);
168171
System.out.println(
169172
territoryString + "\t" + territory + "\t" + name + "\t" + other);
170173
}

0 commit comments

Comments
 (0)