[jboss-cvs] JBossAS SVN: r88427 - in projects/aop/branches/Branch_2_1/aop: src/main/java/org/jboss/aop/pointcut and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri May 8 09:18:25 EDT 2009
Author: flavia.rainone at jboss.com
Date: 2009-05-08 09:18:25 -0400 (Fri, 08 May 2009)
New Revision: 88427
Modified:
projects/aop/branches/Branch_2_1/aop/2.0.x-compliance-tests.xml
projects/aop/branches/Branch_2_1/aop/src/main/java/org/jboss/aop/pointcut/Util.java
projects/aop/branches/Branch_2_1/aop/src/test/java/org/jboss/test/aop/rebuildingchain/ConstructorExecutionSyncThread.java
Log:
[JBAOP-722] Util.matchesParameters methods were changed, so that now the constructor of the specified scenario will be treated as being the default one during matching.
Modified: projects/aop/branches/Branch_2_1/aop/2.0.x-compliance-tests.xml
===================================================================
--- projects/aop/branches/Branch_2_1/aop/2.0.x-compliance-tests.xml 2009-05-08 12:33:38 UTC (rev 88426)
+++ projects/aop/branches/Branch_2_1/aop/2.0.x-compliance-tests.xml 2009-05-08 13:18:25 UTC (rev 88427)
@@ -394,7 +394,7 @@
<antcall target="_base-jdk50-tests_2.0.x" inheritRefs="true">
<param name="caller" value="javaagent-genadvisor-tests_2.0.x"/>
<param name="test-target" value="_run-javaagent-test_2.0.x"/>
- <param name="exclude" value="**/constructortarget/*.class"/>
+ <param name="exclude" value="**/constructortarget/*"/>
</antcall>
</target>
@@ -470,6 +470,7 @@
<exclude name="${exclude}"/>
<!-- These are not test cases, and so they will fail when junit tries to run them. Should really rename all tests to *TestCase -->
+ <exclude name="org/jboss/test/aop/rebuildingchain/*.class"/>
<exclude name="org/jboss/test/aop/reflection/ReflectionAspectTester.class"/>
<exclude name="org/jboss/test/aop/basic/POJOAspectTester.class"/>
</fileset>
@@ -486,6 +487,7 @@
<antcall target="_base-jdk50-tests_2.0.x" inheritRefs="true">
<param name="caller" value="precompiled-tests_2.0.x"/>
<param name="test-target" value="_run-precompiled-test_2.0.x"/>
+ <param name="exclude" value="**/constructortarget/*"/>
</antcall>
<!-- Tests only applicable for this weaving mode -->
@@ -655,7 +657,7 @@
<sysproperty key="java.io.tmpdir" value="${aopc.tmpdir}"/>
<src path="${build.tests.classes}"/>
<include name="org/jboss/test/aop/${test}/**"/>
- <exclude name="${exclude}"/>
+ <exclude name="org/jboss/test/aop/rebuildingchain/**,${exclude}"/>
<aopclasspath path="${build.tests.classes}/org/jboss/test/aop/${test}"/>
</aopc>
Modified: projects/aop/branches/Branch_2_1/aop/src/main/java/org/jboss/aop/pointcut/Util.java
===================================================================
--- projects/aop/branches/Branch_2_1/aop/src/main/java/org/jboss/aop/pointcut/Util.java 2009-05-08 12:33:38 UTC (rev 88426)
+++ projects/aop/branches/Branch_2_1/aop/src/main/java/org/jboss/aop/pointcut/Util.java 2009-05-08 13:18:25 UTC (rev 88427)
@@ -668,6 +668,12 @@
if (node.isAnyParameters()) return true;
try
{
+ // JBAOP-722
+ CtClass enclosingClass = ctConstructor.getDeclaringClass().getDeclaringClass();
+ if (enclosingClass != null && ctConstructor.getParameterTypes().length == 1 && ctConstructor.getParameterTypes()[0].getName().startsWith(enclosingClass.getName() + '$'))
+ {
+ return Util.matchesParameters(advisor, node.hasAnyZeroOrMoreParameters(), node.getParameters(), new CtClass[0]);
+ }
CtClass[] params = ctConstructor.getParameterTypes();
return Util.matchesParameters(advisor, node.hasAnyZeroOrMoreParameters(), node.getParameters(), params);
}
@@ -687,7 +693,16 @@
public static boolean matchesParameters(Advisor advisor, ASTConstructor node, Constructor<?> con)
{
if (node.isAnyParameters()) return true;
-
+ // JBAOP-722
+ Class<?> enclosingClass = con.getDeclaringClass().getDeclaringClass();
+ if (enclosingClass != null && con.getParameterTypes().length == 1 && con.getParameterTypes()[0].getName().startsWith(enclosingClass.getName()))
+ {
+ Class<?> parameterType = con.getParameterTypes()[0];
+ if (parameterType.getDeclaringClass().equals(enclosingClass))
+ {
+ return Util.matchesParameters(advisor, node.hasAnyZeroOrMoreParameters(), node.getParameters(), new CtClass[0]);
+ }
+ }
return matchesParameters(advisor, node.hasAnyZeroOrMoreParameters(), node.getParameters(), con.getParameterTypes());
}
Modified: projects/aop/branches/Branch_2_1/aop/src/test/java/org/jboss/test/aop/rebuildingchain/ConstructorExecutionSyncThread.java
===================================================================
--- projects/aop/branches/Branch_2_1/aop/src/test/java/org/jboss/test/aop/rebuildingchain/ConstructorExecutionSyncThread.java 2009-05-08 12:33:38 UTC (rev 88426)
+++ projects/aop/branches/Branch_2_1/aop/src/test/java/org/jboss/test/aop/rebuildingchain/ConstructorExecutionSyncThread.java 2009-05-08 13:18:25 UTC (rev 88427)
@@ -36,9 +36,5 @@
new Pojo();
}
- private static class Pojo
- {
- // TODO JBAOP-722 Remove this constructor.
- public Pojo() {}
- }
+ private static class Pojo {}
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list