The latest CLDR data introduces the concept of a 'metazone'.
This patch adds these translations to our property files.
ChangeLog:
2008-07-03 Andrew John Hughes <[EMAIL PROTECTED]>
* Makefile.am:
Turn off bytecode compilation during native build.
* src/gnu/ldml/Parser.java:
Record data in metazone element.
* src/gnu/localegen/PropertiesGenerator.java:
Incorporate metazone data as well in timezone translations.
--
Andrew :)
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
Index: Makefile.am
===================================================================
RCS file: /sources/classpath/cp-tools/Makefile.am,v
retrieving revision 1.14
diff -u -u -r1.14 Makefile.am
--- Makefile.am 29 Jun 2008 12:49:19 -0000 1.14
+++ Makefile.am 3 Jul 2008 21:25:51 -0000
@@ -18,13 +18,6 @@
GCJCOMPILE = $(LIBGCJCOMPILE) -MF $(@:.o=.d)
LTGCJCOMPILE = $(LIBGCJCOMPILE) -MF $(@:.lo=.d)
-data_JARS = cpgenerators-$(VERSION).jar
-if USE_GNUBYTECODE
-data_JARS += cptools-$(VERSION).jar
-endif
-
-BUILT_SOURCES = $(data_JARS)
-
if ENABLE_GCJ_BINARY
bin_PROGRAMS = localegen currencygen
lib_LTLIBRARIES = libcpgenerators.la
@@ -36,8 +29,11 @@
endif
else
bin_SCRIPTS = bin/localegen bin/currencygen
+data_JARS = cpgenerators-$(VERSION).jar
+BUILT_SOURCES = $(data_JARS)
if USE_GNUBYTECODE
bin_SCRIPTS += bin/gjavap bin/gjavah
+data_JARS += cptools-$(VERSION).jar
endif
endif
@@ -91,7 +87,7 @@
if ENABLE_GCJ_BINARY
libcptools_la_SOURCES = $(cptools_jar_SOURCES)
-endif
+else
cptools_jar_CLASSES = $(patsubst
src/%.java,classes/%.class,$(cptools_jar_SOURCES))
@@ -110,6 +106,8 @@
$(cptools_jar_CLASSES): classes/gnu/%.class: $(srcdir)/src/gnu/%.java
$(JAVAC) $(MY_JAVAC_FLAGS) -d classes $<
+
+endif
endif
localegen_java_files = \
@@ -138,8 +136,7 @@
if ENABLE_GCJ_BINARY
libcpgenerators_la_SOURCES = $(cpgenerators_jar_SOURCES)
-endif
-
+else
cpgenerators_jar_CLASSES = $(patsubst
src/%.java,classes/%.class,$(cpgenerators_jar_SOURCES))
cpgenerators-$(VERSION).jar: createdirectories $(cpgenerators_jar_CLASSES)
@@ -149,6 +146,7 @@
$(cpgenerators_jar_CLASSES): classes/gnu/%.class: $(srcdir)/src/gnu/%.java
$(JAVAC) $(MY_JAVAC_FLAGS) -d classes $<
+endif
createdirectories:
mkdir -p classes
@@ -156,6 +154,7 @@
clean-local:
rm -rf classes $(data_JARS)
+if !ENABLE_GCJ_BINARY
install-data-hook:
$(INSTALL) -d $(datadir)/cp-tools
$(INSTALL) --mode 644 $(data_JARS) $(datadir)/cp-tools
@@ -163,6 +162,7 @@
if [ -e cptools-$(VERSION).jar ]; then \
$(LN_S) -f $(datadir)/cp-tools/cptools-$(VERSION).jar
$(datadir)/cp-tools/cptools.jar; \
fi
+endif
test: tests/%.class $(srcdir)/src/test/%.java
$(JAVAC) -g -d tests $<
Index: src/gnu/ldml/Parser.java
===================================================================
RCS file: /sources/classpath/cp-tools/src/gnu/ldml/Parser.java,v
retrieving revision 1.7
diff -u -u -r1.7 Parser.java
--- src/gnu/ldml/Parser.java 6 Mar 2005 21:58:58 -0000 1.7
+++ src/gnu/ldml/Parser.java 3 Jul 2008 21:25:52 -0000
@@ -618,6 +618,9 @@
allElements.put("standard", new Data());
allElements.put("daylight", new Data());
allElements.put("examplarCity", new Data());
+ allElements.put("metazone", new DetailedList());
+ allElements.put("commonlyUsed", new Group());
+ allElements.put("special", new Group());
allElements.put("territories", new GroupList());
allElements.put("currencies", new GroupList());
allElements.put("currency", new DetailedList());
Index: src/gnu/localegen/PropertiesGenerator.java
===================================================================
RCS file:
/sources/classpath/cp-tools/src/gnu/localegen/PropertiesGenerator.java,v
retrieving revision 1.5
diff -u -u -r1.5 PropertiesGenerator.java
--- src/gnu/localegen/PropertiesGenerator.java 30 Jun 2008 00:32:09 -0000
1.5
+++ src/gnu/localegen/PropertiesGenerator.java 3 Jul 2008 21:25:52 -0000
@@ -55,6 +55,10 @@
"zone.short.standard",
"zone.long.daylight",
"zone.short.daylight" };
+ private static final String[] classpathMetazoneOrder = {
"metazone.long.standard",
+
"metazone.short.standard",
+ "metazone.long.daylight",
+
"metazone.short.daylight" };
private static final String collatorIdentifiers = "<=,;@&!";
/*
@@ -330,7 +334,7 @@
public void generateContent(PrintWriter o)
{
int index;
-
+
Enumeration keys = listElt.listData.keys();
StringBuffer buffer = new StringBuffer();
buffer.append("zoneStrings=");
@@ -352,6 +356,8 @@
for (int j = 0; j < classpathZoneOrder.length; j++)
{
zoneData = (DataElement)zoneTable.get(classpathZoneOrder[j]);
+ if (zoneData == null)
+ zoneData = (DataElement) zoneTable.get(classpathMetazoneOrder[j]);
if (zoneData != null)
{
buffer2.append(convertToJavaString(zoneData.data));