[jboss-cvs] JBossAS SVN: r63334 - 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 Jun 4 13:47:48 EDT 2007


Author: flavia.rainone at jboss.com
Date: 2007-06-04 13:47:47 -0400 (Mon, 04 Jun 2007)
New Revision: 63334

Added:
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInterfaces.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInvertedArgs.java
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
Log:
Simple refactoring of ArgAspect: broke it into three classes: ArgAspect, ArgAspectInterfaces and ArgAspectInvertedArgs.

Modified: projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml
===================================================================
--- projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml	2007-06-04 13:37:46 UTC (rev 63333)
+++ projects/aop/trunk/aop/src/resources/test/beforeafterArgs/jboss-aop.xml	2007-06-04 17:47:47 UTC (rev 63334)
@@ -114,45 +114,49 @@
       <finally name="finally2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
    </bind>
 
+ 	<aspect class="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces" scope="PER_VM"/>
+   
    <bind pointcut="execution(void org.jboss.test.aop.beforeafterArgs.ArgsPOJO->*(org.jboss.test.aop.beforeafterArgs.Interface))">
-      <before name="beforeInterface1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <before name="beforeInterface2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <before name="beforeInterface3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <before name="beforeInterface4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <before name="beforeInterface5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInterface1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInterface2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInterface3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInterface4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInterface5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInterface1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInterface2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInterface3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInterface4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInterface5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInterface1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInterface2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInterface3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInterface4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInterface5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInterface1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInterface2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInterface3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInterface4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInterface5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+      <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <before name="before3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <before name="before4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <before name="before5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <advice name="around3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <advice name="around4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <advice name="around5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <after name="after3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <after name="after4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <after name="after5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <throwing name="throwing1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <throwing name="throwing2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <throwing name="throwing3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <throwing name="throwing4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <throwing name="throwing5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <finally name="finally1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <finally name="finally2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <finally name="finally3" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <finally name="finally4" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
+      <finally name="finally5" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInterfaces"/>
    </bind>
    
+   <aspect class="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs" scope="PER_VM"/>
+   
    <bind pointcut="execution(void org.jboss.test.aop.beforeafterArgs.ArgsPOJO->*(java.lang.String,java.util.Collection))">
-      <before name="beforeInvertedArgs1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <before name="beforeInvertedArgs2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInvertedArgs1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <advice name="aroundInvertedArgs2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInvertedArgs1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <after name="afterInvertedArgs2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInvertedArgs1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <throwing name="throwingInvertedArgs2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInvertedArgs1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
-      <finally name="finallyInvertedArgs2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspect"/>
+      <before name="before1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <before name="before2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <advice name="around1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <advice name="around2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <after name="after1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <after name="after2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <throwing name="throwing1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <throwing name="throwing2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <finally name="finally1" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
+      <finally name="finally2" aspect="org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs"/>
    </bind>
 
    <!-- @Args test -->

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-06-04 13:37:46 UTC (rev 63333)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspect.java	2007-06-04 17:47:47 UTC (rev 63334)
@@ -27,12 +27,11 @@
 
 import org.jboss.aop.advice.annotation.Arg;
 import org.jboss.aop.advice.annotation.Args;
-import org.jboss.aop.advice.annotation.Thrown;
 import org.jboss.aop.joinpoint.CurrentInvocation;
 import org.jboss.aop.joinpoint.MethodInvocation;
 
 /**
- * Aspect used on @Arg parameter tests (this class complements <code>
+ * Aspect used on basic @Arg parameter tests (this class complements <code>
  * org.jboss.test.aop.args.ArgAspect</code>, by containing advices that are allowed
  * only with generated advisors).
  * 
@@ -77,28 +76,6 @@
    static int finally1X = 0;
    static Object[] finally2Args = null;
    
-   static boolean beforeInterface1 = false;
-   static boolean beforeInterface2 = false;
-   static boolean beforeInterface3 = false;
-   static boolean aroundInterface1 = false;
-   static boolean aroundInterface2 = false;
-   static boolean aroundInterface3 = false;
-   static boolean afterInterface1 = false;
-   static boolean afterInterface2 = false;
-   static boolean afterInterface3 = false;
-   static boolean throwingInterface1 = false;
-   static boolean throwingInterface2 = false;
-   static boolean throwingInterface3 = false;
-   static boolean finallyInterface1 = false;
-   static boolean finallyInterface2 = false;
-   static boolean finallyInterface3 = false;
-   
-   static boolean beforeInverted1 = false;
-   static boolean aroundInverted1 = false;
-   static boolean afterInverted1 = false;
-   static boolean throwingInverted1 = false;
-   static boolean finallyInverted1 = false;
-   
    public static void clear()
    {
       before1 = false;
@@ -129,28 +106,6 @@
       after6Args = null;
       finally1X = 0;
       finally2Args = null;
-      
-      beforeInterface1 = false;
-      beforeInterface2 = false;
-      beforeInterface3 = false;
-      aroundInterface1 = false;
-      aroundInterface2 = false;
-      aroundInterface3 = false;
-      afterInterface1 = false;
-      afterInterface2 = false;
-      afterInterface3 = false;
-      throwingInterface1 = false;
-      throwingInterface2 = false;
-      throwingInterface3 = false;
-      finallyInterface1 = false;
-      finallyInterface2 = false;
-      finallyInterface3 = false;
-      
-      beforeInverted1 = false;
-      aroundInverted1 = false;
-      afterInverted1 = false;
-      throwingInverted1 = false;
-      finallyInverted1 = false;
    }
    
    public void before1(@Arg(index=0) int x)
@@ -286,192 +241,4 @@
    {
       Assert.fail("This advice should never be executed");
    }
-   
-   public void beforeInterface1(@Arg Interface param)
-   {
-      beforeInterface1 = true;
-   }
-   
-   public void beforeInterface2(@Arg SuperInterface param)
-   {
-      beforeInterface2 = true;
-   }
-   
-   public void beforeInterface3(@Arg Object param)
-   {
-      beforeInterface3 = true;
-   }
-   
-   public void beforeInterface4(@Arg Implementor param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void beforeInterface5(@Arg SubInterface param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public Object aroundInterface1(@Arg Interface param) throws Throwable
-   {
-      aroundInterface1 = true;
-      return CurrentInvocation.proceed();
-   }
-   
-   public Object aroundInterface2(@Arg SuperInterface param) throws Throwable
-   {
-      aroundInterface2 = true;
-      return CurrentInvocation.proceed();
-   }
-   
-   public Object aroundInterface3(@Arg Object param) throws Throwable
-   {
-      aroundInterface3 = true;
-      return CurrentInvocation.proceed();
-   }
-   
-   public Object aroundInterface4(@Arg Implementor param) throws Throwable
-   {
-      Assert.fail("This advice should never be executed");
-      return CurrentInvocation.proceed();
-   }
-   
-   public Object aroundInterface5(@Arg SubInterface param) throws Throwable
-   {
-      Assert.fail("This advice should never be executed");
-      return CurrentInvocation.proceed();
-   }
-   
-   public void afterInterface1(@Arg Interface param)
-   {
-      afterInterface1 = true;
-   }
-   
-   public void afterInterface2(@Arg SuperInterface param)
-   {
-      afterInterface2 = true;
-   }
-   
-   public void afterInterface3(@Arg Object param)
-   {
-      afterInterface3 = true;
-   }
-   
-   public void afterInterface4(@Arg Implementor param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void afterInterface5(@Arg SubInterface param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void throwingInterface1(@Thrown Throwable thrown, @Arg Interface param)
-   {
-      throwingInterface1 = true;
-   }
-   
-   public void throwingInterface2(@Thrown Throwable thrown, @Arg SuperInterface param)
-   {
-      throwingInterface2 = true;
-   }
-   
-   public void throwingInterface3(@Thrown Throwable thrown, @Arg Object param)
-   {
-      throwingInterface3 = true;
-   }
-   
-   public void throwingInterface4(@Thrown Throwable thrown, @Arg Implementor param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void throwingInterface5(@Thrown Throwable thrown, @Arg SubInterface param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void finallyInterface1(@Arg Interface param)
-   {
-      finallyInterface1 = true;
-   }
-   
-   public void finallyInterface2(@Arg SuperInterface param)
-   {
-      finallyInterface2 = true;
-   }
-   
-   public void finallyInterface3(@Arg Object param)
-   {
-      finallyInterface3 = true;
-   }
-   
-   public void finallyInterface4(@Arg Implementor param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void finallyInterface5(@Arg SubInterface param)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void beforeInvertedArgs1(@Arg Object arg2, @Arg (index = 0) String arg1)
-   {
-      beforeInverted1 = true;
-   }
-   
-   public void beforeInvertedArgs2(@Arg (index = 0) Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public Object aroundInvertedArgs1(@Arg Object arg2, @Arg (index = 0) String arg1)
-      throws Throwable
-   {
-      aroundInverted1 = true;
-      return CurrentInvocation.proceed();
-   }
-   
-   public void aroundInvertedArgs2(@Arg (index = 0) Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void afterInvertedArgs1(@Arg Object arg2, @Arg (index = 0) String arg1)
-   {
-      afterInverted1 = true;
-   }
-   
-   public void afterInvertedArgs2(@Arg (index = 0) Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void throwingInvertedArgs1(@Thrown Throwable thrown, @Arg Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      throwingInverted1 = true;
-   }
-   
-   public void throwingInvertedArgs2(@Arg (index = 0) Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      Assert.fail("This advice should never be executed");
-   }
-   
-   public void finallyInvertedArgs1(@Arg Object arg2, @Arg (index = 0) String arg1)
-   {
-      finallyInverted1 = true;
-   }
-   
-   public void finallyInvertedArgs2(@Arg (index = 0) Object arg2,
-         @Arg (index = 0) String arg1)
-   {
-      Assert.fail("This advice should never be executed");
-   }
 }
\ No newline at end of file

Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInterfaces.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInterfaces.java	                        (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInterfaces.java	2007-06-04 17:47:47 UTC (rev 63334)
@@ -0,0 +1,204 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.aop.beforeafterArgs;
+
+import junit.framework.Assert;
+
+import org.jboss.aop.advice.annotation.Arg;
+import org.jboss.aop.advice.annotation.Thrown;
+import org.jboss.aop.joinpoint.CurrentInvocation;
+
+/**
+ * Aspect used on @Arg parameter tests that involve interface hirarchy on joinpoint
+ * arguments.
+ * 
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @see org.jboss.test.aop.beforeafterArgs.ArgAspect
+ * @see org.jboss.test.aop.beforeafterArgs.ArgAspectInvertedArgs
+ */
+public class ArgAspectInterfaces
+{
+   static boolean before1 = false;
+   static boolean before2 = false;
+   static boolean before3 = false;
+   static boolean around1 = false;
+   static boolean around2 = false;
+   static boolean around3 = false;
+   static boolean after1 = false;
+   static boolean after2 = false;
+   static boolean after3 = false;
+   static boolean throwing1 = false;
+   static boolean throwing2 = false;
+   static boolean throwing3 = false;
+   static boolean finally1 = false;
+   static boolean finally2 = false;
+   static boolean finally3 = false;
+   
+   public static void clear()
+   {
+      before1 = false;
+      before2 = false;
+      before3 = false;
+      around1 = false;
+      around2 = false;
+      around3 = false;
+      after1 = false;
+      after2 = false;
+      after3 = false;
+      throwing1 = false;
+      throwing2 = false;
+      throwing3 = false;
+      finally1 = false;
+      finally2 = false;
+      finally3 = false;
+   }
+   
+   public void before1(@Arg Interface param)
+   {
+      before1 = true;
+   }
+   
+   public void before2(@Arg SuperInterface param)
+   {
+      before2 = true;
+   }
+   
+   public void before3(@Arg Object param)
+   {
+      before3 = true;
+   }
+   
+   public void before4(@Arg Implementor param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void before5(@Arg SubInterface param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public Object around1(@Arg Interface param) throws Throwable
+   {
+      around1 = true;
+      return CurrentInvocation.proceed();
+   }
+   
+   public Object around2(@Arg SuperInterface param) throws Throwable
+   {
+      around2 = true;
+      return CurrentInvocation.proceed();
+   }
+   
+   public Object around3(@Arg Object param) throws Throwable
+   {
+      around3 = true;
+      return CurrentInvocation.proceed();
+   }
+   
+   public Object around4(@Arg Implementor param) throws Throwable
+   {
+      Assert.fail("This advice should never be executed");
+      return CurrentInvocation.proceed();
+   }
+   
+   public Object around5(@Arg SubInterface param) throws Throwable
+   {
+      Assert.fail("This advice should never be executed");
+      return CurrentInvocation.proceed();
+   }
+   
+   public void after1(@Arg Interface param)
+   {
+      after1 = true;
+   }
+   
+   public void after2(@Arg SuperInterface param)
+   {
+      after2 = true;
+   }
+   
+   public void after3(@Arg Object param)
+   {
+      after3 = true;
+   }
+   
+   public void after4(@Arg Implementor param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void after5(@Arg SubInterface param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void throwing1(@Thrown Throwable thrown, @Arg Interface param)
+   {
+      throwing1 = true;
+   }
+   
+   public void throwing2(@Thrown Throwable thrown, @Arg SuperInterface param)
+   {
+      throwing2 = true;
+   }
+   
+   public void throwing3(@Thrown Throwable thrown, @Arg Object param)
+   {
+      throwing3 = true;
+   }
+   
+   public void throwing4(@Thrown Throwable thrown, @Arg Implementor param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void throwing5(@Thrown Throwable thrown, @Arg SubInterface param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void finally1(@Arg Interface param)
+   {
+      finally1 = true;
+   }
+   
+   public void finally2(@Arg SuperInterface param)
+   {
+      finally2 = true;
+   }
+   
+   public void finally3(@Arg Object param)
+   {
+      finally3 = true;
+   }
+   
+   public void finally4(@Arg Implementor param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void finally5(@Arg SubInterface param)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+}
\ No newline at end of file

Added: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInvertedArgs.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInvertedArgs.java	                        (rev 0)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgAspectInvertedArgs.java	2007-06-04 17:47:47 UTC (rev 63334)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.aop.beforeafterArgs;
+
+import junit.framework.Assert;
+
+import org.jboss.aop.advice.annotation.Arg;
+import org.jboss.aop.advice.annotation.Thrown;
+import org.jboss.aop.joinpoint.CurrentInvocation;
+
+/**
+ * Aspect used on @Arg parameter tests that involve arguments in inverted positions.
+ * 
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @see org.jboss.test.aop.beforeafterArgs.ArgAspect
+ * @see org.jboss.test.aop.beforeafterArgs.ArgAspetInterfaces
+ */
+public class ArgAspectInvertedArgs
+{
+   static boolean before1 = false;
+   static boolean around1 = false;
+   static boolean after1 = false;
+   static boolean throwing1 = false;
+   static boolean finally1 = false;
+   
+   public static void clear()
+   {
+      before1 = false;
+      around1 = false;
+      after1 = false;
+      throwing1 = false;
+      finally1 = false;
+   }
+   
+   public void before1(@Arg Object arg2, @Arg (index = 0) String arg1)
+   {
+      before1 = true;
+   }
+   
+   public void before2(@Arg (index = 0) Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public Object around1(@Arg Object arg2, @Arg (index = 0) String arg1)
+      throws Throwable
+   {
+      around1 = true;
+      return CurrentInvocation.proceed();
+   }
+   
+   public void around2(@Arg (index = 0) Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void after1(@Arg Object arg2, @Arg (index = 0) String arg1)
+   {
+      after1 = true;
+   }
+   
+   public void after2(@Arg (index = 0) Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void throwing1(@Thrown Throwable thrown, @Arg Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      throwing1 = true;
+   }
+   
+   public void throwing2(@Arg (index = 0) Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+   
+   public void finally1(@Arg Object arg2, @Arg (index = 0) String arg1)
+   {
+      finally1 = true;
+   }
+   
+   public void finally2(@Arg (index = 0) Object arg2,
+         @Arg (index = 0) String arg1)
+   {
+      Assert.fail("This advice should never be executed");
+   }
+}   
\ 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-06-04 13:37:46 UTC (rev 63333)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/ArgTestCase.java	2007-06-04 17:47:47 UTC (rev 63334)
@@ -67,6 +67,8 @@
       super.setUp();
       this.pojo = new ArgsPOJO();
       ArgAspect.clear();
+      ArgAspectInterfaces.clear();
+      ArgAspectInvertedArgs.clear();
    }
 
    public void test1()
@@ -307,25 +309,25 @@
    {
       this.pojo.method9(new Implementor());
       
-      assertTrue(ArgAspect.beforeInterface1);
-      assertTrue(ArgAspect.beforeInterface2);
-      assertTrue(ArgAspect.beforeInterface3);
+      assertTrue(ArgAspectInterfaces.before1);
+      assertTrue(ArgAspectInterfaces.before2);
+      assertTrue(ArgAspectInterfaces.before3);
       
-      assertTrue(ArgAspect.aroundInterface1);
-      assertTrue(ArgAspect.aroundInterface2);
-      assertTrue(ArgAspect.aroundInterface3);
+      assertTrue(ArgAspectInterfaces.around1);
+      assertTrue(ArgAspectInterfaces.around2);
+      assertTrue(ArgAspectInterfaces.around3);
       
-      assertTrue(ArgAspect.afterInterface1);
-      assertTrue(ArgAspect.afterInterface2);
-      assertTrue(ArgAspect.afterInterface3);
+      assertTrue(ArgAspectInterfaces.after1);
+      assertTrue(ArgAspectInterfaces.after2);
+      assertTrue(ArgAspectInterfaces.after3);
       
-      assertFalse(ArgAspect.throwingInterface1);
-      assertFalse(ArgAspect.throwingInterface2);
-      assertFalse(ArgAspect.throwingInterface3);
+      assertFalse(ArgAspectInterfaces.throwing1);
+      assertFalse(ArgAspectInterfaces.throwing2);
+      assertFalse(ArgAspectInterfaces.throwing3);
       
-      assertTrue(ArgAspect.finallyInterface1);
-      assertTrue(ArgAspect.finallyInterface2);
-      assertTrue(ArgAspect.finallyInterface3);
+      assertTrue(ArgAspectInterfaces.finally1);
+      assertTrue(ArgAspectInterfaces.finally2);
+      assertTrue(ArgAspectInterfaces.finally3);
    }
    
    public void test11()
@@ -342,36 +344,36 @@
       
       assertTrue(thrown); // verify precondition for this test
       
-      assertTrue(ArgAspect.beforeInterface1);
-      assertTrue(ArgAspect.beforeInterface2);
-      assertTrue(ArgAspect.beforeInterface3);
+      assertTrue(ArgAspectInterfaces.before1);
+      assertTrue(ArgAspectInterfaces.before2);
+      assertTrue(ArgAspectInterfaces.before3);
       
-      assertTrue(ArgAspect.aroundInterface1);
-      assertTrue(ArgAspect.aroundInterface2);
-      assertTrue(ArgAspect.aroundInterface3);
+      assertTrue(ArgAspectInterfaces.around1);
+      assertTrue(ArgAspectInterfaces.around2);
+      assertTrue(ArgAspectInterfaces.around3);
       
-      assertFalse(ArgAspect.afterInterface1);
-      assertFalse(ArgAspect.afterInterface2);
-      assertFalse(ArgAspect.afterInterface3);
+      assertFalse(ArgAspectInterfaces.after1);
+      assertFalse(ArgAspectInterfaces.after2);
+      assertFalse(ArgAspectInterfaces.after3);
       
-      assertTrue(ArgAspect.throwingInterface1);
-      assertTrue(ArgAspect.throwingInterface2);
-      assertTrue(ArgAspect.throwingInterface3);
+      assertTrue(ArgAspectInterfaces.throwing1);
+      assertTrue(ArgAspectInterfaces.throwing2);
+      assertTrue(ArgAspectInterfaces.throwing3);
       
-      assertTrue(ArgAspect.finallyInterface1);
-      assertTrue(ArgAspect.finallyInterface2);
-      assertTrue(ArgAspect.finallyInterface3);
+      assertTrue(ArgAspectInterfaces.finally1);
+      assertTrue(ArgAspectInterfaces.finally2);
+      assertTrue(ArgAspectInterfaces.finally3);
    }
    
    public void testInverted1()
    {
       pojo.method11("testInverted", null);
       
-      assertTrue(ArgAspect.beforeInverted1);
-      assertTrue(ArgAspect.aroundInverted1);
-      assertTrue(ArgAspect.afterInverted1);
-      assertFalse(ArgAspect.throwingInverted1);
-      assertTrue(ArgAspect.finallyInverted1);
+      assertTrue(ArgAspectInvertedArgs.before1);
+      assertTrue(ArgAspectInvertedArgs.around1);
+      assertTrue(ArgAspectInvertedArgs.after1);
+      assertFalse(ArgAspectInvertedArgs.throwing1);
+      assertTrue(ArgAspectInvertedArgs.finally1);
    }
    
    public void testInverted2()
@@ -388,10 +390,10 @@
       // verify precondition for this test
       assertTrue(thrown);
       
-      assertTrue(ArgAspect.beforeInverted1);
-      assertTrue(ArgAspect.aroundInverted1);
-      assertFalse(ArgAspect.afterInverted1);
-      assertTrue(ArgAspect.throwingInverted1);
-      assertTrue(ArgAspect.finallyInverted1);
+      assertTrue(ArgAspectInvertedArgs.before1);
+      assertTrue(ArgAspectInvertedArgs.around1);
+      assertFalse(ArgAspectInvertedArgs.after1);
+      assertTrue(ArgAspectInvertedArgs.throwing1);
+      assertTrue(ArgAspectInvertedArgs.finally1);
    }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list