--- a/jdk/test/java/util/PluggableLocale/providersrc/LocaleNameProviderImpl.java Mon Oct 15 22:34:35 2012 +0100
+++ b/jdk/test/java/util/PluggableLocale/providersrc/LocaleNameProviderImpl.java Tue Oct 16 10:59:21 2012 -0700
@@ -37,57 +37,64 @@
Locale.JAPAN,
new Locale("ja", "JP", "osaka"),
new Locale("ja", "JP", "kyoto"),
- new Locale("xx")};
+ new Locale("xx"),
+ new Locale("yy", "YY", "YYYY")};
static List<Locale> availList = Arrays.asList(avail);
public Locale[] getAvailableLocales() {
return avail;
}
+ @Override
public String getDisplayLanguage(String lang, Locale target) {
+ return getDisplayString(lang, target);
+ }
+
+ @Override
+ public String getDisplayCountry(String ctry, Locale target) {
+ return getDisplayString(ctry, target);
+ }
+
+ @Override
+ public String getDisplayVariant(String vrnt, Locale target) {
+ return getDisplayString(vrnt, target);
+ }
+
+ private String getDisplayString(String key, Locale target) {
if (!Utils.supportsLocale(availList, target)) {
throw new IllegalArgumentException("locale is not supported: "+target);
}
String ret = null;
+ if (target.getLanguage().equals("yy") &&
+ target.getCountry().equals("YY")) {
+ String vrnt = target.getVariant();
+ if (vrnt.startsWith("YYYY")) {
+ switch (key) {
+ case "yy":
+ case "YY":
+ ret = "waiwai";
+ break;
+
+ case "YYYY":
+ if (vrnt.equals("YYYY_suffix")) {
+ // for LocaleNameProviderTest.variantFallbackTest()
+ throw new RuntimeException(vrnt);
+ } else {
+ ret = "waiwai";
+ }
+ break;
+ }
+ }
+ } else {
+ // resource bundle based (allows fallback)
try {
ResourceBundle rb = ResourceBundle.getBundle("com.bar.LocaleNames", target);
- ret = rb.getString(lang);
+ ret = rb.getString(key);
} catch (MissingResourceException mre) {
}
+ }
return ret;
}
-
- public String getDisplayCountry(String ctry, Locale target) {
- if (!Utils.supportsLocale(availList, target)) {
- throw new IllegalArgumentException("locale is not supported: "+target);
}
-
- String ret = null;
-
- try {
- ResourceBundle rb = ResourceBundle.getBundle("LocaleNames", target);
- ret = rb.getString(ctry);
- } catch (MissingResourceException mre) {
- }
-
- return ret;
- }
-
- public String getDisplayVariant(String vrnt, Locale target) {
- if (!Utils.supportsLocale(availList, target)) {
- throw new IllegalArgumentException("locale is not supported: "+target);
- }
-
- String ret = null;
-
- try {
- ResourceBundle rb = ResourceBundle.getBundle("LocaleNames", target);
- ret = rb.getString(vrnt);
- } catch (MissingResourceException mre) {
- }
-
- return ret;
- }
-}