[jboss-cvs] JBossAS SVN: r77245 - in projects/aop/trunk/aop/src/main/org/jboss/aop: pointcut and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 20 10:24:02 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-08-20 10:24:02 -0400 (Wed, 20 Aug 2008)
New Revision: 77245

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/ClassContainer.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/CFlow.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java
Log:
[JBAOP-625] Guess the classloader better than simply using the TCL

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassContainer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassContainer.java	2008-08-20 14:02:22 UTC (rev 77244)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassContainer.java	2008-08-20 14:24:02 UTC (rev 77245)
@@ -59,12 +59,21 @@
       super(name, manager);
    }
 
+   @SuppressWarnings("deprecation")
+   public void initializeClassContainer(Class<?> clazz)
+   {
+      setClass(clazz);
+      initializeClassContainer();
+   }
+   
+   @Deprecated
    public void initializeClassContainer()
    {
       initializeMetadata();
       rebuildInterceptors();
    }
 
+   @Deprecated
    public void setClass(Class<?> clazz)
    {
       this.clazz = clazz;
@@ -79,7 +88,7 @@
       rebindClassMetaData();
       deployAnnotationOverrides();
    }
-
+   
    protected Field[] advisedFields;
 
    private void populateFieldTable(ArrayList<Field> fields, final Class<?> superclass)

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/CFlow.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/CFlow.java	2008-08-20 14:02:22 UTC (rev 77244)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/CFlow.java	2008-08-20 14:24:02 UTC (rev 77245)
@@ -121,31 +121,19 @@
       }
       else
       {
-         try
+         Class<?> clazz = SecurityActions.loadClass(element.getClassName());
+         
+         if (Untransformable.class.isAssignableFrom(clazz))
          {
-            Class<?> clazz = cl.loadClass(element.getClassName());
-            
-            if (Untransformable.class.isAssignableFrom(clazz))
-            {
-               //Invocation classes should not be checked (they are not in the cache at runtime)
-               return false;
-            }
-            if (!Util.matchesClassExpr(expr, clazz))
-            {
-               return false;
-            }
+            //Invocation classes should not be checked (they are not in the cache at runtime)
+            return false;
          }
-         catch(ClassNotFoundException e)
+         if (!Util.matchesClassExpr(expr, clazz))
          {
-            throw new RuntimeException(e);
+            return false;
          }
       }
       
       return true;
    }
-   
-   private Class<?> loadClass(String name)
-   {
-      return SecurityActions.loadClass(name);
-   }
 }

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java	2008-08-20 14:02:22 UTC (rev 77244)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ClassProxyContainer.java	2008-08-20 14:24:02 UTC (rev 77245)
@@ -167,8 +167,10 @@
       return ia;
    }
 
+   @SuppressWarnings("deprecation")
    public void initialise(Class<?> proxiedClass)
    {
+      
       setClass(proxiedClass);
       ((ProxyAdvisorDomain)manager).attachAdvisor();
       initializeInterfaceIntroductions(proxiedClass);




More information about the jboss-cvs-commits mailing list