commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Juozas Baliuka" <bali...@centras.lt>
Subject Re: ClassCastException raised in newFactory() method when starting from JUnit test
Date Wed, 01 May 2002 19:49:09 GMT
Hi,
I am not sure about "newFactory()", but in the most problem is like this:

  MyCass obj = Class.forName(MyCass.class.getName());

This allways throws ClassCastException if this code is loaded not by
"SystemClassLoader".
In this case we have two diferent classes, the same name but not
ClassLoader.

This is OK:
MyCass obj = Class.forName(MyCass.class.getName(),true,
MyCass.class.getClassLoader() );

Both classes have the same name and ClassLoader.

if "newFactory()" doe's "Class.forName" it must have alternatyve:
"newFactory(ClassLoader cl)" and use "cl" as parameter in "Class.forName".




----- Original Message -----
From: "Rice Yeh" <riceyeh@netscape.net>
To: ""Jakarta Commons Developers List"" <commons-dev@jakarta.apache.org>
Sent: Wednesday, May 01, 2002 2:48 PM
Subject: RE: ClassCastException raised in newFactory() method when starting
from JUnit test


> Hi,
>   Sorry, I past wrong attachement. The original one will not cause this
problem. I attache a new one, which just moves
>
>         Digester d = new Digester();
>         System.out.println("OK");
> to testLogging() method.
>
> Regards,
> Rice
>
> riceyeh@netscape.net (Rice Yeh) wrote:
>
> >Hi all,
> >
> > Just wonder why ClassCastException is raised at line 496 of LogFactory
in newFactory() method when running as a JUnit test? I found this problem
when running RequiredNameTest in commons-validator. When casting a class to
some superclass, does classloader from other thread form a namespace and so
can NOT cast it? Java language spec seems not regulate this. I have proven
this with a small program.
> > Attached are JUnit test files I use to study this problem.
> >
> >Regards,
> >Rice
> >
> >
> >__________________________________________________________________
> >Your favorite stores, helpful shopping tools and great gift ideas.
Experience the convenience of buying online with Shop@Netscape!
http://shopnow.netscape.com/
> >
> >Get your own FREE, personal Netscape Mail account today at
http://webmail.netscape.com/
> >
>
>
> __________________________________________________________________
> Your favorite stores, helpful shopping tools and great gift ideas.
Experience the convenience of buying online with Shop@Netscape!
http://shopnow.netscape.com/
>
> Get your own FREE, personal Netscape Mail account today at
http://webmail.netscape.com/
>


----------------------------------------------------------------------------
----


> /*
>  * TestSuite.java
>  * JUnit based test
>  *
>  * Created on May 1, 2002, 7:38 PM
>  */
>
> package test;
>
> import junit.framework.*;
> import org.apache.commons.digester.Digester;
>
> /**
>  *
>  * @author Rice Yeh
>  */
> public class LoggingFromDigestTest extends TestCase
> {
>
>     public LoggingFromDigestTest(java.lang.String testName)
>     {
>         super(testName);
>     }
>
>     public static void main(java.lang.String[] args)
>     {
>
>
>         junit.swingui.TestRunner.run(suite());
>     }
>
>     public void setUp()
>     {
>
>     }
>
>
>
>     public static Test suite()
>     {
>         TestSuite suite = new TestSuite(LoggingFromDigestTest.class);
>
>         return suite;
>     }
>
>     public void testLogging()
>     {
>         Digester d = new Digester();
>         System.out.println("OK");
>     }
>
>     public void tearDown()
>     {
>     }
> }
>
>


----------------------------------------------------------------------------
----


> --
> To unsubscribe, e-mail:
<mailto:commons-dev-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
<mailto:commons-dev-help@jakarta.apache.org>


--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message