[ http://issues.apache.org/jira/browse/COCOON-1921?page=all ]

Carsten Ziegeler closed COCOON-1921.
------------------------------------

    Resolution: Won't Fix

We discussed this some time ago on the mailing list: the patch is not required

> A bug in org.apache.cocoon.classloader.DefaultClassLoader
> ---------------------------------------------------------
>
>                 Key: COCOON-1921
>                 URL: http://issues.apache.org/jira/browse/COCOON-1921
>             Project: Cocoon
>          Issue Type: Bug
>          Components: * Cocoon Core
>    Affects Versions: 2.2-dev (Current SVN)
>            Reporter: Rice Yeh
>
> On the implementation of loadClass(String name, boolean resolve) in 
> DefaultClassLoader , when there is no class found in child (that is, this 
> classloader) classloader, the parent's loadClass() method is called. However, 
> on present implementation it is parent.loadClass(name) called, which is the 
> java.lang.ClassLoader's loadClass() called and it uses parent-first loading 
> strategy. In order to use child-first strategy (if the parent is also a 
> DefaultClassLoader), the following patch should be applied:
> Index: 
> C:/apache/cocoon.home/svn/trunk/core/cocoon-bootstrap/src/main/java/org/apache/cocoon/classloader/DefaultClassLoader.java
> ===================================================================
> --- 
> C:/apache/cocoon.home/svn/trunk/core/cocoon-bootstrap/src/main/java/org/apache/cocoon/classloader/DefaultClassLoader.java
>  (revision 449580)
> +++ 
> C:/apache/cocoon.home/svn/trunk/core/cocoon-bootstrap/src/main/java/org/apache/cocoon/classloader/DefaultClassLoader.java
>  (working copy)
> @@ -130,7 +130,10 @@
>                      throw new ClassNotFoundException(name);
>                  } else {
>                      // Will throw a CFNE if not found in parent
> -                    clazz = parent.loadClass(name);
> +                     if (parent instanceof DefaultClassLoader)
> +                             clazz = ((DefaultClassLoader) 
> parent).loadClass(name, resolve);
> +                     else
> +                             clazz = parent.loadClass(name);
>                  }
>              }
>          }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to