< prev index next >
make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
Print this page
@@ -31,10 +31,11 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
class Bundle {
static enum Type {
LOCALENAMES, CURRENCYNAMES, TIMEZONENAMES, CALENDARDATA, FORMATDATA;
@@ -51,10 +52,14 @@
"NumberPatterns/decimal",
"NumberPatterns/currency",
"NumberPatterns/percent"
};
+ private final static String[] COMPACT_NUMBER_PATTERN_KEYS = {
+ "short.CompactNumberPatterns",
+ "long.CompactNumberPatterns"};
+
private final static String[] NUMBER_ELEMENT_KEYS = {
"NumberElements/decimal",
"NumberElements/group",
"NumberElements/list",
"NumberElements/percent",
@@ -226,10 +231,20 @@
myMap.put("NumberPatterns", numberPatterns);
break;
}
}
+ for (String k : COMPACT_NUMBER_PATTERN_KEYS) {
+ List<String> patterns = (List<String>) myMap.remove(k);
+ if (patterns != null) {
+ // Replace any null entry with empty strings.
+ patterns = patterns.stream()
+ .map(s -> s == null ? "" : s).collect(Collectors.toList());
+ myMap.put(k, patterns);
+ }
+ }
+
// if myMap has any of NUMBER_ELEMENT_KEYS, create a complete NumberElements.
String defaultScript = (String) myMap.get("DefaultNumberingSystem");
@SuppressWarnings("unchecked")
List<String> scripts = (List<String>) myMap.get("numberingScripts");
if (defaultScript == null && scripts != null) {
< prev index next >