[jboss-cvs] JBossAS SVN: r87299 - in projects/aop/trunk: aop/src/main/java/org/jboss/aop/advice and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 14 12:57:03 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-04-14 12:57:03 -0400 (Tue, 14 Apr 2009)
New Revision: 87299

Added:
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/ClassicWeavingTestCase.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/GeneratedAdvisorWeavingTestCase.java
Modified:
   projects/aop/trunk/aop/src/main/java/org/jboss/aop/Advisor.java
   projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/AdviceFactory.java
   projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/PerVmAdvice.java
   projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/ScopedInterceptorFactory.java
   projects/aop/trunk/asintegration-mc/.classpath
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/interceptions/Interceptions.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/FoundInvoker.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClass.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClassJoinpoint.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerInstance.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerJoinpoint.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerVm.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/NotFoundInvoker.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/WeavingTest.java
Log:
[JBAOP-707] Add test for classic weaving

Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/Advisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/Advisor.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/Advisor.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -40,7 +40,6 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArraySet;
 
 import javassist.CtClass;
 import javassist.CtConstructor;

Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/AdviceFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/AdviceFactory.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/AdviceFactory.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -103,7 +103,7 @@
       {
          try
          {
-            return PerVmAdvice.generateOptimized(joinpoint, advisor.getManager(), advice, aspect);
+            return PerVmAdvice.generateOptimized(joinpoint, advisor.getManager(), advice, aspect, advisor);
          }
          catch (Exception e)
          {

Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/PerVmAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/PerVmAdvice.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/PerVmAdvice.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -34,6 +34,7 @@
 import javassist.CtNewConstructor;
 import javassist.CtNewMethod;
 
+import org.jboss.aop.Advisor;
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.instrument.TransformerCommon;
 import org.jboss.aop.joinpoint.Joinpoint;
@@ -48,7 +49,12 @@
 {
    public static synchronized Interceptor generateOptimized(Joinpoint joinpoint, AspectManager manager, String adviceName, AspectDefinition a) throws Exception
    {
-      Object aspect = manager.getPerVMAspect(a);
+      return generateOptimized(joinpoint, manager, adviceName, a, null);
+   }
+
+   public static synchronized Interceptor generateOptimized(Joinpoint joinpoint, AspectManager manager, String adviceName, AspectDefinition a, Advisor advisor) throws Exception
+   {
+      Object aspect = manager.getPerVMAspect(a, advisor);
       if (aspect == null)
       {
          return null;

Modified: projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/ScopedInterceptorFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/ScopedInterceptorFactory.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/aop/src/main/java/org/jboss/aop/advice/ScopedInterceptorFactory.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -66,7 +66,7 @@
    {
       if (aspect.getScope() == Scope.PER_VM)
       {
-         return (Interceptor) advisor.getManager().getPerVMAspect(aspect);
+         return (Interceptor) advisor.getManager().getPerVMAspect(aspect, advisor);
       }
       else if (aspect.getScope() == Scope.PER_CLASS)
       {

Modified: projects/aop/trunk/asintegration-mc/.classpath
===================================================================
--- projects/aop/trunk/asintegration-mc/.classpath	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/.classpath	2009-04-14 16:57:03 UTC (rev 87299)
@@ -3,7 +3,7 @@
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
 	<classpathentry excluding="org/jboss/test/aop/classpool/jbosscl/support/excluded/|org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/" kind="src" output="target/test-classes" path="src/test/java"/>
-	<!-- classpathentry kind="src" output="target/test-classes" path="src/test/java"/> -->
+	<!--classpathentry kind="src" output="target/test-classes" path="src/test/java"/-->
 	<classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1.1/activation-1.1.1.jar"/>

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/interceptions/Interceptions.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/interceptions/Interceptions.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/interceptions/Interceptions.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -47,6 +47,8 @@
    
    public static void assertEquals(String s)
    {
+      System.out.println("Expected: " + s);
+      System.out.println("Actual:   " + interceptions.toString());
       Assert.assertEquals(s, interceptions.toString());
    }
 }

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/FoundInvoker.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/FoundInvoker.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/FoundInvoker.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -43,7 +43,7 @@
  */
 public class FoundInvoker
 {
-   public static void invoke()
+   public static void invoke(boolean testLightweight)
    {
       testIntroduction();
       testMixin();
@@ -51,7 +51,10 @@
       testAnnotationOverride();
       testInterceptor();
       testAspect();
-      testLightweightAspect();
+      if (testLightweight)
+      {
+         testLightweightAspect();
+      }
    }
    
    private static void testIntroduction()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClass.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClass.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClass.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -21,6 +21,7 @@
 */ 
 package org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.target;
 
+import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.interceptions.Interceptions;
 
@@ -29,7 +30,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class InternalInterceptorPerClass
+public class InternalInterceptorPerClass implements Interceptor
 {
 
    public String getName()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClassJoinpoint.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClassJoinpoint.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerClassJoinpoint.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -21,6 +21,7 @@
 */ 
 package org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.target;
 
+import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.interceptions.Interceptions;
 
@@ -29,7 +30,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class InternalInterceptorPerClassJoinpoint
+public class InternalInterceptorPerClassJoinpoint implements Interceptor
 {
 
    public String getName()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerInstance.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerInstance.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerInstance.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -21,6 +21,7 @@
 */ 
 package org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.target;
 
+import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.interceptions.Interceptions;
 
@@ -29,7 +30,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class InternalInterceptorPerInstance
+public class InternalInterceptorPerInstance implements Interceptor
 {
 
    public String getName()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerJoinpoint.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerJoinpoint.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerJoinpoint.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -21,6 +21,7 @@
 */ 
 package org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.target;
 
+import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.interceptions.Interceptions;
 
@@ -29,7 +30,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class InternalInterceptorPerJoinpoint
+public class InternalInterceptorPerJoinpoint implements Interceptor
 {
 
    public String getName()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerVm.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerVm.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/InternalInterceptorPerVm.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -21,6 +21,7 @@
 */ 
 package org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.target;
 
+import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
 import org.jboss.test.aop.classpool.jbosscl.weaving.support.excluded.interceptions.Interceptions;
 
@@ -29,7 +30,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class InternalInterceptorPerVm
+public class InternalInterceptorPerVm implements Interceptor
 {
 
    public String getName()

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/NotFoundInvoker.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/NotFoundInvoker.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/support/excluded/target/NotFoundInvoker.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -39,7 +39,7 @@
  */
 public class NotFoundInvoker
 {
-   public static void invoke()
+   public static void invoke(boolean testLightweight)
    {
       testIntroduction();
       testMixin();
@@ -47,7 +47,10 @@
       testAnnotationOverride();
       testInterceptor();
       testAspect();
-      testLightweightAspect();
+      if (testLightweight)
+      {
+         testLightweightAspect();
+      }
    }
 
 //   @SuppressWarnings("unused")

Added: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/ClassicWeavingTestCase.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/ClassicWeavingTestCase.java	                        (rev 0)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/ClassicWeavingTestCase.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.test.aop.classpool.jbosscl.weaving.test;
+
+import org.jboss.aop.instrument.ClassicInstrumentor;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ClassicWeavingTestCase extends WeavingTest
+{
+   static 
+   {
+      System.setProperty("jboss.aop.instrumentor", ClassicInstrumentor.class.getName());
+   }
+
+   public ClassicWeavingTestCase(String name)
+   {
+      super(name);
+   }
+
+   @Override
+   protected boolean invokeLightWeightAspects()
+   {
+      return false;
+   }
+}

Added: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/GeneratedAdvisorWeavingTestCase.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/GeneratedAdvisorWeavingTestCase.java	                        (rev 0)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/GeneratedAdvisorWeavingTestCase.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors. 
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/ 
+package org.jboss.test.aop.classpool.jbosscl.weaving.test;
+
+import org.jboss.aop.instrument.GeneratedAdvisorInstrumentor;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class GeneratedAdvisorWeavingTestCase extends WeavingTest
+{
+   static 
+   {
+      System.setProperty("jboss.aop.instrumentor", GeneratedAdvisorInstrumentor.class.getName());
+   }
+
+   public GeneratedAdvisorWeavingTestCase(String name)
+   {
+      super(name);
+   }
+
+   @Override
+   protected boolean invokeLightWeightAspects()
+   {
+      return true;
+   }
+}

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/WeavingTest.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/WeavingTest.java	2009-04-14 16:56:01 UTC (rev 87298)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/weaving/test/WeavingTest.java	2009-04-14 16:57:03 UTC (rev 87299)
@@ -37,7 +37,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class WeavingTestCase extends JBossClClassPoolTest
+public abstract class WeavingTest extends JBossClClassPoolTest
 {
    public final static String DOMAIN = "AOPClasses";
    
@@ -56,11 +56,13 @@
    public final static String AOP_XML = "org/jboss/test/aop/classpool/jbosscl/weaving/test/WeavingTestCase-aop.xml"; 
 
    
-   public WeavingTestCase(String name)
+   public WeavingTest(String name)
    {
       super(name);
    }
    
+   protected abstract boolean invokeLightWeightAspects();
+   
    public void testImportAllAspects() throws Exception
    {
       runTest(
@@ -217,8 +219,8 @@
          {
             Thread.currentThread().setContextClassLoader(targetPool.getClassLoader());
             Class<?> invoker = targetPool.getClassLoader().loadClass(invokerName);
-            Method m = invoker.getMethod("invoke");
-            m.invoke(null);
+            Method m = invoker.getMethod("invoke", Boolean.TYPE);
+            m.invoke(null, invokeLightWeightAspects());
          }
          finally
          {




More information about the jboss-cvs-commits mailing list