diff options
author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-07-07 22:10:42 +0000 |
---|---|---|
committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-07-07 22:10:42 +0000 |
commit | 4fc2d39cc1d861176fd8207116613bd3764fbe0d (patch) | |
tree | a3541bbcbedab2ac01632126c065b03f7be44514 /java | |
parent | 1e0961eb9dda05a8c2b2b84f5970fb7672411069 (diff) | |
download | classpath-4fc2d39cc1d861176fd8207116613bd3764fbe0d.tar.gz |
Add missing standard zone names.
2008-07-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/text/DateFormatSymbols.java:
(getZoneStrings(ResourceBundle,Locale)):
Handle missing standard zone names.
Diffstat (limited to 'java')
-rw-r--r-- | java/text/DateFormatSymbols.java | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/java/text/DateFormatSymbols.java b/java/text/DateFormatSymbols.java index cdd95ff2f..ed953dd07 100644 --- a/java/text/DateFormatSymbols.java +++ b/java/text/DateFormatSymbols.java @@ -174,7 +174,32 @@ public class DateFormatSymbols implements java.io.Serializable, Cloneable LocaleHelper.getFallbackLocale(res.getLocale()), ClassLoader.getSystemClassLoader()); } - allZones.addAll(systemZones.values()); + /* Final sanity check for missing values */ + for (String[] zstrings : systemZones.values()) + { + if (zstrings[1].equals("") && zstrings[2].equals("")) + { + for (Map.Entry<Object,Object> entry : properties.entrySet()) + { + String val = (String) entry.getValue(); + if (val.equals(zstrings[0])) + { + String key = (String) entry.getKey(); + String metazone = key.substring(0, key.indexOf(".")); + String type = properties.getProperty(metazone + "." + locale.getCountry()); + if (type == null) + type = properties.getProperty(metazone + ".DEFAULT"); + if (type != null) + { + String[] ostrings = systemZones.get(type); + zstrings[1] = ostrings[1]; + zstrings[2] = ostrings[2]; + } + } + } + } + } + allZones.addAll(systemZones.values()); } catch (MissingResourceException e) { |