[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