--- old/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java 2018-12-04 20:48:45.108904540 +0530 +++ new/make/jdk/src/classes/build/tools/cldrconverter/Bundle.java 2018-12-04 20:48:44.692904540 +0530 @@ -53,6 +53,10 @@ "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", @@ -228,6 +232,16 @@ } } + for (String k : COMPACT_NUMBER_PATTERN_KEYS) { + List patterns = (List) myMap.remove(k); + if (patterns != null) { + // Replace any null entry with empty strings. + String[] arrPatterns = patterns.stream() + .map(s -> s == null ? "" : s).toArray(String[]::new); + myMap.put(k, arrPatterns); + } + } + // if myMap has any of NUMBER_ELEMENT_KEYS, create a complete NumberElements. String defaultScript = (String) myMap.get("DefaultNumberingSystem"); @SuppressWarnings("unchecked")