[jboss-cvs] JBossAS SVN: r63283 - in projects/aop/trunk/aop/src: main/org/jboss/aop/advice/annotation and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 31 15:30:59 EDT 2007


Author: flavia.rainone at jboss.com
Date: 2007-05-31 15:30:59 -0400 (Thu, 31 May 2007)
New Revision: 63283

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AdviceMethodProperties.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java
Log:
[JBAOP-408] Problem solved.

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AdviceMethodProperties.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AdviceMethodProperties.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AdviceMethodProperties.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -45,7 +45,7 @@
    
    public static final CtClass[] EMPTY_PARAMETERS = {};
    
-   public static enum OptionalParameters {NONE, TARGET, CALLER, TARGET_CALLER}
+   public static enum OptionalParameters {TARGET, TARGET_CALLER}
    
    //find properties
    private Class aspectClass;
@@ -72,7 +72,9 @@
          Class invocationType,
          Class joinpointReturnType,
          Class[] joinpointParameters,
-         Class[] joinpointExceptions)
+         Class[] joinpointExceptions,
+         Class target,
+         boolean targetAvailable)
    {
       this.aspectClass = aspectClass;
       this.adviceName = adviceName;
@@ -81,30 +83,14 @@
       this.joinpointReturnType = joinpointReturnType;
       this.joinpointParameters = joinpointParameters;
       this.joinpointExceptions = joinpointExceptions;
-      this.optionalParameters = OptionalParameters.NONE;
-   }
-   
-   public AdviceMethodProperties(
-         Class aspectClass, 
-         String adviceName, 
-         Class infoType,
-         Class invocationType,
-         Class joinpointReturnType,
-         Class[] joinpointParameters,
-         Class[] joinpointExceptions,
-         Class target,
-         boolean targetAvailable)
-   {
-      this(aspectClass, adviceName, infoType, invocationType, joinpointReturnType,
-            joinpointParameters, joinpointExceptions);
       this.target = target;
       this.targetAvailable = targetAvailable;
       this.optionalParameters = OptionalParameters.TARGET;
    }
    
    public AdviceMethodProperties(
-         Class aspectClass, 
-         String adviceName, 
+         Class aspectClass,
+         String adviceName,
          Class infoType,
          Class invocationType,
          Class joinpointReturnType,

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/AdviceMethodFactory.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -175,20 +175,11 @@
 
    static final short NOT_ASSIGNABLE_DEGREE = Short.MAX_VALUE;
    static final short MAX_DEGREE = NOT_ASSIGNABLE_DEGREE - 1;
-   static final ParameterAnnotationRule[] FULLY_STATIC =
-      new ParameterAnnotationRule[] {ParameterAnnotationRule.ARGS,
-      ParameterAnnotationRule.ARG};
-   static final int[][] FS_INCOMPATIBILITY = new int[][]{{0, 1}};
    
-   static final ParameterAnnotationRule[] CALLER_AVAILABLE =
-      new ParameterAnnotationRule[] {ParameterAnnotationRule.CALLER,
-      ParameterAnnotationRule.ARGS, ParameterAnnotationRule.ARG};
-   static final int[][] CA_INCOMPATIBILITY = new int[][]{{1, 2}};
-   
    static final ParameterAnnotationRule[] TARGET_AVAILABLE =
       new ParameterAnnotationRule[] {ParameterAnnotationRule.TARGET,
       ParameterAnnotationRule.ARGS, ParameterAnnotationRule.ARG};
-   static final int[][] TA_INCOMPATIBILITY = CA_INCOMPATIBILITY;
+   static final int[][] TA_INCOMPATIBILITY = new int[][]{{1, 2}};;
    
    static final ParameterAnnotationRule[] TARGET_CALLER_AVAILABLE =
       new ParameterAnnotationRule[] {ParameterAnnotationRule.TARGET,
@@ -262,18 +253,10 @@
       int[][] mutuallyExclusive = null;
       switch(properties.getOptionalParameters())
       {
-         case NONE:
-            contextRules = FULLY_STATIC;
-            mutuallyExclusive = FS_INCOMPATIBILITY;
-            break;
          case TARGET:
             contextRules = TARGET_AVAILABLE;
             mutuallyExclusive = TA_INCOMPATIBILITY;
             break;
-         case CALLER:
-            contextRules = CALLER_AVAILABLE;
-            mutuallyExclusive = CA_INCOMPATIBILITY;
-            break;
          case TARGET_CALLER:
             contextRules = TARGET_CALLER_AVAILABLE;
             mutuallyExclusive = TCA_INCOMPATIBILITY;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByConJoinPointGenerator.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -126,10 +126,9 @@
             ctor.getDeclaringClass(),
             ctor.getParameterTypes(),
             ctor.getExceptionTypes(),
-            null, false,
+            ((ConByConInfo) info).getCalledClass(), false,
             ((ConByConInfo) info).getCallingClass(),
             true);
-      properties.setOptionalParameters(AdviceMethodProperties.OptionalParameters.CALLER);
       return properties;
    }
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConByMethodJoinPointGenerator.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -136,11 +136,10 @@
                ctor.getDeclaringClass(),
                ctor.getParameterTypes(),
                ctor.getExceptionTypes(),
-               null,
+               ((ConByMethodInfo) info).getCalledClass(),
                false,
                ((ConByMethodInfo) info).getCallingClass(),
                hasCallingObject());
-      properties.setOptionalParameters(OptionalParameters.CALLER);
       return properties;
    }
 

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/ConstructorJoinPointGenerator.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -118,7 +118,9 @@
             INVOCATION_TYPE,
             ctor.getDeclaringClass(),
             ctor.getParameterTypes(),
-            ctor.getExceptionTypes());
+            ctor.getExceptionTypes(), 
+            ctor.getDeclaringClass(),
+            false);
    }
 
    protected boolean hasTargetObject()

Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java	2007-05-31 19:27:18 UTC (rev 63282)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/beforeafterArgs/TargetTestCase.java	2007-05-31 19:30:59 UTC (rev 63283)
@@ -63,7 +63,8 @@
    public void test1()
    {
       new TargetCallerPOJO(1);
-      assertStaticAdvices(false);
+      assertAllAdvices(false);
+      assertTarget(null, false);
    }
    
    public void test2()
@@ -78,7 +79,8 @@
          thrown = true;
       }
       assertTrue(thrown);
-      assertStaticAdvices(thrown);
+      assertAllAdvices(thrown);
+      assertTarget(null, thrown);
    }
 
    public void test3()
@@ -158,7 +160,8 @@
    public void test11()
    {
       pojo.method5();
-      assertStaticAdvices(false);
+      assertAllAdvices(false);
+      assertTarget(null, false);
    }
    
    public void test12()
@@ -173,7 +176,8 @@
          thrown = true;
       }
       assertTrue(thrown);
-      assertStaticAdvices(thrown);
+      assertAllAdvices(thrown);
+      assertTarget(null, thrown);
    }
    
    public void test13()
@@ -225,7 +229,8 @@
    public void test17()
    {
       TargetCallerPOJO.method11();
-      assertStaticAdvices(false);
+      assertAllAdvices(false);
+      assertTarget(null, false);
    }
    
    public void test18()
@@ -274,6 +279,13 @@
       assertTarget(null, thrown);
    }
    
+   public void test22() throws POJOException
+   {
+      new TargetCallerPOJO(CallType.CONSTRUCTOR, false);
+      assertAllAdvices(false);
+      assertTarget(null, false);
+   }
+   
    private void assertAllAdvices(boolean error)
    {
       assertTrue(TargetAspect.before1);
@@ -315,24 +327,4 @@
       }
       assertSame(TargetAspect.around2Target, TargetAspect.finally2Target);
    }
-   
-   private void assertStaticAdvices(boolean error)
-   {
-      assertTrue(TargetAspect.before1);
-      assertFalse(TargetAspect.before2);
-      assertTrue(TargetAspect.around1);
-      assertFalse(TargetAspect.around2);
-      assertEquals(!error, TargetAspect.after1);
-      assertFalse(TargetAspect.after2);
-      assertFalse(TargetAspect.throwing1);
-      assertEquals(error, TargetAspect.throwing2);
-      assertTrue(TargetAspect.finally1);
-      assertFalse(TargetAspect.finally2);
-      
-      assertNull(TargetAspect.before2Target);
-      assertNull(TargetAspect.around2Target);
-      assertNull(TargetAspect.after2Target);
-      assertNull(TargetAspect.throwing1Target);
-      assertNull(TargetAspect.finally2Target);
-   }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list