src/share/classes/sun/util/locale/provider/LocaleResources.java

Print this page
rev 6434 : 8007038: ArrayIndexOutOfBoundsException on calling localizedDateTime().print() with JapaneseChrono

@@ -311,10 +311,22 @@
         }
         return value.toArray(new String[0][]);
     }
 
     String[] getCalendarNames(String key) {
+        String cal = locale.getUnicodeLocaleType("ca");
+        if (cal != null) {
+            String[] names = getCalendarNamesImpl(cal + "." + key);
+            if (names != null) {
+                return names;
+            }
+        }
+
+        return getCalendarNamesImpl(key);
+    }
+
+    private String[] getCalendarNamesImpl(String key) {
         String[] names = null;
         String cacheKey = CALENDAR_NAMES + key;
 
         removeEmptyReferences();
         ResourceReference data = cache.get(cacheKey);