[jboss-cvs] JBossAS SVN: r85562 - projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 6 12:40:19 EST 2009


Author: kabir.khan at jboss.com
Date: 2009-03-06 12:40:18 -0500 (Fri, 06 Mar 2009)
New Revision: 85562

Modified:
   projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java
Log:
[JBAOP-709] Get rid of reflection hack since jbcl-78 has been released

Modified: projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java	2009-03-06 17:39:27 UTC (rev 85561)
+++ projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java	2009-03-06 17:40:18 UTC (rev 85562)
@@ -21,7 +21,6 @@
 */ 
 package org.jboss.aop.classpool.jbosscl;
 
-import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -41,7 +40,6 @@
 import org.jboss.aop.classpool.ClassPoolDomain;
 import org.jboss.aop.classpool.DelegatingClassPool;
 import org.jboss.aop.util.ClassLoaderUtils;
-import org.jboss.classloader.spi.DelegateLoader;
 import org.jboss.classloader.spi.ParentPolicy;
 import org.jboss.classloading.spi.dependency.Module;
 
@@ -207,29 +205,18 @@
 
    private CtClass getCtClassFromModule(Module module, String classname, boolean trace)
    {
-      //FIXME Hack to work with both snapshot fix for JBCL-78 and what currently exists in the API
-      //Remove once JBCL-78 is released
-      CtClass clazz = getCtClassFromModuleHack(module, classname, trace);
-      if (clazz != null)
-      {
-         return clazz;
-      }
-      return getCtClassFromDelegates(module, classname, trace);
-   }
-
-   //TODO This should not use reflection once JBCL-78 has been released
-   private CtClass getCtClassFromModuleHack(Module module, String classname, boolean trace)
-   {
-      Module found = null;
+      Module found;
       try
       {
-         Method m = Module.class.getMethod("getModuleForClass", String.class);
-         found = (Module)m.invoke(module, ClassLoaderUtils.stripArrayFromClassName(classname));
-         if (trace) logger.trace(this + " module for " + classname + " " + found);
+         found = module.getModuleForClass(ClassLoaderUtils.stripArrayFromClassName(classname));
       }
-      catch (Exception e1)
+      catch (ClassNotFoundException e1)
       {
+         throw new RuntimeException(e1);
       }
+
+      if (trace) logger.trace(this + " module for " + classname + " " + found);
+
       if (found == null || found == module)
       {
          return null;
@@ -249,63 +236,4 @@
       }
       return null;
    }
-   
-   //TODO Delete this once JBCL-78 has been released
-   private CtClass getCtClassFromDelegates(Module module, String classname, boolean trace)
-   {
-      List<? extends DelegateLoader> delegates = module.getDelegates();
-      if (delegates != null && delegates.size() > 0)
-      {
-         for (DelegateLoader delegate : delegates)
-         {
-            //TODO This is a hack, need a proper API in jboss-cl
-            System.err.println("HACK in JBossClClassPoolDomain");
-            ClassLoader loader = getBaseClassLoaderFromDelegateHack(delegate);
-            
-            //TODO Should be a nicer way to do this
-            ClassPool pool = manager.findClassPool(loader);
-            try
-            {
-               return pool.get(classname);
-            }
-            catch(NotFoundException e)
-            {
-            }
-         }
-      }
-      return null;
-   }
-   
-   //TODO Delete this once JBCL-78 has been released
-   private static ClassLoader getBaseClassLoaderFromDelegateHack(DelegateLoader loader)
-   {
-      Class<?> clazz = loader.getClass();
-      Method m = null;
-      while (clazz != Object.class)
-      {
-         try
-         {
-            m = clazz.getDeclaredMethod("getBaseClassLoader", String.class, String.class);
-            m.setAccessible(true);
-            break;
-         }
-         catch(Exception e)
-         {
-            clazz = clazz.getSuperclass();
-         }
-      }
-      if (m == null)
-      {
-         return null;
-      }
-      try
-      {
-         return (ClassLoader)m.invoke(loader, "a BaseClassLoader", "");
-      }
-      catch(Exception e)
-      {
-         return null;
-      }
-   }
-   
 }




More information about the jboss-cvs-commits mailing list