< prev index next >
make/jdk/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java
Print this page
rev 47733 : 8176841: Additional Unicode Language-Tag Extensions
8189134: New system properties for the default Locale extensions
Reviewed-by:
*** 1,7 ****
/*
! * Copyright (c) 2012, 2015, 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. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2012, 2017, 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. Oracle designates this
*** 254,276 ****
file.createNewFile();
}
CLDRConverter.info("Generating file " + file);
try (PrintWriter out = new PrintWriter(file, "us-ascii")) {
! out.println(CopyrightHeaders.getOpenJDKCopyright());
! out.println((CLDRConverter.isBaseModule ? "package sun.util.cldr;\n\n" :
"package sun.util.resources.cldr.provider;\n\n")
+ "import java.util.HashMap;\n"
+ "import java.util.Locale;\n"
+ "import java.util.Map;\n"
! + "import sun.util.locale.provider.LocaleProviderAdapter;\n"
! + "import sun.util.locale.provider.LocaleDataMetaInfo;\n");
out.printf("public class %s implements LocaleDataMetaInfo {\n", className);
! out.println(" private static final Map<String, String> resourceNameToLocales = new HashMap<>();\n" +
(CLDRConverter.isBaseModule ?
! " private static final Map<Locale, String[]> parentLocalesMap = new HashMap<>();\n\n" : "\n") +
" static {\n");
for (String key : metaInfo.keySet()) {
if (key.startsWith(CLDRConverter.PARENT_LOCALE_PREFIX)) {
String parentTag = key.substring(CLDRConverter.PARENT_LOCALE_PREFIX.length());
--- 254,277 ----
file.createNewFile();
}
CLDRConverter.info("Generating file " + file);
try (PrintWriter out = new PrintWriter(file, "us-ascii")) {
! out.printf(CopyrightHeaders.getOpenJDKCopyright());
! out.printf((CLDRConverter.isBaseModule ? "package sun.util.cldr;\n\n" :
"package sun.util.resources.cldr.provider;\n\n")
+ "import java.util.HashMap;\n"
+ "import java.util.Locale;\n"
+ "import java.util.Map;\n"
! + "import sun.util.locale.provider.LocaleDataMetaInfo;\n"
! + "import sun.util.locale.provider.LocaleProviderAdapter;\n\n");
out.printf("public class %s implements LocaleDataMetaInfo {\n", className);
! out.printf(" private static final Map<String, String> resourceNameToLocales = new HashMap<>();\n" +
(CLDRConverter.isBaseModule ?
! " private static final Map<Locale, String[]> parentLocalesMap = new HashMap<>();\n\n" :
! "\n") +
" static {\n");
for (String key : metaInfo.keySet()) {
if (key.startsWith(CLDRConverter.PARENT_LOCALE_PREFIX)) {
String parentTag = key.substring(CLDRConverter.PARENT_LOCALE_PREFIX.length());
*** 294,327 ****
count = 0;
}
}
out.printf("\n });\n");
} else {
out.printf(" resourceNameToLocales.put(\"%s\",\n", key);
! out.printf(" \"%s\");\n",
! toLocaleList(key.equals("FormatData") ? metaInfo.get("AvailableLocales") :
! metaInfo.get(key), false));
}
}
- out.println(" }\n\n");
! out.println(" @Override\n" +
" public LocaleProviderAdapter.Type getType() {\n" +
" return LocaleProviderAdapter.Type.CLDR;\n" +
" }\n\n");
! out.println(" @Override\n" +
" public String availableLanguageTags(String category) {\n" +
" return resourceNameToLocales.getOrDefault(category, \"\");\n" +
" }\n\n");
if (CLDRConverter.isBaseModule) {
out.printf(" public Map<Locale, String[]> parentLocales() {\n" +
" return parentLocalesMap;\n" +
" }\n}");
} else {
! out.println("}");
}
}
}
private static final Locale.Builder LOCALE_BUILDER = new Locale.Builder();
--- 295,348 ----
count = 0;
}
}
out.printf("\n });\n");
} else {
+ if ("AvailableLocales".equals(key)) {
out.printf(" resourceNameToLocales.put(\"%s\",\n", key);
! out.printf(" \"%s\");\n", toLocaleList(metaInfo.get(key), false));
! }
}
}
! out.printf(" }\n\n");
!
! // end of static initializer block.
!
! // Short TZ names for delayed initialization
! if (CLDRConverter.isBaseModule) {
! out.printf(" private static class TZShortIDMapHolder {\n");
! out.printf(" static final Map<String, String> tzShortIDMap = new HashMap<>();\n");
! out.printf(" static {\n");
! CLDRConverter.handlerTimeZone.getData().entrySet().stream()
! .forEach(e -> {
! out.printf(" tzShortIDMap.put(\"%s\", \"%s\");\n", e.getKey(),
! ((String)e.getValue()));
! });
! out.printf(" }\n }\n\n");
! }
!
! out.printf(" @Override\n" +
" public LocaleProviderAdapter.Type getType() {\n" +
" return LocaleProviderAdapter.Type.CLDR;\n" +
" }\n\n");
! out.printf(" @Override\n" +
" public String availableLanguageTags(String category) {\n" +
" return resourceNameToLocales.getOrDefault(category, \"\");\n" +
" }\n\n");
if (CLDRConverter.isBaseModule) {
+ out.printf(" @Override\n" +
+ " public Map<String, String> tzShortIDs() {\n" +
+ " return TZShortIDMapHolder.tzShortIDMap;\n" +
+ " }\n\n");
out.printf(" public Map<Locale, String[]> parentLocales() {\n" +
" return parentLocalesMap;\n" +
" }\n}");
} else {
! out.printf("}");
}
}
}
private static final Locale.Builder LOCALE_BUILDER = new Locale.Builder();
< prev index next >