private static void updateTimeZoneNames(Locale locale) { long time1 = new SUTime.IsoDate(2013,1,1).getJodaTimeInstant().getMillis(); long time2 = new SUTime.IsoDate(2013,6,1).getJodaTimeInstant().getMillis(); CollectionValuedMap<String,DateTimeZone> tzMap = new CollectionValuedMap<>(); for (DateTimeZone dtz:TimeZoneIdComponent.timeZonesById.values()) { // standard timezones tzMap.add(dtz.getShortName(time1, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time1, locale).toLowerCase(), dtz); // Add about half a year to get day light savings timezones... tzMap.add(dtz.getShortName(time2, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time2, locale).toLowerCase(), dtz); // tzMap.add(dtz.getNameKey(time).toLowerCase(), dtz); // tzMap.add(dtz.getID().toLowerCase(), dtz); } // Order by length for regex List<String> tzNames = new ArrayList<>(tzMap.keySet()); Collections.sort(tzNames, STRING_LENGTH_REV_COMPARATOR); String tzRegex = makeRegex(tzNames); synchronized (TimeZoneComponent.class) { timeZoneNames.put(locale,tzNames); timeZonesByName.put(locale,tzMap); timeZoneRegexes.put(locale,tzRegex); } }
private static void updateTimeZoneNames(Locale locale) { long time1 = new SUTime.IsoDate(2013,1,1).getJodaTimeInstant().getMillis(); long time2 = new SUTime.IsoDate(2013,6,1).getJodaTimeInstant().getMillis(); CollectionValuedMap<String,DateTimeZone> tzMap = new CollectionValuedMap<>(); for (DateTimeZone dtz:TimeZoneIdComponent.timeZonesById.values()) { // standard timezones tzMap.add(dtz.getShortName(time1, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time1, locale).toLowerCase(), dtz); // Add about half a year to get day light savings timezones... tzMap.add(dtz.getShortName(time2, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time2, locale).toLowerCase(), dtz); // tzMap.add(dtz.getNameKey(time).toLowerCase(), dtz); // tzMap.add(dtz.getID().toLowerCase(), dtz); } // Order by length for regex List<String> tzNames = new ArrayList<>(tzMap.keySet()); Collections.sort(tzNames, STRING_LENGTH_REV_COMPARATOR); String tzRegex = makeRegex(tzNames); synchronized (TimeZoneComponent.class) { timeZoneNames.put(locale,tzNames); timeZonesByName.put(locale,tzMap); timeZoneRegexes.put(locale,tzRegex); } }
private void updateTimeZoneNames(Locale locale) { long time1 = new SUTime.IsoDate(2013,1,1).getJodaTimeInstant().getMillis(); long time2 = new SUTime.IsoDate(2013,6,1).getJodaTimeInstant().getMillis(); CollectionValuedMap<String,DateTimeZone> tzMap = new CollectionValuedMap<String, DateTimeZone>(); for (DateTimeZone dtz:TimeZoneIdComponent.timeZonesById.values()) { // standard timezones tzMap.add(dtz.getShortName(time1, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time1, locale).toLowerCase(), dtz); // Add about half a year to get day light savings timezones... tzMap.add(dtz.getShortName(time2, locale).toLowerCase(), dtz); tzMap.add(dtz.getName(time2, locale).toLowerCase(), dtz); // tzMap.add(dtz.getNameKey(time).toLowerCase(), dtz); // tzMap.add(dtz.getID().toLowerCase(), dtz); } // Order by length for regex List<String> tzNames = new ArrayList<String>(tzMap.keySet()); Collections.sort(tzNames, STRING_LENGTH_REV_COMPARATOR); String tzRegex = makeRegex(tzNames); synchronized (TimeZoneComponent.class) { timeZoneNames.put(locale,tzNames); timeZonesByName.put(locale,tzMap); timeZoneRegexes.put(locale,tzRegex); } }