[jboss-cvs] JBossAS SVN: r65995 - in projects/aop/trunk/aop/src: resources/test/annotatedAdviceParams and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 9 20:44:55 EDT 2007
Author: flavia.rainone at jboss.com
Date: 2007-10-09 20:44:54 -0400 (Tue, 09 Oct 2007)
New Revision: 65995
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java
projects/aop/trunk/aop/src/resources/test/annotatedAdviceParams/jboss-aop.xml
projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgAspectGenerics.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgInvalidJDK50TestCase.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgTestCase.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsInvalidPOJO.java
projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsPOJO.java
Log:
[JBAOP-472] Bug solved and tested with constructor execution wrappers
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorExecutionTransformer.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -22,6 +22,7 @@
package org.jboss.aop.instrument;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -35,6 +36,8 @@
import javassist.CtNewMethod;
import javassist.Modifier;
import javassist.NotFoundException;
+import javassist.bytecode.MethodInfo;
+import javassist.bytecode.SignatureAttribute;
import org.jboss.aop.ClassAdvisor;
import org.jboss.aop.pointcut.Pointcut;
@@ -496,6 +499,15 @@
setTemporaryWrapperCode(type, wmethod);
clazz.addMethod(wmethod);
+ // copy attribute signature
+ MethodInfo constructorInfo = constructor.getMethodInfo2();
+ SignatureAttribute attribute = (SignatureAttribute) constructorInfo.getAttribute(SignatureAttribute.tag);
+ if (attribute != null)
+ {
+ MethodInfo wrapperInfo = wmethod.getMethodInfo2();
+ wrapperInfo.addAttribute(attribute.copy(wrapperInfo.getConstPool(), new HashMap()));
+ }
+
// prepare ForWrapping
getWrapper().prepareForWrapping(constructor, CONSTRUCTOR_STATUS);
}
Modified: projects/aop/trunk/aop/src/resources/test/annotatedAdviceParams/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/annotatedAdviceParams/jboss-aop.xml 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/resources/test/annotatedAdviceParams/jboss-aop.xml 2007-10-10 00:44:54 UTC (rev 65995)
@@ -357,17 +357,14 @@
<aspect class="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics" scope="PER_VM"/>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->new(java.util.List))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*)">
<before name="before1" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<before name="before2" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<before name="before4" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<before name="before5" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<before name="before6" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
- <around name="around1" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
- <around name="around2" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
- <around name="around3" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
- <around name="around4" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
- <around name="around6" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<after name="after1" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<after name="after2" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<after name="after3" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
@@ -384,60 +381,114 @@
<finally name="finally4" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
<finally name="finally6" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
+
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*(java.util.List))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->*)">
+ <around name="around1" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around2" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around3" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around4" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around6" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ </bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before7(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before7)">
+ <bind pointcut="execution(org.jboss.test.aop.annotatedAdviceParams.ArgsPOJO->new(java.util.List))">
+ <around name="around1_Cons" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around2_Cons" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around3_Cons" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around4_Cons" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ <around name="around6_Cons" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ </bind>
+
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before7(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before7)">
<before name="before7" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before8(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before8)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before8(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, char))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Before8)">
<before name="before8" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around5(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around5)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around5(java.util.List))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around5)">
<around name="around5" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around7(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around7)">
+ <bind pointcut="execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, byte))">
+ <around name="around5_" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ </bind>
+
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around7(java.util.List))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around7)">
<around name="around7" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around8(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around8)">
+ <bind pointcut="execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, short))">
+ <around name="around7_" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ </bind>
+
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around8(java.util.List))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Around8)">
<around name="around8" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After5(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After5)">
+ <bind pointcut="execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, int))">
+ <around name="around8_" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
+ </bind>
+
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After5(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, long))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After5)">
<after name="after5" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After7(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After7)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After7(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, float))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After7)">
<after name="after7" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After8(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After8)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After8(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, double))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*After8)">
<after name="after8" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing2(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing2)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing2(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, boolean))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing2)">
<throwing name="throwing2" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing7(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing7)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing7(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, char))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing7)">
<throwing name="throwing7" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing8(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing8)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing8(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, byte))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Throwing8)">
<throwing name="throwing8" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally5(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally5)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally5(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, short))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally5)">
<finally name="finally5" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally7(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally7)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally7(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, int))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally7)">
<finally name="finally7" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
- <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally8(java.util.List)) OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally8)">
+ <bind pointcut="execution(void org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally8(java.util.List))
+ OR execution(org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->new(java.util.List, boolean, long))
+ OR set(java.util.List org.jboss.test.aop.annotatedAdviceParams.ArgsInvalidPOJO->*Finally8)">
<finally name="finally8" aspect="org.jboss.test.aop.annotatedAdviceParams.ArgAspectGenerics"/>
</bind>
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgAspectGenerics.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgAspectGenerics.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgAspectGenerics.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -190,6 +190,54 @@
Assert.fail("This advice should never be executed");
}
+ public ArgsPOJO around1_Cons(@Arg Collection<SuperValue> arg) throws Throwable
+ {
+ around1 = true;
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around2_Cons(@Arg Collection arg) throws Throwable
+ {
+ around2 = true;
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around3_Cons(@Arg List<SuperValue> arg) throws Throwable
+ {
+ around3 = true;
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around4_Cons(@Arg List<? extends Object> arg) throws Throwable
+ {
+ around4 = true;
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around5_Cons(@Arg List<Interface> arg) throws Throwable
+ {
+ Assert.fail("This advice should never be executed");
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around6_Cons(@Arg List arg) throws Throwable
+ {
+ around6 = true;
+ return (ArgsPOJO) CurrentInvocation.proceed();
+ }
+
+ public ArgsPOJO around7_Cons(@Arg ArrayList<Object> arg) throws Throwable
+ {
+ Assert.fail("This advice should never be executed");
+ return null;
+ }
+
+ public ArgsPOJO around8_Cons(@Arg Set<Object> arg) throws Throwable
+ {
+ Assert.fail("This advice should never be executed");
+ return null;
+ }
+
public void after1(@Arg List<SuperValue> arg)
{
after1 = true;
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgInvalidJDK50TestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgInvalidJDK50TestCase.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgInvalidJDK50TestCase.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -541,4 +541,176 @@
}
assertTrue(thrown);
}
+
+ public void testGenerics4()
+ {
+ List<SuperValue> list = new ArrayList<SuperValue>();
+ boolean thrown = false;
+ try
+ {
+ // test before7
+ new ArgsInvalidPOJO(list, false);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test before8
+ new ArgsInvalidPOJO(list, '\0');
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test around5_
+ new ArgsInvalidPOJO(list, (byte)0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test around7_
+ new ArgsInvalidPOJO(list, (short)0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test around8_
+ new ArgsInvalidPOJO(list, 0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test after5
+ new ArgsInvalidPOJO(list, 0l);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test after7
+ new ArgsInvalidPOJO(list, (float) 0.0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test after8
+ new ArgsInvalidPOJO(list, 0.0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test throwing2
+ new ArgsInvalidPOJO(list, false, false);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test throwing7
+ new ArgsInvalidPOJO(list, false, '\0');
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test throwing8
+ new ArgsInvalidPOJO(list, false, (byte) 0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test finally5
+ new ArgsInvalidPOJO(list, false, (short) 0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test finally7
+ new ArgsInvalidPOJO(list, false, 0);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+
+ thrown = false;
+ try
+ {
+ // test finally8
+ new ArgsInvalidPOJO(list, false, 0l);
+ }
+ catch(NoMatchingAdviceException e)
+ {
+ thrown = true;
+ }
+ assertTrue(thrown);
+ }
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgTestCase.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgTestCase.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -517,4 +517,34 @@
assertTrue(ArgAspectGenerics.finally4);
assertTrue(ArgAspectGenerics.finally6);
}
+
+ public void testGenerics4()
+ {
+ new ArgsPOJO(new ArrayList<SuperValue>());
+ assertTrue(ArgAspectGenerics.before1);
+ assertTrue(ArgAspectGenerics.before2);
+ assertTrue(ArgAspectGenerics.before4);
+ assertTrue(ArgAspectGenerics.before5);
+ assertTrue(ArgAspectGenerics.before6);
+ assertTrue(ArgAspectGenerics.around1);
+ assertTrue(ArgAspectGenerics.around2);
+ assertTrue(ArgAspectGenerics.around3);
+ assertTrue(ArgAspectGenerics.around4);
+ assertTrue(ArgAspectGenerics.around6);
+ assertTrue(ArgAspectGenerics.after1);
+ assertTrue(ArgAspectGenerics.after2);
+ assertTrue(ArgAspectGenerics.after3);
+ assertTrue(ArgAspectGenerics.after4);
+ assertTrue(ArgAspectGenerics.after6);
+ assertFalse(ArgAspectGenerics.throwing1);
+ assertFalse(ArgAspectGenerics.throwing3);
+ assertFalse(ArgAspectGenerics.throwing4);
+ assertFalse(ArgAspectGenerics.throwing5);
+ assertFalse(ArgAspectGenerics.throwing6);
+ assertTrue(ArgAspectGenerics.finally1);
+ assertTrue(ArgAspectGenerics.finally2);
+ assertTrue(ArgAspectGenerics.finally3);
+ assertTrue(ArgAspectGenerics.finally4);
+ assertTrue(ArgAspectGenerics.finally6);
+ }
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsInvalidPOJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsInvalidPOJO.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsInvalidPOJO.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -76,6 +76,51 @@
public List<SuperValue> field5Finally7;
public List<SuperValue> field5Finally8;
+ public ArgsInvalidPOJO() {}
+
+ // intercepted by advice ArgAspectGenerics.before7
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2){}
+
+ // intercepted by advice ArgAspectGenerics.before8
+ public ArgsInvalidPOJO(List<SuperValue> arg1, char arg2){}
+
+ // intercepted by advice ArgAspectGenerics.around5_
+ public ArgsInvalidPOJO(List<SuperValue> arg1, byte arg2){}
+
+ // intercepted by advice ArgAspectGenerics.around7_
+ public ArgsInvalidPOJO(List<SuperValue> arg1, short arg2){}
+
+ // intercepted by advice ArgAspectGenerics.around8_
+ public ArgsInvalidPOJO(List<SuperValue> arg1, int arg2){}
+
+ // intercepted by advice ArgAspectGenerics.after5
+ public ArgsInvalidPOJO(List<SuperValue> arg1, long arg2){}
+
+ // intercepted by advice ArgAspectGenerics.after7
+ public ArgsInvalidPOJO(List<SuperValue> arg1, float arg2){}
+
+ // intercepted by advice ArgAspectGenerics.after8
+ public ArgsInvalidPOJO(List<SuperValue> arg1, double arg2){}
+
+ // intercepted by advice ArgAspectGenerics.throwing2
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, boolean arg3){}
+
+ // intercepted by advice ArgAspectGenerics.throwing7
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, char arg3){}
+
+ // intercepted by advice ArgAspectGenerics.throwing8
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, byte arg3){}
+
+ // intercepted by advice ArgAspectGenerics.finally5
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, short arg3){}
+
+ // intercepted by advice ArgAspectGenerics.finally7
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, int arg3){}
+
+ // intercepted by advice ArgAspectGenerics.finally8
+ public ArgsInvalidPOJO(List<SuperValue> arg1, boolean arg2, long arg3){}
+
+
/* bunch1(int, double, float, String, int) */
public int bunch1Around1(int x, double y, float z, String str, int q)
Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsPOJO.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsPOJO.java 2007-10-09 22:14:52 UTC (rev 65994)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/annotatedAdviceParams/ArgsPOJO.java 2007-10-10 00:44:54 UTC (rev 65995)
@@ -41,6 +41,10 @@
public List<SuperValue> field5;
+ public ArgsPOJO() {}
+
+ public ArgsPOJO(List<SuperValue> arg) {}
+
public int bunch1(int x, double y, float z, String str, int q)
{
return x + (int) y + (int) z + q;
More information about the jboss-cvs-commits
mailing list