< prev index next >
make/jdk/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java
Print this page
rev 47734 : imported patch 8190918
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -82,57 +82,22 @@
if ("root".equals(id)) {
parentLocalesMap.keySet().forEach(key -> {
values.put(CLDRConverter.PARENT_LOCALE_PREFIX+key,
parentLocalesMap.get(key));
});
- } else {
- String countryData = getWeekData(id, JAVA_FIRSTDAY, firstDayMap);
- if (countryData != null) {
- values.put(JAVA_FIRSTDAY, countryData);
- }
- String minDaysData = getWeekData(id, JAVA_MINDAY, minDaysMap);
- if (minDaysData != null) {
- values.put(JAVA_MINDAY, minDaysData);
- }
+ firstDayMap.keySet().forEach(key -> {
+ values.put(CLDRConverter.CALENDAR_FIRSTDAY_PREFIX+firstDayMap.get(key),
+ key);
+ });
+ minDaysMap.keySet().forEach(key -> {
+ values.put(CLDRConverter.CALENDAR_MINDAYS_PREFIX+minDaysMap.get(key),
+ key);
+ });
}
return values.isEmpty() ? null : values;
}
- /**
- * It returns either firstDay or minDays in the JRE format for the country.
- *
- * @param country territory code of the requested data
- * @param jreDataName JAVA_FIRSTDAY or JAVA_MINDAY
- * @param dataMap firstDayMap or minDaysMap
- * @return the value for the given jreDataName, or null if requested value
- * (firstDay/minDays) is not available although that is highly unlikely
- * because of the default value for the world (001).
- */
- String getWeekData(String country, final String jreDataName, final Map<String, Object> dataMap) {
- String countryValue = null;
- String defaultWorldValue = null;
- for (String key : dataMap.keySet()) {
- if (key.contains(country)) {
- if (jreDataName.equals(JAVA_FIRSTDAY)) {
- countryValue = DAY_OF_WEEK_MAP.get((String) dataMap.get(key));
- } else if (jreDataName.equals(JAVA_MINDAY)) {
- countryValue = (String) dataMap.get(key);
- }
- if (countryValue != null) {
- return countryValue;
- }
- } else if (key.contains(WORLD)) {
- if (jreDataName.equals(JAVA_FIRSTDAY)) {
- defaultWorldValue = DAY_OF_WEEK_MAP.get((String) dataMap.get(key));
- } else if (jreDataName.equals(JAVA_MINDAY)) {
- defaultWorldValue = (String) dataMap.get(key);
- }
- }
- }
- return defaultWorldValue;
- }
-
@Override
public InputSource resolveEntity(String publicID, String systemID) throws IOException, SAXException {
// avoid HTTP traffic to unicode.org
if (systemID.startsWith(CLDRConverter.SPPL_LDML_DTD_SYSTEM_ID)) {
return new InputSource((new File(CLDRConverter.LOCAL_SPPL_LDML_DTD)).toURI().toString());
@@ -150,11 +115,37 @@
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
// elements we need to actively ignore
switch (qName) {
case "firstDay":
if (!isIgnored(attributes)) {
- firstDayMap.put(attributes.getValue("territories"), attributes.getValue("day"));
+ String fd;
+
+ switch (attributes.getValue("day")) {
+ case "sun":
+ fd = "1";
+ break;
+ default:
+ case "mon":
+ fd = "2";
+ break;
+ case "tue":
+ fd = "3";
+ break;
+ case "wed":
+ fd = "4";
+ break;
+ case "thu":
+ fd = "5";
+ break;
+ case "fri":
+ fd = "6";
+ break;
+ case "sat":
+ fd = "7";
+ break;
+ }
+ firstDayMap.put(attributes.getValue("territories"), fd);
}
break;
case "minDays":
if (!isIgnored(attributes)) {
minDaysMap.put(attributes.getValue("territories"), attributes.getValue("count"));
< prev index next >