Christophe,

 

Can you please create a new Jira issue at 

 

http://jira.codehaus.org/browse/CASTOR

 

and attach all relevant findings there ? Once you have done that, I think we 
shall have a short discussion within the context of this bug.

 

Regards

Werner

 

________________________________

Von: Christophe Assemat [mailto:[EMAIL PROTECTED] 
Gesendet: Freitag, 11. Mai 2007 14:45
An: [email protected]
Betreff: Re: AW: AW: [castor-user] [XML] unable to instantiate [I; 
java.lang.ClassNotFoundException: [I

 

Hi Werner,

Here is the patch (file is : 
castor-X.Y.Z/src/main/java/org/exolab/castor/xml/UnmarshalHandler.java)
(of course you will need to recompile castor ... : 'ant clean' followed by 'ant 
jar' will do the job)

==============================================================
    /**
     * Loads and returns the class with the given class name using the
     * given loader.
     * @param className the name of the class to load
     * @param loader the ClassLoader to use, this may be null.
     * *********************************************************************
     * PATCH : C.Assemat - 11/05/2007 due to the bug of loadClass in JDK 1.6
     * *********************************************************************
    **/
    private Class loadClass(String className, ClassLoader loader)
        throws ClassNotFoundException
    {
    // -- patch only if jdk 1.6 AND 'array class'
    if ( className.startsWith("[") )
        return Class.forName(className);
        //-- use passed in loader
    else if ( loader != null )
        return loader.loadClass(className);
    //-- use internal loader
    else if (_loader != null)
        return _loader.loadClass(className);
    //-- no loader available use Class.forName
    return Class.forName(className);
    } //-- loadClass
==============================================================

Cheers,

C.Assemat

PS: if someone here is more aware of the Castor's codebase and procedures, he 
could enter
the bug in some bug's repository and register the patch.

Werner Guttmann wrote:



Thanks a lot for reporting this (re)solution back to us.
 
Werner
 
Christophe Assemat wrote:
  

        Hi Werner,
         
        I think i have found the problem... it's a bug of jdk 1.6 ... (here the
        example is with an array of String but it's the same
        with any array) :
         
        http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434149
         
         
        
================================================================================
        Bug ID:        6434149
        Votes     45
        Synopsis     (cl) ClassLoader.loadClass() throws
        java.lang.ClassNotFoundException: [Ljava.lang.String; in JDK 6.0
        Category     java:classes_lang
        Reported Against    
        Release Fixed    
        State     In progress, bug
        Related Bugs     6446627 , 6466061 , 6500212 , 6516909 , 6518862
        Submit Date     05-JUN-2006
        Description    
         
        Consider this simple test program:
         
          public class test {
         
              public static void main(String[] args) throws Exception {
         
                  String[] s = new String[] { "123" };
                  String clName = s.getClass().getName();
                  test.class.getClassLoader().loadClass(clName);
              }
          }
         
        This runs fine on JDK 1.5, but throws this exception on JDK 6.0:
         
        Exception in thread "main" java.lang.ClassNotFoundException:
        [Ljava.lang.String;
                at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
                at java.security.AccessController.doPrivileged(Native Method)
                at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
                at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
                at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
                at test.main(test.java:7)
        Posted Date : 2006-06-05 21:54:58.0
         
         
        Submitted On 08-MAY-2007
        Sean.Ho
         
        This bug is very severe. We need it to be fixed ASAP.
         
        Submitted On 10-MAY-2007
         
        Fix it soon...........
        
================================================================================
         
        Strangely the bug was posted in June 2006 ... one year ago !
        Thanks for the help
         
        Chris
         
        PS: I'm looking for a workaround until the bug is fixed by Sun. I'll let
        you know what i have found.
         
        Werner Guttmann wrote:
            

                Not really, to be honest, ut maybe somebody else can provide his
                (historical) views. Personally, I would be very surprised to 
find
                Java-specific notations in an xsi:type attribute ..... what 
surprises me
                is that it seems to work.
                 
                 
                 
                Werner
                 
                 
                 
                
------------------------------------------------------------------------
                 
                *Von:* Christophe Assemat [mailto:[EMAIL PROTECTED]
                *Gesendet:* Donnerstag, 10. Mai 2007 12:34
                *An:* [email protected]
                *Betreff:* Re: AW: [castor-user] [XML] unable to instantiate [I;
                java.lang.ClassNotFoundException: [I
                 
                 
                 
                Hi Werner,
                 
                I'm indeed using a mapping file (i can extract from it mapping
                information related to the xml showned in my email). But first, 
could
                you tell
                me if the 'xsi:type="java:[I"' notation found in the xml is 
(seems)
                correct ?
                 
                Thanks,
                 
                Chris
                 
                Werner Guttmann wrote:
                 
                That's truly an odd one .. ;-). A few random questions, just to 
establish a context for me. Are you using a mapping file ? If not, is this 
discussion based upon Java classes that have been generated from an XML schema 
? Or are you using Castor XML without a mapping file, relying on default 
introspection ? 
                 
                Werner
                 
                  
                      

                        -----Ursprüngliche Nachricht-----
                        Von: Christophe Assemat [mailto:[EMAIL PROTECTED]
                        Gesendet: Donnerstag, 10. Mai 2007 11:34
                        An: [email protected] 
<mailto:[email protected]> <mailto:[email protected]> 
                        Betreff: [castor-user] [XML] unable to instantiate [I;
                        java.lang.ClassNotFoundException: [I
                         
                        Hi,
                         
                        I have an application running perfectly with jre 1.5.xx 
but which fails
                        when i try to use
                        jre 1.6. While trying to 'unmarshal' an xml previously 
marshalled
                        object, it fails :
                         
                        unable to instantiate [I; 
java.lang.ClassNotFoundException: [I
                        ...
                         
                        Part of the xml concerned looks like :
                         
                        <targetmap internalkey="33">
                        <range xsi:type="java:[I">
                         <integer>12345</integer>
                         <integer>34567</integer>
                        </range>
                        <range ...>
                        ...
                        </range>
                        ...
                        </targetmap>
                         
                        I'm still using 'castor-1.0.2' version and i'm planning 
to move to
                        'castor-1.1.1' but anyhow i would like to understand why
                        this problem arises.
                         
                        Cheers
                         
                        C.ASSEMAT
                        GenomeQuest Inc.
                         
                         
                         
                        
---------------------------------------------------------------------
                        To unsubscribe from this list please visit:
                         
                            http://xircles.codehaus.org/manage_email
                            
                                

                 
                 
                
---------------------------------------------------------------------
                To unsubscribe from this list please visit:
                 
                    http://xircles.codehaus.org/manage_email
                 
                 
                  
                 
                 
                 
                
---------------------------------------------------------------------
                To unsubscribe from this list please visit:
                http://xircles.codehaus.org/manage_email 
                      

        --------------------------------------------------------------------- To
        unsubscribe from this list please visit:
        http://xircles.codehaus.org/manage_email
            

 
 
---------------------------------------------------------------------
To unsubscribe from this list please visit:
 
    http://xircles.codehaus.org/manage_email
 
 
  

 

--------------------------------------------------------------------- To 
unsubscribe from this list please visit: 
http://xircles.codehaus.org/manage_email

Reply via email to