[jboss-cvs] JBossAS SVN: r100489 - in projects/jboss-classpool/trunk: jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 5 08:40:24 EST 2010


Author: flavia.rainone at jboss.com
Date: 2010-02-05 08:40:22 -0500 (Fri, 05 Feb 2010)
New Revision: 100489

Modified:
   projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/plugins/AbstractJBossClassPoolFactory.java
   projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/JBossClDelegatingClassPoolFactory.java
Log:
[JBREFLECT-95] Added an if (classloader == null) continue condition to registerBootstrapClassLoaders method and removed the unneeded if (cl == null) condition from AbstractJBossClassPoolFactory.getCreateParentClassPools method

Modified: projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/plugins/AbstractJBossClassPoolFactory.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/plugins/AbstractJBossClassPoolFactory.java	2010-02-05 13:35:11 UTC (rev 100488)
+++ projects/jboss-classpool/trunk/classpool/src/main/java/org/jboss/classpool/plugins/AbstractJBossClassPoolFactory.java	2010-02-05 13:40:22 UTC (rev 100489)
@@ -38,16 +38,20 @@
 {
    protected final Logger log = Logger.getLogger(this.getClass().getName());
    
+   /**
+    * Creates the entire parent class pool chain of the ClassPool corresponding to
+    * {@code cl}. 
+    * 
+    * @param cl          the ClassLoader whose corresponding ClassPool is being created.
+    *                    Should not be null
+    * @param src
+    * @param repository
+    * @return
+    * @throws NullPointerException if {@code cl} is null
+    */
    protected ClassPool getCreateParentClassPools(final ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository)
    {
-      //Make sure that we get classpools for all the parent classloaders
-      // TODO remove this?
-      if (cl == null)
-      {
-         return defaultClassPool;
-      }
       ClassLoader parent = SecurityActions.getParent(cl);
-
       if (parent != null)
       {
          return repository.registerClassLoader(parent);

Modified: projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/JBossClDelegatingClassPoolFactory.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/JBossClDelegatingClassPoolFactory.java	2010-02-05 13:35:11 UTC (rev 100488)
+++ projects/jboss-classpool/trunk/jbosscl/src/main/java/org/jboss/classpool/plugins/jbosscl/JBossClDelegatingClassPoolFactory.java	2010-02-05 13:40:22 UTC (rev 100489)
@@ -40,6 +40,7 @@
 import org.jboss.classpool.plugins.NonDelegatingClassPool;
 import org.jboss.classpool.plugins.temp.TempClassPoolFactory;
 import org.jboss.classpool.spi.AbstractClassPool;
+import org.jboss.classpool.spi.AbstractClassPoolFactory;
 
 /**
  * 
@@ -60,6 +61,7 @@
       this.registerModuleCallback = registerModuleCallback;
    }
    
+   @Override
    public synchronized AbstractClassPool create(ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository)
    {
       if (this.currentClassLoaders.contains(cl))
@@ -158,18 +160,6 @@
       return poolDomain;
    }
    
-   @Override
-   protected ClassPool getCreateParentClassPools(ClassLoader cl, ClassPool src, ScopedClassPoolRepository repository)
-   {
-      ClassPool parent = super.getCreateParentClassPools(cl, src, repository);
-      if (parent == ClassPool.getDefault())
-      {
-         //In AS BaseClassLoader seems to normally have a null parent
-         return null;
-      }
-      return parent;
-   }
-   
    private void registerBootstrapLoaders(Module skip, ScopedClassPoolRepository repository)
    {
       Collection<Module> unregistered = registerModuleCallback.getUnregisteredModules();
@@ -182,7 +172,7 @@
                continue;
             }
             ClassLoader loader = getClassLoaderForModule(module);
-            if (this.currentClassLoaders.contains(loader))
+            if (loader == null || this.currentClassLoaders.contains(loader))
             {
                continue;
             }




More information about the jboss-cvs-commits mailing list