70 private static String TIMEZONE_SOURCE_FILE;
71 static String DESTINATION_DIR = "build/gensrc";
72
73 static final String LOCALE_NAME_PREFIX = "locale.displayname.";
74 static final String LOCALE_SEPARATOR = LOCALE_NAME_PREFIX + "separator";
75 static final String LOCALE_KEYTYPE = LOCALE_NAME_PREFIX + "keytype";
76 static final String LOCALE_KEY_PREFIX = LOCALE_NAME_PREFIX + "key.";
77 static final String LOCALE_TYPE_PREFIX = LOCALE_NAME_PREFIX + "type.";
78 static final String LOCALE_TYPE_PREFIX_CA = LOCALE_TYPE_PREFIX + "ca.";
79 static final String CURRENCY_SYMBOL_PREFIX = "currency.symbol.";
80 static final String CURRENCY_NAME_PREFIX = "currency.displayname.";
81 static final String CALENDAR_NAME_PREFIX = "calendarname.";
82 static final String CALENDAR_FIRSTDAY_PREFIX = "firstDay.";
83 static final String CALENDAR_MINDAYS_PREFIX = "minDays.";
84 static final String TIMEZONE_ID_PREFIX = "timezone.id.";
85 static final String ZONE_NAME_PREFIX = "timezone.displayname.";
86 static final String METAZONE_ID_PREFIX = "metazone.id.";
87 static final String PARENT_LOCALE_PREFIX = "parentLocale.";
88
89 private static SupplementDataParseHandler handlerSuppl;
90 private static SupplementalMetadataParseHandler handlerSupplMeta;
91 private static LikelySubtagsParseHandler handlerLikelySubtags;
92 static NumberingSystemsParseHandler handlerNumbering;
93 static MetaZonesParseHandler handlerMetaZones;
94 static TimeZoneParseHandler handlerTimeZone;
95 private static BundleGenerator bundleGenerator;
96
97 // java.base module related
98 static boolean isBaseModule = false;
99 static final Set<Locale> BASE_LOCALES = new HashSet<>();
100
101 // "parentLocales" map
102 private static final Map<String, SortedSet<String>> parentLocalesMap = new HashMap<>();
103 private static final ResourceBundle.Control defCon =
104 ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
105
106 private static final String[] AVAILABLE_TZIDS = TimeZone.getAvailableIDs();
107 private static String zoneNameTempFile;
108 private static String tzDataDir;
109
110 static enum DraftType {
111 UNCONFIRMED,
408 parentData.keySet().stream()
409 .filter(key -> key.startsWith(PARENT_LOCALE_PREFIX))
410 .forEach(key -> {
411 parentLocalesMap.put(key, new TreeSet(
412 Arrays.asList(((String)parentData.get(key)).split(" "))));
413 });
414
415 // Parse numberingSystems to get digit zero character information.
416 handlerNumbering = new NumberingSystemsParseHandler();
417 parseLDMLFile(new File(NUMBERING_SOURCE_FILE), handlerNumbering);
418
419 // Parse metaZones to create mappings between Olson tzids and CLDR meta zone names
420 handlerMetaZones = new MetaZonesParseHandler();
421 parseLDMLFile(new File(METAZONES_SOURCE_FILE), handlerMetaZones);
422
423 // Parse likelySubtags
424 handlerLikelySubtags = new LikelySubtagsParseHandler();
425 parseLDMLFile(new File(LIKELYSUBTAGS_SOURCE_FILE), handlerLikelySubtags);
426
427 // Parse supplementalMetadata
428 // Currently only interested in deprecated time zone ids.
429 handlerSupplMeta = new SupplementalMetadataParseHandler();
430 parseLDMLFile(new File(SPPL_META_SOURCE_FILE), handlerSupplMeta);
431 }
432
433 // Parsers for data in "bcp47" directory
434 //
435 private static void parseBCP47() throws Exception {
436 // Parse timezone
437 handlerTimeZone = new TimeZoneParseHandler();
438 parseLDMLFile(new File(TIMEZONE_SOURCE_FILE), handlerTimeZone);
439 }
440
441 private static void parseLDMLFile(File srcfile, AbstractLDMLHandler handler) throws Exception {
442 info("..... Parsing " + srcfile.getName() + " .....");
443 SAXParserFactory pf = SAXParserFactory.newInstance();
444 pf.setValidating(true);
445 SAXParser parser = pf.newSAXParser();
446 enableFileAccess(parser);
447 parser.parse(srcfile, handler);
448 }
|
70 private static String TIMEZONE_SOURCE_FILE;
71 static String DESTINATION_DIR = "build/gensrc";
72
73 static final String LOCALE_NAME_PREFIX = "locale.displayname.";
74 static final String LOCALE_SEPARATOR = LOCALE_NAME_PREFIX + "separator";
75 static final String LOCALE_KEYTYPE = LOCALE_NAME_PREFIX + "keytype";
76 static final String LOCALE_KEY_PREFIX = LOCALE_NAME_PREFIX + "key.";
77 static final String LOCALE_TYPE_PREFIX = LOCALE_NAME_PREFIX + "type.";
78 static final String LOCALE_TYPE_PREFIX_CA = LOCALE_TYPE_PREFIX + "ca.";
79 static final String CURRENCY_SYMBOL_PREFIX = "currency.symbol.";
80 static final String CURRENCY_NAME_PREFIX = "currency.displayname.";
81 static final String CALENDAR_NAME_PREFIX = "calendarname.";
82 static final String CALENDAR_FIRSTDAY_PREFIX = "firstDay.";
83 static final String CALENDAR_MINDAYS_PREFIX = "minDays.";
84 static final String TIMEZONE_ID_PREFIX = "timezone.id.";
85 static final String ZONE_NAME_PREFIX = "timezone.displayname.";
86 static final String METAZONE_ID_PREFIX = "metazone.id.";
87 static final String PARENT_LOCALE_PREFIX = "parentLocale.";
88
89 private static SupplementDataParseHandler handlerSuppl;
90 private static LikelySubtagsParseHandler handlerLikelySubtags;
91 static SupplementalMetadataParseHandler handlerSupplMeta;
92 static NumberingSystemsParseHandler handlerNumbering;
93 static MetaZonesParseHandler handlerMetaZones;
94 static TimeZoneParseHandler handlerTimeZone;
95 private static BundleGenerator bundleGenerator;
96
97 // java.base module related
98 static boolean isBaseModule = false;
99 static final Set<Locale> BASE_LOCALES = new HashSet<>();
100
101 // "parentLocales" map
102 private static final Map<String, SortedSet<String>> parentLocalesMap = new HashMap<>();
103 private static final ResourceBundle.Control defCon =
104 ResourceBundle.Control.getControl(ResourceBundle.Control.FORMAT_DEFAULT);
105
106 private static final String[] AVAILABLE_TZIDS = TimeZone.getAvailableIDs();
107 private static String zoneNameTempFile;
108 private static String tzDataDir;
109
110 static enum DraftType {
111 UNCONFIRMED,
408 parentData.keySet().stream()
409 .filter(key -> key.startsWith(PARENT_LOCALE_PREFIX))
410 .forEach(key -> {
411 parentLocalesMap.put(key, new TreeSet(
412 Arrays.asList(((String)parentData.get(key)).split(" "))));
413 });
414
415 // Parse numberingSystems to get digit zero character information.
416 handlerNumbering = new NumberingSystemsParseHandler();
417 parseLDMLFile(new File(NUMBERING_SOURCE_FILE), handlerNumbering);
418
419 // Parse metaZones to create mappings between Olson tzids and CLDR meta zone names
420 handlerMetaZones = new MetaZonesParseHandler();
421 parseLDMLFile(new File(METAZONES_SOURCE_FILE), handlerMetaZones);
422
423 // Parse likelySubtags
424 handlerLikelySubtags = new LikelySubtagsParseHandler();
425 parseLDMLFile(new File(LIKELYSUBTAGS_SOURCE_FILE), handlerLikelySubtags);
426
427 // Parse supplementalMetadata
428 // Currently interested in deprecated time zone ids and language aliases.
429 handlerSupplMeta = new SupplementalMetadataParseHandler();
430 parseLDMLFile(new File(SPPL_META_SOURCE_FILE), handlerSupplMeta);
431 }
432
433 // Parsers for data in "bcp47" directory
434 //
435 private static void parseBCP47() throws Exception {
436 // Parse timezone
437 handlerTimeZone = new TimeZoneParseHandler();
438 parseLDMLFile(new File(TIMEZONE_SOURCE_FILE), handlerTimeZone);
439 }
440
441 private static void parseLDMLFile(File srcfile, AbstractLDMLHandler handler) throws Exception {
442 info("..... Parsing " + srcfile.getName() + " .....");
443 SAXParserFactory pf = SAXParserFactory.newInstance();
444 pf.setValidating(true);
445 SAXParser parser = pf.newSAXParser();
446 enableFileAccess(parser);
447 parser.parse(srcfile, handler);
448 }
|