You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by pc...@apache.org on 2004/01/28 01:57:52 UTC
cvs commit: xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/compile Java2Schema.java
pcal 2004/01/27 16:57:52
Modified: v2/src/binding/org/apache/xmlbeans/impl/binding/bts
JavaTypeName.java
v2/src/binding/org/apache/xmlbeans/impl/binding/compile
Java2Schema.java
Log:
workaround 1.5 array type classloading problem
Revision Changes Path
1.3 +15 -4 xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/JavaTypeName.java
Index: JavaTypeName.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/bts/JavaTypeName.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JavaTypeName.java 16 Dec 2003 09:55:05 -0000 1.2
+++ JavaTypeName.java 28 Jan 2004 00:57:52 -0000 1.3
@@ -60,6 +60,7 @@
import org.apache.xmlbeans.impl.jam.internal.PrimitiveJClass;
import org.apache.xmlbeans.XmlObject;
import java.io.StringWriter;
+import java.lang.reflect.Array;
/**
* Represents a Java class name, and provides some utility methods
@@ -274,19 +275,29 @@
if (out != null) return out;
return loader.loadClass(s);
} else {
+ String s = toString();
+ Class clazz = PrimitiveJClass.getPrimitiveClass(s);
+ if (clazz == null) clazz = loader.loadClass(s);
+ int[] dimensions = new int[d];
+ return Array.newInstance(clazz,dimensions).getClass();
+
+ /* THIS IS COMMENTED OUT BECAUSE IT IS BROKEN ON THE CURRENT 1.5 BETA
+ SEE SUN BUG 4983838. IT'S NOT CLEAR WHETHER OR NOT THEY'RE GOING
+ TO FIX IT. MAYBE THE WORKAROUND IS BETTER ANYWAY, THOUGH :(
StringWriter buff = new StringWriter();
for(int i=0; i<d; i++) buff.write("[");
String s = toString();
s = s.substring(0,s.indexOf("["));
String fd = PrimitiveJClass.getFieldDescriptor(s);
if (fd != null) {
- buff.write(fd);
+ buff.write(fd);
} else {
- buff.write("L");
- buff.write(s);
- buff.write(";");
+ buff.write("L");
+ buff.write(s);
+ buff.write(";");
}
return loader.loadClass(buff.toString());
+ */
}
}
}
1.27 +11 -10 xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/compile/Java2Schema.java
Index: Java2Schema.java
===================================================================
RCS file: /home/cvs/xml-xmlbeans/v2/src/binding/org/apache/xmlbeans/impl/binding/compile/Java2Schema.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- Java2Schema.java 22 Jan 2004 01:23:54 -0000 1.26
+++ Java2Schema.java 28 Jan 2004 00:57:52 -0000 1.27
@@ -82,19 +82,20 @@
private static final String JAVA_NAMESPACE_URI = "language_builtins";
private static final String JAVA_PACKAGE_PREFIX = "java.";
- private static final String TAG_CT = "xsdgen:complexType";
- private static final String TAG_CT_TYPENAME = TAG_CT+".typeName";
- private static final String TAG_CT_TARGETNS = TAG_CT+".targetNamespace";
- private static final String TAG_CT_ROOT = TAG_CT+".rootElement";
+ public static final String TAG_CT = "xsdgen:complexType";
+ public static final String TAG_CT_TYPENAME = TAG_CT+".typeName";
+ public static final String TAG_CT_TARGETNS = TAG_CT+".targetNamespace";
+ public static final String TAG_CT_ROOT = TAG_CT+".rootElement";
private static final String TAG_EL = "xsdgen:element";
- private static final String TAG_EL_NAME = TAG_EL+".name";
- private static final String TAG_EL_NILLABLE = TAG_EL+".nillable";
- private static final String TAG_EL_EXCLUDE = TAG_EL+".exclude";
- private static final String TAG_EL_ASTYPE = TAG_EL+".astype";
- private static final String TAG_AT = "xsdgen:attribute";
- private static final String TAG_AT_NAME = TAG_AT+".name";
+ public static final String TAG_EL_NAME = TAG_EL+".name";
+ public static final String TAG_EL_NILLABLE = TAG_EL+".nillable";
+ public static final String TAG_EL_EXCLUDE = TAG_EL+".exclude";
+ public static final String TAG_EL_ASTYPE = TAG_EL+".astype";
+
+ public static final String TAG_AT = "xsdgen:attribute";
+ public static final String TAG_AT_NAME = TAG_AT+".name";
// =========================================================================
// Variables
---------------------------------------------------------------------
To unsubscribe, e-mail: xmlbeans-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xmlbeans-cvs-help@xml.apache.org