<i18n dev>  RFR: 8008577: Use CLDR Locale Data by Default (JEP-252)
masayoshi.okutsu at oracle.com
Wed Jun 24 09:16:54 UTC 2015
applyParentLocales() sets parentLocalesMap before populating the map
with data. It's possible that other threads look up the map without the
(full) data. So, a Map (local variable) should be populated and then
parentLocalesMap should be set to the Map. Also, parentLocalesMap needs
to be volatile or synchronized should be used when setting it. I don't
think it's necessary to use ConcurrentHashMap if the map is not modified
after its initialization.
Otherwise, the changes look good to me.
On 6/24/2015 6:56 AM, Naoto Sato wrote:
> Here is the updated webrev:
> As to the 3rd comment below, I did not modify it because that would
> simply duplicate the same piece of code in each getCandidateLocales()
> implementation (from the current location).
> On 6/19/15 1:53 AM, Masayoshi Okutsu wrote:
>> Sorry for taking time. Here are my comments.
>> - The year range of the first line of the copyright header should be
>> "2015," for the new ones and "2013, 2015," for the updated ones.
>> - I wonder if JavaTimeSupplementary*.java contain some CR-LF lines
>> because some line spacing is wide in the webrev. (hard to determine that
>> from the webrev.)
>> - applyParentLocales() needs to be thread-safe with parentLocalesMap?
>> - I wonder if the ResourceBundleBasedAdapter.getCandidateLocales()
>> implementations should return an optimized candidate list rather than
>> removing unsupported Locales from the list there.
>> + * -cldr option specifies to test CLDR locale data. The default data
>> file name for this
>> + * option is "CLDRLocaleData".
>> - The file name should be "LocaleData.cldr"?
>> - added the bug id, but no changes to the test?
>> On 6/9/2015 5:58 AM, Naoto Sato wrote:
>>> Please review the proposed changes for 8008577, the implementation
>>> of the JEP-252. The proposed changes are located at:
>>> Here are the very high level summary of changes:
>>> - Now the default locale provider order is CLDR,JRE,SPI.
>>> - The CLDR data is upgraded from 21.0.1 to 27.0.0
>>> - According the CLDR upgrade, the converter tool and the runtime are
>>> now capable of "alias" and "parentLocales" tags.
>>> - Regression tests that are specific to the existing JRE locale data
>>> are now run specifically with "JRE,SPI" providers.
>>> I would like the build group to review the build changes mainly with
>>> the CLDR changes, and i18n group for the rest.
>>> : https://bugs.openjdk.java.net/browse/JDK-8008577
>>> : https://bugs.openjdk.java.net/browse/JDK-8043554
More information about the build-dev