[jboss-cvs] JBossAS SVN: r59356 - in projects/aop/trunk/aop/src: resources/test/beforeafterArgs test/org/jboss/test/aop/beforeafterArgs
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 4 12:12:49 EST 2007
Author: flavia.rainone
Date: 2007-01-04 12:12:36 -0500 (Thu, 04 Jan 2007)
New Revision: 59356
Modified:
projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetAspect.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetPOJO.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java
Log:
[JBAOP-326] More Target parameter tests
Modified: projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml 2007-01-04 16:42:18 UTC (rev 59355)
+++ projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml 2007-01-04 17:12:36 UTC (rev 59356)
@@ -15,6 +15,7 @@
<bind pointcut="set(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->field2)">
<before name="before6" aspect="org.jboss.test.aop.beforeafterArgs.ArgsAspect" />
+ <before name="XXX6" aspect="org.jboss.test.aop.beforeafterArgs.ArgsAspect" />
<after name="after6" aspect="org.jboss.test.aop.beforeafterArgs.ArgsAspect" />
</bind>
@@ -171,12 +172,60 @@
<!-- @Target test -->
<aspect class="org.jboss.test.aop.beforeafterArgs.TargetAspect" scope="PER_VM"/>
+ <bind pointcut="execution(org.jboss.test.aop.beforeafterArgs.TargetPOJO->new(int))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ </bind>
+
+ <bind pointcut="field(int org.jboss.test.aop.beforeafterArgs.TargetPOJO->*)">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ </bind>
+
<bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.TargetPOJO->method1(..))">
<before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
<before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
</bind>
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.TargetPOJO->method2(..))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ </bind>
+ <bind pointcut="call(org.jboss.test.aop.beforeafterArgs.TargetPOJO2->new(int))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ </bind>
+
+ <bind pointcut="call(void org.jboss.test.aop.beforeafterArgs.TargetPOJO2->*())">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.TargetAspect"/>
+ </bind>
+
<!-- @Thrown test -->
<aspect class="org.jboss.test.aop.beforeafterArgs.ThrownAspect" scope="PER_VM"/>
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetAspect.java 2007-01-04 16:42:18 UTC (rev 59355)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetAspect.java 2007-01-04 17:12:36 UTC (rev 59356)
@@ -22,6 +22,7 @@
package org.jboss.test.aop.beforeafterArgs;
import org.jboss.aop.advice.annotation.Target;
+import org.jboss.aop.joinpoint.CurrentInvocation;
/**
* Aspect used on @Args parameter tests.
@@ -32,14 +33,26 @@
{
static boolean before1 = false;
static boolean before2 = false;
+ static boolean around1 = false;
+ static boolean around2 = false;
+ static boolean after1 = false;
+ static boolean after2 = false;
static Object before2Target = null;
+ static Object around2Target = null;
+ static Object after2Target = null;
public static void clear()
{
before1 = false;
before2 = false;
+ around1 = false;
+ around2 = false;
+ after1 = false;
+ after2 = false;
before2Target = null;
+ around2Target = null;
+ after2Target = null;
}
public void before1()
@@ -52,4 +65,28 @@
before2 = true;
before2Target = target;
}
+
+ public Object around1() throws Throwable
+ {
+ around1 = true;
+ return CurrentInvocation.proceed();
+ }
+
+ public Object around2(@Target Object target) throws Throwable
+ {
+ around2 = true;
+ around2Target = target;
+ return CurrentInvocation.proceed();
+ }
+
+ public void after1()
+ {
+ after1 = true;
+ }
+
+ public void after2(@Target Object target)
+ {
+ after2 = true;
+ after2Target = target;
+ }
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetPOJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetPOJO.java 2007-01-04 16:42:18 UTC (rev 59355)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetPOJO.java 2007-01-04 17:12:36 UTC (rev 59356)
@@ -29,5 +29,50 @@
*/
public class TargetPOJO
{
+ public TargetPOJO(){}
+ public TargetPOJO(int x){}
+
+ public int field1;
+ public static int field2;
+
public void method1(){}
+ public static void method2(){}
+
+ public void method3(){
+ new TargetPOJO2(3);
+ }
+
+ public void method4()
+ {
+ TargetPOJO2 pojo2 = new TargetPOJO2();
+ pojo2.method1();
+ }
+
+ public void method5()
+ {
+ TargetPOJO2.method2();
+ }
+
+ public static void method6(){
+ new TargetPOJO2(3);
+ }
+
+ public static void method7()
+ {
+ TargetPOJO2 pojo2 = new TargetPOJO2();
+ pojo2.method1();
+ }
+
+ public static void method8()
+ {
+ TargetPOJO2.method2();
+ }
+}
+
+class TargetPOJO2
+{
+ public TargetPOJO2(){}
+ public TargetPOJO2(int x){}
+ public void method1(){}
+ public static void method2(){}
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java 2007-01-04 16:42:18 UTC (rev 59355)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java 2007-01-04 17:12:36 UTC (rev 59356)
@@ -59,12 +59,112 @@
TargetAspect.clear();
this.pojo = new TargetPOJO();
}
-
+
public void test1()
{
+ new TargetPOJO(1);
+ assertStaticAdvices();
+ }
+
+
+ public void test2()
+ {
+ pojo.field1 = 0;
+ assertAllAdvices();
+ assertSame(pojo, TargetAspect.before2Target);
+ }
+
+ public void test3()
+ {
+ int test = pojo.field1;
+ assertAllAdvices();
+ assertSame(pojo, TargetAspect.before2Target);
+ }
+
+ public void test4()
+ {
+ TargetPOJO.field2 = 5;
+ assertStaticAdvices();
+ }
+
+ public void test5()
+ {
+ int test = TargetPOJO.field2;
+ assertStaticAdvices();
+ }
+
+ public void test6()
+ {
pojo.method1();
+ assertAllAdvices();
+ assertSame(pojo, TargetAspect.before2Target);
+ }
+
+ public void test7()
+ {
+ TargetPOJO.method2();
+ assertStaticAdvices();
+ }
+
+ public void test8()
+ {
+ pojo.method3();
+ assertStaticAdvices();
+ }
+
+ public void test9()
+ {
+ pojo.method4();
+ assertAllAdvices();
+ }
+
+ public void test10()
+ {
+ pojo.method5();
+ assertStaticAdvices();
+ }
+
+ public void test11()
+ {
+ TargetPOJO.method6();
+ assertStaticAdvices();
+ }
+
+ public void test12()
+ {
+ TargetPOJO.method7();
+ assertAllAdvices();
+ }
+
+ public void test13()
+ {
+ TargetPOJO.method8();
+ assertStaticAdvices();
+ }
+
+ private void assertAllAdvices()
+ {
assertTrue(TargetAspect.before1);
assertTrue(TargetAspect.before2);
- assertSame(pojo, TargetAspect.before2Target);
+ assertTrue(TargetAspect.around1);
+ assertTrue(TargetAspect.around2);
+ assertTrue(TargetAspect.after1);
+ assertTrue(TargetAspect.after2);
+ assertNotNull(TargetAspect.before2Target);
+ assertSame(TargetAspect.before2Target, TargetAspect.around2Target);
+ assertSame(TargetAspect.around2Target, TargetAspect.after2Target);
}
+
+ private void assertStaticAdvices()
+ {
+ assertTrue(TargetAspect.before1);
+ assertFalse(TargetAspect.before2);
+ assertTrue(TargetAspect.around1);
+ assertFalse(TargetAspect.around2);
+ assertTrue(TargetAspect.after1);
+ assertFalse(TargetAspect.after2);
+ assertNull(TargetAspect.before2Target);
+ assertNull(TargetAspect.around2Target);
+ assertNull(TargetAspect.after2Target);
+ }
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list