Naoto,
Here some comments
(1) CLDRTimeZoneNameProviderImpl.java:
Ln#58: to use Stream.toArray(String[]::new) ? no sure which one is faster
Ln#155-160:
is it worth considering to check all possible empty slots in "names"
here
(from index_std_long to index_std_short?) to avoid check/load
"compact" multiple
times? it appears doable for deriveFallbackNames() but I'm not sure
about
the invocation at #ln100, so a "?".
(2) CLDRConverter.java:
Ln#674: (not in updated code) why update the "local" jreMetaMap?
just wonder it'd better to use Optional.ifPresentOrElse(...)
here
Ln:707: (don't know which one is better though :-))
.toMap(Map.Entry::getKey, Map.Entry::getValue);
(3) LocaleResources.java
just wanted to confirm the "locale.resources.debug" is something we wanted
to
be a public interface or not?
Thanks,
Sherman
On 04/17/2018 02:28 PM, Naoto Sato wrote:
Hello,
Please review the changes to the following issue:
https://bugs.openjdk.java.net/browse/JDK-8181157
The proposed fix is located at:
http://cr.openjdk.java.net/~naoto/8181157/webrev.05/
This RFE is to implement CLDR time zone names fallback mechanism [1]. Prior to
this fix, time zone names are substituted with English names. With this change,
it is generated according to the logic defined in TR 35. Here are the highlight
of the changes:
CLDRConverter:
- CLDRConverter has changed to not substitute/invent time zone display
names, except English bundle for compatibility & runtime performance.
- For English bundle, copy over COMPAT's names as before.
- CLDRConverer now parses regionFormat/gmtZeroFormat/exemplarCity
CLDR provider:
- CLDRTimeZoneNameProviderImpl is introduced to generate fallback names
at runtime.
- If COMPAT provider is present, use it also as a fallback, before the
last resort (GMT offset format)
Naoto
[1] http://www.unicode.org/reports/tr35/tr35-dates.html#Time_Zone_Names