8154797: Localization data for "GMT"
authorrgoel
Thu, 14 Jul 2016 10:30:23 +0900
changeset 39644 4d04bb90a87c
parent 39643 04adb120effa
child 39645 f71bb6a69b8d
8154797: Localization data for "GMT" Reviewed-by: naoto, okutsu
jdk/make/src/classes/build/tools/cldrconverter/CLDRConverter.java
jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java
jdk/make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java
jdk/src/java.base/share/classes/sun/text/resources/JavaTimeSupplementary.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ar.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_be.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_bg.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_cs.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_da.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_et.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fi.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fr.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ga.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_hr.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_in.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_iw.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_lt.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_no.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sl.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sq.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sr.java
jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sv.java
jdk/test/java/util/Locale/Bug8154797.java
jdk/test/sun/text/resources/JavaTimeSupplementaryTest.java
--- a/jdk/make/src/classes/build/tools/cldrconverter/CLDRConverter.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/make/src/classes/build/tools/cldrconverter/CLDRConverter.java	Thu Jul 14 10:30:23 2016 +0900
@@ -693,6 +693,8 @@
         "field.weekday",
         "field.dayperiod",
         "field.hour",
+        "timezone.hourFormat",
+        "timezone.gmtFormat",
         "field.minute",
         "field.second",
         "field.zone",
--- a/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java	Thu Jul 14 10:30:23 2016 +0900
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,12 +41,12 @@
         " * Copyright (c) 2012, %d, Oracle and/or its affiliates. All rights reserved.\n" +
         " */\n";
 
-    // Last updated:  - 1/16/2015, 1:42:31 PM
+    // Last updated:  - 6/06/2016, 1:42:31 PM
     private static final String UNICODE =
         "/*\n" +
         " * COPYRIGHT AND PERMISSION NOTICE\n" +
         " *\n" +
-        " * Copyright (C) 1991-2015 Unicode, Inc. All rights reserved.\n" +
+        " * Copyright (C) 1991-2016 Unicode, Inc. All rights reserved.\n" +
         " * Distributed under the Terms of Use in \n" +
         " * http://www.unicode.org/copyright.html.\n" +
         " *\n" +
--- a/jdk/make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/make/src/classes/build/tools/cldrconverter/LDMLParseHandler.java	Thu Jul 14 10:30:23 2016 +0900
@@ -417,6 +417,12 @@
         case "timeZoneNames":
             pushContainer(qName, attributes);
             break;
+        case "hourFormat":
+            pushStringEntry(qName, attributes, "timezone.hourFormat");
+            break;
+        case "gmtFormat":
+            pushStringEntry(qName, attributes, "timezone.gmtFormat");
+            break;
         case "zone":
             {
                 String tzid = attributes.getValue("type"); // Olson tz id
--- a/jdk/src/java.base/share/classes/sun/text/resources/JavaTimeSupplementary.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/java.base/share/classes/sun/text/resources/JavaTimeSupplementary.java	Thu Jul 14 10:30:23 2016 +0900
@@ -343,6 +343,10 @@
                 sharedShortEras },
             { "roc.short.Eras",
                 sharedShortEras },
+            { "timezone.gmtFormat",
+                "GMT{0}" },
+            { "timezone.hourFormat",
+                "+HH:mm;-HH:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ar.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ar.java	Thu Jul 14 10:30:23 2016 +0900
@@ -371,6 +371,8 @@
                 sharedShortEras },
             { "roc.short.Eras",
                 sharedShortEras },
+            { "timezone.gmtFormat",
+                "\u062c\u0631\u064a\u0646\u062a\u0634{0}" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_be.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_be.java	Thu Jul 14 10:30:23 2016 +0900
@@ -308,6 +308,8 @@
                 sharedAbbreviatedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedNarrowAmPmMarkers },
+            { "timezone.hourFormat",
+                "+HH.mm;-HH.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_bg.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_bg.java	Thu Jul 14 10:30:23 2016 +0900
@@ -309,6 +309,8 @@
                 sharedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedAmPmMarkers },
+            { "timezone.gmtFormat",
+                "\u0413\u0440\u0438\u043d\u0443\u0438\u0447{0}" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_cs.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_cs.java	Thu Jul 14 10:30:23 2016 +0900
@@ -298,6 +298,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+H:mm;-H:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_da.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_da.java	Thu Jul 14 10:30:23 2016 +0900
@@ -308,6 +308,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH.mm;-HH.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_et.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_et.java	Thu Jul 14 10:30:23 2016 +0900
@@ -280,6 +280,8 @@
                 sharedTimePatterns },
             { "roc.narrow.AmPmMarkers",
                 sharedNarrowAmPmMarkers },
+            { "timezone.hourFormat",
+                "+HH:mm;\u2212HH:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fi.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fi.java	Thu Jul 14 10:30:23 2016 +0900
@@ -324,6 +324,10 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.gmtFormat",
+                "UTC{0}" },
+            { "timezone.hourFormat",
+                "+H.mm;-H.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fr.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_fr.java	Thu Jul 14 10:30:23 2016 +0900
@@ -329,6 +329,10 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.gmtFormat",
+                "UTC{0}" },
+            { "timezone.hourFormat",
+                "+HH:mm;\u2212HH:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ga.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ga.java	Thu Jul 14 10:30:23 2016 +0900
@@ -284,6 +284,8 @@
                 sharedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedNarrowAmPmMarkers },
+            { "timezone.gmtFormat",
+                "MAG{0}" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_hr.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_hr.java	Thu Jul 14 10:30:23 2016 +0900
@@ -335,6 +335,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH:mm; -HH:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_in.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_in.java	Thu Jul 14 10:30:23 2016 +0900
@@ -347,6 +347,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH.mm;-HH.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_iw.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_iw.java	Thu Jul 14 10:30:23 2016 +0900
@@ -324,6 +324,10 @@
                 sharedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedAmPmMarkers },
+            { "timezone.gmtFormat",
+                "GMT{0}\u200e" },
+            { "timezone.hourFormat",
+                "\u200e+HH:mm;-HH:mm\u200e" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_lt.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_lt.java	Thu Jul 14 10:30:23 2016 +0900
@@ -325,6 +325,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH:mm;\u2212HH:mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_no.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_no.java	Thu Jul 14 10:30:23 2016 +0900
@@ -389,6 +389,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH.mm;-HH.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sl.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sl.java	Thu Jul 14 10:30:23 2016 +0900
@@ -286,6 +286,8 @@
                 sharedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedNarrowAmPmMarkers },
+            { "timezone.hourFormat",
+                "+HH.mm;-HH.mm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sq.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sq.java	Thu Jul 14 10:30:23 2016 +0900
@@ -294,6 +294,8 @@
                 sharedAmPmMarkers },
             { "roc.narrow.AmPmMarkers",
                 sharedAmPmMarkers },
+            { "timezone.gmtFormat",
+                "Ora e Grenui\u00e7it: {0}" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sr.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sr.java	Thu Jul 14 10:30:23 2016 +0900
@@ -386,6 +386,8 @@
                 sharedShortEras },
             { "roc.short.Eras",
                 sharedShortEras },
+            { "timezone.hourFormat",
+                "+HHmm;-HHmm" },
         };
     }
 }
--- a/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sv.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_sv.java	Thu Jul 14 10:30:23 2016 +0900
@@ -345,6 +345,8 @@
                 sharedEras },
             { "roc.short.Eras",
                 sharedEras },
+            { "timezone.hourFormat",
+                "+HH:mm;\u2212HH:mm" },
         };
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/util/Locale/Bug8154797.java	Thu Jul 14 10:30:23 2016 +0900
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8154797
+ * @modules java.base/sun.util.locale.provider
+ *          java.base/sun.util.resources
+ *          jdk.localedata
+ * @summary Test for checking HourFormat and GmtFormat resources are retrieved from
+ *  COMPAT and CLDR Providers.
+*/
+
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.ResourceBundle;
+import sun.util.locale.provider.LocaleProviderAdapter.Type;
+import sun.util.locale.provider.LocaleProviderAdapter;
+
+public class Bug8154797 {
+    static Map<String, String> expectedResourcesMap = new HashMap<>();
+    static final String GMT_RESOURCE_KEY = "timezone.gmtFormat";
+    static final String HMT_RESOURCE_KEY = "timezone.hourFormat";
+    static final String GMT = "Gmt";
+    static final String HMT = "Hmt";
+
+    static void generateExpectedValues() {
+        expectedResourcesMap.put("FR" + GMT, "UTC{0}");
+        expectedResourcesMap.put("FR" + HMT, "+HH:mm;\u2212HH:mm");
+        expectedResourcesMap.put("FI" + HMT, "+H.mm;-H.mm");
+        expectedResourcesMap.put("FI" + GMT, "UTC{0}");
+        /* For  root locale, en_US, de_DE, hi_IN, ja_JP,Root locale resources
+        * should be returned.
+         */
+        expectedResourcesMap.put(GMT, "GMT{0}"); //Root locale resource
+        expectedResourcesMap.put(HMT, "+HH:mm;-HH:mm"); //Root locale resource
+    }
+
+    static void compareResources(Locale loc) {
+        String mapKeyHourFormat = HMT, mapKeyGmtFormat = GMT;
+        ResourceBundle compatBundle, cldrBundle;
+        compatBundle = LocaleProviderAdapter.forJRE().getLocaleResources(loc)
+                .getJavaTimeFormatData();
+        cldrBundle = LocaleProviderAdapter.forType(Type.CLDR)
+                .getLocaleResources(loc).getJavaTimeFormatData();
+        if (loc.getCountry() == "FR" || loc.getCountry() == "FI") {
+            mapKeyHourFormat = loc.getCountry() + HMT;
+            mapKeyGmtFormat = loc.getCountry() + GMT;
+        }
+
+        if (!(expectedResourcesMap.get(mapKeyGmtFormat)
+                .equals(compatBundle.getString(GMT_RESOURCE_KEY))
+                && expectedResourcesMap.get(mapKeyHourFormat)
+                .equals(compatBundle.getString(HMT_RESOURCE_KEY))
+                && expectedResourcesMap.get(mapKeyGmtFormat)
+                .equals(cldrBundle.getString(GMT_RESOURCE_KEY))
+                && expectedResourcesMap.get(mapKeyHourFormat)
+                .equals(cldrBundle.getString(HMT_RESOURCE_KEY)))) {
+
+            throw new RuntimeException("Retrieved resource does not match with "
+                    + "  expected string for Locale " + compatBundle.getLocale());
+
+        }
+
+    }
+
+    public static void main(String args[]) {
+        Bug8154797.generateExpectedValues();
+        Locale[] locArr = {new Locale("hi", "IN"), Locale.UK, new Locale("fi", "FI"),
+                           Locale.ROOT, Locale.GERMAN, Locale.JAPANESE,
+                           Locale.ENGLISH, Locale.FRANCE};
+        for (Locale loc : locArr) {
+            Bug8154797.compareResources(loc);
+        }
+    }
+
+}
+
--- a/jdk/test/sun/text/resources/JavaTimeSupplementaryTest.java	Wed Jul 13 16:53:31 2016 -0700
+++ b/jdk/test/sun/text/resources/JavaTimeSupplementaryTest.java	Thu Jul 14 10:30:23 2016 +0900
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8159943
+ * @bug 8159943 8154797
  * @modules java.base/sun.util.locale.provider
  *          java.base/sun.util.resources
  *          jdk.localedata
@@ -65,6 +65,7 @@
         "field.",
         "islamic.",
         "roc.",
+        "timezone."
     };
 
     // All available locales for the COMPAT FormatData resource bundles