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

Print this page

        

*** 400,424 **** } } if (timeStyle >= 0) { if (dateStyle >= 0) { String dateTimePattern = null; if (prefix != null) { ! dateTimePattern = getDateTimePattern(prefix, "DateTimePatterns", 0, calType); } if (dateTimePattern == null) { ! dateTimePattern = getDateTimePattern(null, "DateTimePatterns", 0, calType); } switch (dateTimePattern) { case "{1} {0}": pattern = datePattern + " " + timePattern; break; case "{0} {1}": pattern = timePattern + " " + datePattern; break; default: ! pattern = MessageFormat.format(dateTimePattern, timePattern, datePattern); break; } } else { pattern = timePattern; } --- 400,425 ---- } } if (timeStyle >= 0) { if (dateStyle >= 0) { String dateTimePattern = null; + int dateTimeStyle = Math.max(dateStyle, timeStyle); if (prefix != null) { ! dateTimePattern = getDateTimePattern(prefix, "DateTimePatterns", dateTimeStyle, calType); } if (dateTimePattern == null) { ! dateTimePattern = getDateTimePattern(null, "DateTimePatterns", dateTimeStyle, calType); } switch (dateTimePattern) { case "{1} {0}": pattern = datePattern + " " + timePattern; break; case "{0} {1}": pattern = timePattern + " " + datePattern; break; default: ! pattern = MessageFormat.format(dateTimePattern.replaceAll("'", "''"), timePattern, datePattern); break; } } else { pattern = timePattern; }
*** 490,500 **** } if (value == NULLOBJECT) { assert prefix != null; return null; } ! return ((String[])value)[styleIndex]; } private static class ResourceReference extends SoftReference<Object> { private final String cacheKey; --- 491,504 ---- } if (value == NULLOBJECT) { assert prefix != null; return null; } ! ! // for DateTimePatterns. CLDR has multiple styles, while JRE has one. ! String[] styles = (String[])value; ! return (styles.length > 1 ? styles[styleIndex] : styles[0]); } private static class ResourceReference extends SoftReference<Object> { private final String cacheKey;