jdk/src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java
changeset 14185 916ec0a4d039
parent 13583 dc0017b1a452
child 15260 7af2d7a87806
equal deleted inserted replaced
14184:5553422ece67 14185:916ec0a4d039
    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