[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