[jboss-cvs] JBossAS SVN: r60674 - in projects/aop/trunk/aop/src: test/org/jboss/test/aop/beforeafterArgs and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 19 16:00:50 EST 2007
Author: flavia.rainone at jboss.com
Date: 2007-02-19 16:00:50 -0500 (Mon, 19 Feb 2007)
New Revision: 60674
Modified:
projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspect.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgTestCase.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsPOJO.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsTestCase.java
Log:
[JBAOP-352] Tests of this task are complete.
Modified: projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml 2007-02-19 20:59:40 UTC (rev 60673)
+++ projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml 2007-02-19 21:00:50 UTC (rev 60674)
@@ -6,7 +6,7 @@
<!-- @Arg test -->
<aspect class="org.jboss.test.aop.beforeafterArgs.ArgAspect" scope="PER_VM"/>
- <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch(..))">
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch1(..))">
<before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
<before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
<before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
@@ -23,7 +23,72 @@
<after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
<after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
</bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch2(..))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <advice name="around6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch3(..))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch4(..))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <advice name="around6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch5(..))">
+ <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <before name="before5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch6(..))">
+ <advice name="around6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+
+ <bind pointcut="execution(* org.jboss.test.aop.beforeafterArgs.ArgsPOJO->bunch7(..))">
+ <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ <after name="after6" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+ </bind>
+
<!-- @Args test -->
<aspect class="org.jboss.test.aop.beforeafterArgs.ArgsAspect" scope="PER_VM"/>
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspect.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspect.java 2007-02-19 20:59:40 UTC (rev 60673)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspect.java 2007-02-19 21:00:50 UTC (rev 60674)
@@ -48,22 +48,27 @@
static boolean around4 = false;
static boolean around5 = false;
+ static boolean around6 = false;
static boolean after1 = false;
static boolean after4 = false;
+ static boolean after6 = false;
static int before1X = 0;
static int before2X = 0;
- static int before3Y = 0;
+ static int before3Q = 0;
static int before5X = 0;
- static int before5Y = 0;
+ static int before5Q = 0;
static int around5X = 0;
- static int around5Y = 0;
+ static int around5Q = 0;
+ static Object[] around6Args = null;
+
static int after1X = 0;
static int after4X = 0;
- static int after4Y = 0;
+ static int after4Q = 0;
+ static Object[] after6Args = null;
public static void clear()
{
@@ -74,18 +79,23 @@
before5 = false;
around4 = false;
around5 = false;
+ around6 = false;
+ after1 = false;
after4 = false;
+ after6 = false;
before1X = 0;
before2X = 0;
- before3Y = 0;
+ before3Q = 0;
before5X = 0;
- before5Y = 0;
+ before5Q = 0;
around5X = 0;
- around5Y = 0;
+ around5Q = 0;
+ around6Args = null;
after1X = 0;
after4X = 0;
- after4Y = 0;
+ after4Q = 0;
+ after6Args = null;
}
public void before1(@Arg(index=0) int x)
@@ -103,21 +113,24 @@
public void before3(@Arg(index=4) int y)
{
before3 = true;
- before3Y = y;
+ before3Q = y;
}
public void before4(@Args Object[] arguments)
{
before4 = true;
arguments[0] = Integer.valueOf(((Integer) arguments[0]).intValue() * 5);
- arguments[4] = Integer.valueOf(((Integer) arguments[4]).intValue() * -17);
+ if (arguments.length > 4)
+ {
+ arguments[4] = Integer.valueOf(((Integer) arguments[4]).intValue() * -17);
+ }
}
public void before5(@Arg int x, @Arg int y)
{
before5 = true;
before5X = x;
- before5Y = y;
+ before5Q = y;
}
public int around1(@Arg int x, @Arg double y, @Arg float z, @Arg String str, @Arg long q)
@@ -147,14 +160,26 @@
return invocation.invokeNext();
}
- public int around5(@Arg(index = 4) int y, @Arg int x) throws Throwable
+ public int around5(@Arg(index = 4) int q, @Arg int x) throws Throwable
{
around5 = true;
around5X = x;
- around5Y = y;
+ around5Q = q;
return ((Integer) CurrentInvocation.proceed()).intValue();
}
+ public Object around6(MethodInvocation invocation) throws Throwable
+ {
+ around6 = true;
+ around6Args = new Object[4];
+ around6Args[0] = 6;
+ around6Args[1] = 12.0;
+ around6Args[2] = (float) 24;
+ around6Args[3] = 48;
+ invocation.setArguments(around6Args);
+ return Integer.valueOf(((Integer) invocation.invokeNext()).intValue() + 6);
+ }
+
public void after1(@Arg String str, @Arg(index = 0) int x)
{
after1 = true;
@@ -171,15 +196,21 @@
Assert.fail("This advice should never be executed");
}
- public void after4(@Arg int x, @Arg int y)
+ public void after4(@Arg int x, @Arg int q)
{
after4 = true;
after4X = x;
- after4Y = y;
+ after4Q = q;
}
public void after5(@Arg(index = 4) int x, @Arg(index = -3) int y)
{
Assert.fail("This advice should never be executed");
}
+
+ public void after6(@Args Object[] args)
+ {
+ after6 = true;
+ after6Args = args;
+ }
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgTestCase.java 2007-02-19 20:59:40 UTC (rev 60673)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgTestCase.java 2007-02-19 21:00:50 UTC (rev 60674)
@@ -29,10 +29,17 @@
/**
* Tests the use of @Arg parameters (this class complements <code>
- * org.jboss.test.aop.args.ArgTestCAse</code>, by testing advices that are allowed
+ * org.jboss.test.aop.args.ArgTestCase</code>, by testing advices that are allowed
* only with generated advisors).
*
+ * @Args and <code>invocation.setArguments()</code> are used only as a complement, so
+ * we can test @Arg functionality combined with access of arguments array.
+ *
* @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ *
+ * @see ArgsTestCase
+ * @see org.jboss.test.aop.args.ArgTestCase
+ * @see org.jboss.test.aop.args.ArgumentsTestCase
*/
public class ArgTestCase extends AOPTestWithSetup
{
@@ -64,7 +71,7 @@
public void test1()
{
- assertEquals(52, this.pojo.bunch(5, (double) 1.3, (float) 0, "test1", 1));
+ assertEquals(52, this.pojo.bunch1(5, (double) 1.3, (float) 0, "test1", 1));
assertTrue(ArgAspect.before1);
assertTrue(ArgAspect.before2);
@@ -78,13 +85,178 @@
assertEquals(5, ArgAspect.before1X);
assertEquals(5, ArgAspect.before2X);
- assertEquals(1, ArgAspect.before3Y);
+ assertEquals(1, ArgAspect.before3Q);
assertEquals(25, ArgAspect.before5X);
- assertEquals(-17, ArgAspect.before5Y);
+ assertEquals(-17, ArgAspect.before5Q);
assertEquals(17, ArgAspect.around5X);
- assertEquals(34, ArgAspect.around5Y);
+ assertEquals(34, ArgAspect.around5Q);
assertEquals(17, ArgAspect.after1X);
assertEquals(17, ArgAspect.after4X);
- assertEquals(34, ArgAspect.after4Y);
+ assertEquals(34, ArgAspect.after4Q);
}
+
+ public void test2()
+ {
+ assertEquals(52, this.pojo.bunch1(5, (double) 1.3, (float) 0, "test1", 1));
+
+ assertTrue(ArgAspect.before1);
+ assertTrue(ArgAspect.before2);
+ assertTrue(ArgAspect.before3);
+ assertTrue(ArgAspect.before4);
+ assertTrue(ArgAspect.before5);
+ assertTrue(ArgAspect.around4);
+ assertTrue(ArgAspect.around5);
+ assertTrue(ArgAspect.after1);
+ assertTrue(ArgAspect.after4);
+
+ assertEquals(5, ArgAspect.before1X);
+ assertEquals(5, ArgAspect.before2X);
+ assertEquals(1, ArgAspect.before3Q);
+ assertEquals(25, ArgAspect.before5X);
+ assertEquals(-17, ArgAspect.before5Q);
+ assertEquals(17, ArgAspect.around5X);
+ assertEquals(34, ArgAspect.around5Q);
+ assertEquals(17, ArgAspect.after1X);
+ assertEquals(17, ArgAspect.after4X);
+ assertEquals(34, ArgAspect.after4Q);
+ }
+
+ public void test3()
+ {
+ assertEquals(108, this.pojo.bunch2(1, (double) 2.0, (float) 3, 4));
+
+ assertTrue(ArgAspect.before1);
+ assertTrue(ArgAspect.before2);
+ assertTrue(ArgAspect.before4);
+ assertTrue(ArgAspect.before5);
+ assertTrue(ArgAspect.around6);
+ assertTrue(ArgAspect.after4);
+ assertTrue(ArgAspect.after6);
+
+ assertEquals(1, ArgAspect.before1X);
+ assertEquals(1, ArgAspect.before2X);
+ assertEquals(5, ArgAspect.before5X);
+ assertEquals(4, ArgAspect.before5Q);
+ assertEquals(6, ArgAspect.after4X);
+ assertEquals(48, ArgAspect.after4Q);
+ assertSame(ArgAspect.around6Args, ArgAspect.after6Args);
+
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.after1);
+ }
+
+ public void test4()
+ {
+ assertEquals(18, this.pojo.bunch3(1, (double) 2.0, (float) 3, 4));
+
+ assertTrue(ArgAspect.before1);
+ assertTrue(ArgAspect.before2);
+ assertTrue(ArgAspect.before4);
+ assertTrue(ArgAspect.before5);
+ assertTrue(ArgAspect.after4);
+ assertTrue(ArgAspect.after6);
+
+ assertEquals(1, ArgAspect.before1X);
+ assertEquals(1, ArgAspect.before2X);
+ assertEquals(5, ArgAspect.before5X);
+ assertEquals(4, ArgAspect.before5Q);
+ assertEquals(5, ArgAspect.after4X);
+ assertEquals(4, ArgAspect.after4Q);
+ assertNotNull(ArgAspect.after6Args);
+ assertEquals(5, ((Integer) ArgAspect.after6Args[0]).intValue());
+ assertEquals(2.0, ((Double) ArgAspect.after6Args[1]).doubleValue());
+ assertEquals(3.0, ((Float) ArgAspect.after6Args[2]).floatValue());
+ assertEquals(4, ((Integer) ArgAspect.after6Args[3]).intValue());
+
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.around6);
+ assertFalse(ArgAspect.after1);
+ }
+
+ public void test5()
+ {
+ assertEquals(132, this.pojo.bunch4(10, (double) 9.0, (float) 8.0, 7));
+
+ assertTrue(ArgAspect.before1);
+ assertTrue(ArgAspect.before2);
+ assertTrue(ArgAspect.before4);
+ assertTrue(ArgAspect.before5);
+ assertTrue(ArgAspect.around6);
+
+ assertEquals(10, ArgAspect.before1X);
+ assertEquals(10, ArgAspect.before2X);
+ assertEquals(50, ArgAspect.before5X);
+ assertEquals(7, ArgAspect.before5Q);
+
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.after1);
+ assertFalse(ArgAspect.after4);
+ assertFalse(ArgAspect.after6);
+ }
+
+ public void test6()
+ {
+ assertEquals(110, this.pojo.bunch5(10, (double) 9.0, (float) 8.0, 7));
+
+ assertTrue(ArgAspect.before1);
+ assertTrue(ArgAspect.before2);
+ assertTrue(ArgAspect.before4);
+ assertTrue(ArgAspect.before5);
+
+
+ assertEquals(10, ArgAspect.before1X);
+ assertEquals(10, ArgAspect.before2X);
+ assertEquals(50, ArgAspect.before5X);
+ assertEquals(7, ArgAspect.before5Q);
+
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.around6);
+ assertFalse(ArgAspect.after1);
+ assertFalse(ArgAspect.after4);
+ assertFalse(ArgAspect.after6);
+ }
+
+ public void test7()
+ {
+ assertEquals(156, this.pojo.bunch6(51, (double) 5.3, (float) 61, 131));
+
+ assertTrue(ArgAspect.around6);
+ assertTrue(ArgAspect.after4);
+ assertTrue(ArgAspect.after6);
+
+ assertEquals(6, ArgAspect.after4X);
+ assertEquals(48, ArgAspect.after4Q);
+ assertSame(ArgAspect.around6Args, ArgAspect.after6Args);
+
+ assertFalse(ArgAspect.before1);
+ assertFalse(ArgAspect.before2);
+ assertFalse(ArgAspect.before4);
+ assertFalse(ArgAspect.before5);
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.after1);
+ }
+
+ public void test8()
+ {
+ assertEquals(278, this.pojo.bunch7(51, (double) 5.3, (float) 61, 131));
+
+ assertTrue(ArgAspect.after4);
+ assertTrue(ArgAspect.after6);
+
+ assertEquals(51, ArgAspect.after4X);
+ assertEquals(131, ArgAspect.after4Q);
+ assertNotNull(ArgAspect.after6Args);
+ assertEquals(51, ((Integer) ArgAspect.after6Args[0]).intValue());
+ assertEquals(5.3, ((Double) ArgAspect.after6Args[1]).doubleValue());
+ assertEquals(61, ((Float) ArgAspect.after6Args[2]).floatValue());
+ assertEquals(131, ((Integer) ArgAspect.after6Args[3]).intValue());
+
+ assertFalse(ArgAspect.before1);
+ assertFalse(ArgAspect.before2);
+ assertFalse(ArgAspect.before4);
+ assertFalse(ArgAspect.before5);
+ assertFalse(ArgAspect.before3);
+ assertFalse(ArgAspect.around6);
+ assertFalse(ArgAspect.after1);
+ }
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsPOJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsPOJO.java 2007-02-19 20:59:40 UTC (rev 60673)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsPOJO.java 2007-02-19 21:00:50 UTC (rev 60674)
@@ -36,11 +36,41 @@
public static boolean field4;
- public int bunch(int x, double y, float z, String str, int q)
+ public int bunch1(int x, double y, float z, String str, int q)
{
return x + (int) y + (int) z + q;
}
+ public int bunch2(int x, double y, float z, int q)
+ {
+ return x + (int) y * 2 + (int) z + q;
+ }
+
+ public int bunch3(int x, double y, float z, int q)
+ {
+ return x + (int) y * 3 + (int) z + q;
+ }
+
+ public int bunch4(int x, double y, float z, int q)
+ {
+ return x + (int) y * 4 + (int) z + q;
+ }
+
+ public int bunch5(int x, double y, float z, int q)
+ {
+ return x + (int) y * 5 + (int) z + q;
+ }
+
+ public int bunch6(int x, double y, float z, int q)
+ {
+ return x + (int) y * 6 + (int) z + q;
+ }
+
+ public int bunch7(int x, double y, float z, int q)
+ {
+ return x + (int) y * 7 + (int) z + q;
+ }
+
public void method1(String param1, int param2, boolean param3, ArgsPOJO[] param4)
{}
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsTestCase.java 2007-02-19 20:59:40 UTC (rev 60673)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgsTestCase.java 2007-02-19 21:00:50 UTC (rev 60674)
@@ -357,7 +357,7 @@
assertFalse(ArgsAspect.after3);
assertFalse(ArgsAspect.after6);
assertFalse(ArgsAspect.after7);
- // after 8 is not called due to the exceptio thrown
+ // after 8 is not called due to the exception thrown
assertFalse(ArgsAspect.after8);
assertFalse(ArgsAspect.around1);
assertFalse(ArgsAspect.around3);
More information about the jboss-cvs-commits
mailing list