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