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

Reply via email to