<i18n dev> [11] RFR: 8181157: CLDR Timezone name fallback implementation

Naoto Sato naoto.sato at oracle.com
Tue Apr 24 01:25:45 UTC 2018


Hi Sherman, thanks for the review.

On 4/23/18 1:06 PM, Xueming Shen wrote:
> 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);

Addressed all of the above suggestions. Unnecessary jreMetaMap update 
was a good catch!

> 
> (3) LocaleResources.java
>       just wanted to confirm the "locale.resources.debug" is something 
> we wanted to
>       be a public interface or not?

Eventually I'd be public (8057075), but it is a private use for the time 
being.

Here's the updated webrev:

http://cr.openjdk.java.net/~naoto/8181157/webrev.06/

Naoto

> 
> 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
> 


More information about the i18n-dev mailing list