[jboss-cvs] JBossAS SVN: r107435 - projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 5 06:11:50 EDT 2010


Author: alesj
Date: 2010-08-05 06:11:50 -0400 (Thu, 05 Aug 2010)
New Revision: 107435

Modified:
   projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java
Log:
Also blacklist non-allexports.

Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java	2010-08-05 09:56:18 UTC (rev 107434)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderDomain.java	2010-08-05 10:11:50 UTC (rev 107435)
@@ -1578,11 +1578,14 @@
       else
       {
          BaseClassLoaderPolicy policy = classLoader.getPolicy();
-         ClassLoaderCache cache = policy.getCache();
-         if (cache != null)
+         if (policy != null)
          {
-            Loader loader = cache.getCachedLoader(path);
-            return (loader != null) ? loader.loadClass(name) : null;
+            ClassLoaderCache cache = policy.getCache();
+            if (cache != null)
+            {
+               Loader loader = cache.getCachedLoader(path);
+               return (loader != null) ? loader.loadClass(name) : null;
+            }
          }
       }
       return null;
@@ -1602,14 +1605,31 @@
     */
    void checkClassBlackList(BaseClassLoader classLoader, String name, String path, boolean allExports, boolean failIfBlackListed) throws ClassNotFoundException
    {
-      if (allExports)
+      if (failIfBlackListed)
       {
-         if (failIfBlackListed && isBlackListedClass(path))
+         if (allExports)
          {
-            if (log.isTraceEnabled())
-               log.trace("Found " + name + " in global blacklist");
-            throw new ClassNotFoundException(name + " not found - blacklisted");
+            if (isBlackListedClass(path))
+            {
+               if (log.isTraceEnabled())
+                  log.trace("Found " + name + " in global blacklist");
+               throw new ClassNotFoundException(name + " not found - blacklisted");
+            }
          }
+         else
+         {
+            BaseClassLoaderPolicy policy = classLoader.getPolicy();
+            if (policy != null)
+            {
+               ClassLoaderCache cache = policy.getCache();
+               if (cache != null && cache.isBlackListedClass(path))
+               {
+                  if (log.isTraceEnabled())
+                     log.trace("Found " + name + " in policy cache blacklist: " + cache.getInfo(ImportType.ALL));
+                  throw new ClassNotFoundException(name + " not found - blacklisted");
+               }
+            }
+         }
       }
    }
    



More information about the jboss-cvs-commits mailing list