Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2957,8 +2957,8 @@ private static void generateDateTimesReport(Writer out, SurveyMain sm, CLDRLocal
CLDRFile englishFile = fac.make("en", true);
CLDRFile nativeFile = fac.make(l, true);

DateTimeFormats formats = new DateTimeFormats().set(nativeFile, calendarType);
DateTimeFormats english = new DateTimeFormats().set(englishFile, calendarType);
DateTimeFormats formats = new DateTimeFormats(nativeFile, calendarType);
DateTimeFormats english = new DateTimeFormats(englishFile, calendarType);

formats.addTable(english, out);
formats.addDateTable(englishFile, out);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import org.unicode.cldr.util.CldrUtility;
import org.unicode.cldr.util.Factory;
import org.unicode.cldr.util.LanguageTagParser;
import org.unicode.cldr.util.LocaleNames;
import org.unicode.cldr.util.PathUtilities;
import org.unicode.cldr.util.PatternCache;
import org.xml.sax.Attributes;
Expand Down Expand Up @@ -223,7 +224,7 @@ void set(AttributeName attributeName, String attributeValue) {
}

void checkResult(String value) {
ULocale ul = new ULocale("xx");
ULocale ul = new ULocale(LocaleNames.XX_TEST);
try {
for (int i = 0; i < currentLocales.size(); ++i) {
ul = currentLocales.get(i);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import java.util.TreeMap;
import java.util.regex.Pattern;
import org.unicode.cldr.util.CLDRFile;
import org.unicode.cldr.util.CLDRLocale;
import org.unicode.cldr.util.ICUServiceBuilder;
import org.unicode.cldr.util.PatternCache;
import org.unicode.cldr.util.SupplementalDataInfo;
Expand Down Expand Up @@ -74,8 +75,8 @@ public static final CompactDecimalFormat build(
}

// get the common CLDR data used for number/date/time formats

ICUServiceBuilder builder = new ICUServiceBuilder().setCldrFile(resolvedCldrFile);
final CLDRLocale loc = CLDRLocale.getInstance(resolvedCldrFile.getLocaleID());
final ICUServiceBuilder builder = ICUServiceBuilder.forLocale(loc);

DecimalFormat decimalFormat =
currencyStyle == CurrencyStyle.PLAIN
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public class CheckDates extends FactoryCheckCLDR {
static boolean GREGORIAN_ONLY = CldrUtility.getProperty("GREGORIAN", false);
private static final Set<String> CALENDARS_FOR_CORES = Set.of("gregorian", "iso8601");

ICUServiceBuilder icuServiceBuilder = new ICUServiceBuilder();
private ICUServiceBuilder icuServiceBuilder;
DateTimePatternGenerator.FormatParser formatParser =
new DateTimePatternGenerator.FormatParser();
DateTimePatternGenerator dateTimePatternGenerator = DateTimePatternGenerator.getEmptyInstance();
Expand Down Expand Up @@ -129,34 +129,33 @@ public CheckCLDR handleSetCldrFileToCheck(
CLDRFile cldrFileToCheck, Options options, List<CheckStatus> possibleErrors) {
if (cldrFileToCheck == null) return this;
super.handleSetCldrFileToCheck(cldrFileToCheck, options, possibleErrors);
String localeID = cldrFileToCheck.getLocaleID();
final CLDRLocale loc = CLDRLocale.getInstance(localeID);
this.icuServiceBuilder = ICUServiceBuilder.forLocale(loc);

icuServiceBuilder.setCldrFile(getResolvedCldrFileToCheck());
// the following is a hack to work around a bug in ICU4J (the snapshot, not the released
// version).
try {
bi = BreakIterator.getCharacterInstance(new ULocale(cldrFileToCheck.getLocaleID()));
bi = BreakIterator.getCharacterInstance(new ULocale(localeID));
} catch (RuntimeException e) {
bi = BreakIterator.getCharacterInstance(new ULocale(""));
}
CLDRFile resolved = getResolvedCldrFileToCheck();
flexInfo = new FlexibleDateFromCLDR(); // ought to just clear(), but not available.
flexInfo.set(resolved);
flexInfo = new FlexibleDateFromCLDR(resolved);

// load decimal path specially
String decimal = resolved.getWinningValue(DECIMAL_XPATH);
if (decimal != null) {
flexInfo.checkFlexibles(DECIMAL_XPATH, decimal, DECIMAL_XPATH);
}

String localeID = cldrFileToCheck.getLocaleID();
LocaleIDParser lp = new LocaleIDParser();
territory = lp.set(localeID).getRegion();
language = lp.getLanguage();
if (territory == null || territory.isEmpty()) {
if (language.equals("root")) {
territory = "001";
} else {
CLDRLocale loc = CLDRLocale.getInstance(localeID);
CLDRLocale defContent = sdi.getDefaultContentFromBase(loc);
if (defContent == null) {
territory = "001";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.unicode.cldr.test.DisplayAndInputProcessor.NumericType;
import org.unicode.cldr.util.CLDRConfig;
import org.unicode.cldr.util.CLDRFile;
import org.unicode.cldr.util.CLDRLocale;
import org.unicode.cldr.util.CldrUtility;
import org.unicode.cldr.util.Factory;
import org.unicode.cldr.util.ICUServiceBuilder;
Expand Down Expand Up @@ -47,13 +48,12 @@ public class CheckNumbers extends FactoryCheckCLDR {
* If you are going to use ICU services, then ICUServiceBuilder will allow you to create them
* entirely from CLDR data, without using the ICU data.
*/
private ICUServiceBuilder icuServiceBuilder = new ICUServiceBuilder();
private ICUServiceBuilder icuServiceBuilder;

private Set<Count> pluralTypes;
private Map<Count, Set<Double>> pluralExamples;
private Set<String> validNumberingSystems;

private String defaultNumberingSystem;
private String defaultTimeSeparatorPath;
private String patternForHm;

Expand Down Expand Up @@ -93,18 +93,19 @@ public CheckCLDR handleSetCldrFileToCheck(
CLDRFile cldrFileToCheck, Options options, List<CheckStatus> possibleErrors) {
if (cldrFileToCheck == null) return this;
super.handleSetCldrFileToCheck(cldrFileToCheck, options, possibleErrors);
icuServiceBuilder.setCldrFile(getResolvedCldrFileToCheck());
String localeId = cldrFileToCheck.getLocaleID();
CLDRLocale loc = CLDRLocale.getInstance(localeId);
this.icuServiceBuilder = ICUServiceBuilder.forLocale(loc);
isPOSIX = cldrFileToCheck.getLocaleID().indexOf("POSIX") >= 0;
SupplementalDataInfo supplementalData =
SupplementalDataInfo.getInstance(getFactory().getSupplementalDirectory());
PluralInfo pluralInfo =
supplementalData.getPlurals(PluralType.cardinal, cldrFileToCheck.getLocaleID());
PluralInfo pluralInfo = supplementalData.getPlurals(PluralType.cardinal, localeId);
pluralTypes = pluralInfo.getCounts();
pluralExamples = pluralInfo.getCountToExamplesMap();
validNumberingSystems = supplementalData.getNumberingSystems();

CLDRFile resolvedFile = getResolvedCldrFileToCheck();
defaultNumberingSystem =
String defaultNumberingSystem =
resolvedFile.getWinningValue("//ldml/numbers/defaultNumberingSystem");
if (defaultNumberingSystem == null
|| !validNumberingSystems.contains(defaultNumberingSystem)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,6 @@ public static void main(String[] args) throws Throwable {
Set<PathHeader> paths = new TreeSet<>(); // CLDRFile.ldmlComparator);
Map<String, String> m = new TreeMap<>();
Map<String, String> options = new HashMap<>();
FlexibleDateFromCLDR fset = new FlexibleDateFromCLDR();

if (CLDRFile.isSupplementalName(localeID)) return;
if (supplementalDataInfo.getDefaultContentLocales().contains(localeID)) {
Expand Down Expand Up @@ -681,9 +680,8 @@ public static void main(String[] args) throws Throwable {

UnicodeSet missingExemplars = new UnicodeSet();
UnicodeSet missingCurrencyExemplars = new UnicodeSet();
if (checkFlexibleDates) {
fset.set(file);
}
FlexibleDateFromCLDR fset =
checkFlexibleDates ? new FlexibleDateFromCLDR(file) : null;
pathShower.set(localeID);

// only create if we are going to use it
Expand Down
Loading
Loading