[jboss-cvs] JBossAS SVN: r106097 - in projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop: instrument and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 16 17:41:17 EDT 2010


Author: flavia.rainone at jboss.com
Date: 2010-06-16 17:41:16 -0400 (Wed, 16 Jun 2010)
New Revision: 106097

Modified:
   projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/AspectManager.java
   projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/ClassicInstrumentor.java
   projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
Log:
[JBAOP-796] Add an instance(Class<?>) to AspectManager and make woven code use that method instead of instance()

Modified: projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/AspectManager.java	2010-06-16 21:04:16 UTC (rev 106096)
+++ projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/AspectManager.java	2010-06-16 21:41:16 UTC (rev 106097)
@@ -234,6 +234,12 @@
       return instance(SecurityActions.getContextClassLoader());
    }
 
+   public static synchronized AspectManager instance(Class<?> wovenClass)
+   {
+      ClassLoader classLoader = SecurityActions.getClassLoader(wovenClass);
+      return instance(classLoader);
+   }
+
    /**
     * Get the aspect manager for a classloader
     *

Modified: projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/ClassicInstrumentor.java
===================================================================
--- projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/ClassicInstrumentor.java	2010-06-16 21:04:16 UTC (rev 106096)
+++ projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/ClassicInstrumentor.java	2010-06-16 21:41:16 UTC (rev 106097)
@@ -169,11 +169,13 @@
    
    private void addHelperField(CtClass clazz) throws CannotCompileException, NotFoundException
    {
+      String className = clazz.getName();
       addStaticField(clazz,
                      ClassicInstrumentor.HELPER_FIELD_NAME,
                      ClassicInstrumentor.HELPER_CLASS_NAME,
-                     CtField.Initializer.byExpr(ASPECT_MANAGER_CLASS_NAME + ".instance().getAdvisor(java.lang.Class#forName(\"" +
-                                                clazz.getName() + "\"))"));
+                     CtField.Initializer.byExpr(ASPECT_MANAGER_CLASS_NAME + ".instance(java.lang.Class#forName(\"" +
+                                                className + "\"))).getAdvisor(java.lang.Class#forName(\"" +
+                                                className + "\"))"));
    }
 
    /**

Modified: projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
===================================================================
--- projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2010-06-16 21:04:16 UTC (rev 106096)
+++ projects/aop/branches/JBoss_AOP_2_1_6_GA_CP/aop/src/main/java/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java	2010-06-16 21:41:16 UTC (rev 106097)
@@ -440,7 +440,7 @@
       ctor.setBody(
             "{" +
             "   super(\"" + clazz.getName() + "\"); " +
-            "   initialise(org.jboss.aop.AspectManager.instance(org.jboss.aop.advice.SecurityActions.getClassLoader(this.getClass())), false);" + //Use the CL of the class, since we may be in a scoped loader
+            "   initialise(org.jboss.aop.AspectManager.instance(this.getClass()), false);" + //Use the CL of the class, since we may be in a scoped loader
             "}");
       genadvisor.addConstructor(ctor);
 



More information about the jboss-cvs-commits mailing list