[jboss-cvs] JBossAS SVN: r73518 - in projects/aop/trunk/aop/src: test/org/jboss/test/aop/pointcut and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 20 07:36:11 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-05-20 07:36:11 -0400 (Tue, 20 May 2008)
New Revision: 73518

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/PointcutStats.java
   projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java
Log:
[JBAOP-579] Check that named pointcuts work


Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/PointcutStats.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/PointcutStats.java	2008-05-20 11:19:15 UTC (rev 73517)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/pointcut/PointcutStats.java	2008-05-20 11:36:11 UTC (rev 73518)
@@ -227,7 +227,11 @@
          if (stats != null)
          {
             execution |= stats.isExecution();
+            methodExecution |= stats.isMethodExecution();
+            constructorExecution |= stats.isConstructorExecution();
             call |= stats.isCall();
+            methodCall |= stats.isMethodCall();
+            constructorCall |= stats.isConstructorCall();
             within |= stats.isWithin();
             get |= stats.isGet();
             set |= stats.isSet();

Modified: projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java
===================================================================
--- projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java	2008-05-20 11:19:15 UTC (rev 73517)
+++ projects/aop/trunk/aop/src/test/org/jboss/test/aop/pointcut/PointcutTestCase.java	2008-05-20 11:36:11 UTC (rev 73518)
@@ -392,6 +392,25 @@
       createAndCheckPointcut("all(org.acme.Class)", true, true, true, true, false, false, false, false);
       createAndCheckPointcut("call(org.acme.Class->new()) AND withincode(* org.acme.Class->method())", false, false, false, false, false, false, true, true);
       createAndCheckPointcut("execution(org.acme.Class->new()) OR field(* org.acme.Class->fld)", false, true, true, true, false, false, false, false);
+      
+      //Check that named pointcuts work
+      AspectManager manager = AspectManager.instance();
+      PointcutExpression pointcut1 = new PointcutExpression("METHOD", "execution(void org.acme.Class->method())");
+      manager.addPointcut(pointcut1);
+      PointcutExpression pointcut2 = new PointcutExpression("CONSTRUCTOR", "execution(org.acme.Class->new())");
+      manager.addPointcut(pointcut2);
+      PointcutExpression pointcut3 = new PointcutExpression("COMPOSITION", "METHOD OR CONSTRUCTOR");
+      manager.addPointcut(pointcut3);
+      PointcutStats stats = pointcut3.getStats();
+      assertTrue(stats.isMethodExecution());
+      assertTrue(stats.isConstructorExecution());
+      assertFalse(stats.isGet());
+      assertFalse(stats.isSet());
+      assertFalse(stats.isMethodCall());
+      assertFalse(stats.isConstructorCall());
+      assertFalse(stats.isConstruction());
+      assertFalse(stats.isWithincode());
+
    }
    
    private void createAndCheckPointcut(




More information about the jboss-cvs-commits mailing list