equal
deleted
inserted
replaced
24 */ |
24 */ |
25 |
25 |
26 package sun.util.locale.provider; |
26 package sun.util.locale.provider; |
27 |
27 |
28 import java.util.Locale; |
28 import java.util.Locale; |
29 import java.util.MissingResourceException; |
29 import java.util.ResourceBundle; |
30 import java.util.Set; |
30 import java.util.Set; |
31 import java.util.spi.LocaleNameProvider; |
31 import java.util.spi.LocaleNameProvider; |
32 import sun.util.resources.OpenListResourceBundle; |
|
33 |
32 |
34 /** |
33 /** |
35 * Concrete implementation of the |
34 * Concrete implementation of the |
36 * {@link java.util.spi.LocaleNameProvider LocaleNameProvider} class |
35 * {@link java.util.spi.LocaleNameProvider LocaleNameProvider} class |
37 * for the JRE LocaleProviderAdapter. |
36 * for the JRE LocaleProviderAdapter. |
173 private String getDisplayString(String key, Locale locale) { |
172 private String getDisplayString(String key, Locale locale) { |
174 if (key == null || locale == null) { |
173 if (key == null || locale == null) { |
175 throw new NullPointerException(); |
174 throw new NullPointerException(); |
176 } |
175 } |
177 |
176 |
178 OpenListResourceBundle rb = LocaleProviderAdapter.forType(type).getLocaleData().getLocaleNames(locale); |
177 ResourceBundle rb = LocaleProviderAdapter.forType(type).getLocaleData().getLocaleNames(locale); |
179 LocaleServiceProviderPool pool = |
178 if (rb.containsKey(key)) { |
180 LocaleServiceProviderPool.getPool(LocaleNameProvider.class); |
|
181 try { |
|
182 if (!pool.hasProviders() || |
|
183 (rb.getLocale().equals(locale) && rb.handleGetKeys().contains(key))) { |
|
184 return rb.getString(key); |
179 return rb.getString(key); |
185 } |
180 } |
186 } catch (MissingResourceException mre) {} |
|
187 |
181 |
188 return null; |
182 return null; |
189 } |
183 } |
190 |
184 |
191 @Override |
185 @Override |