<i18n dev> Request for review: 8000997: Multiple locale sensitive services cannot be loaded
Masayoshi Okutsu
masayoshi.okutsu at oracle.com
Tue Oct 23 14:53:08 PDT 2012
Here are my comments.
SPILocaleProviderAdapter.java:
- Should "." be used for composing a class name of a Delegate instead of
"$"?
- Is it necessary to iterate locale candidate in getImpl? (Iteration is
performed outside of adapters when getting an adapter or a provider of
pools.)
- addImpl() overrides any previous impl if there are multiple
implementations for the same Locale. Should the first one preserved?
- map.keySet().contains(key) should be map.containsKey(key).
- When a factory of a provider returns null where null is not allowed,
should the provider be removed from the map?
Thanks,
Masayoshi
On 2012/10/22 15:26, Naoto Sato wrote:
> Hello,
>
> I need a reviewer for the changes for 8000997, where the symptom is:
>
> "With the locale data deployment feature, locale sensitive services
> SPI implementations cannot be loaded more than one implementation.
> This is due to the fact that SPILocaleProviderAdapter only uses one
> instance of SPI implementations. It should load all the available
> installed providers as in JDK7, and correctly selects the instance
> depending on the requester's locale."
>
> The gist of the fix is to prepare LocaleServiceProvider delegates for
> each services in SPILocaleProviderAdapter, and they work with the real
> SPI implementations. The proposed change is located here:
>
> http://cr.openjdk.java.net/~naoto/8000997/webrev.00/
>
> Naoto
More information about the i18n-dev
mailing list