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" <[EMAIL PROTECTED]>
To: ""Jakarta Commons Developers List"" <[EMAIL PROTECTED]>
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
>
> [EMAIL PROTECTED] (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:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>