[jboss-cvs] JBossAS SVN: r75907 - in projects/microcontainer/trunk/aop-mc-int/src: tests/org/jboss/test/microcontainer/beans/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jul 16 07:00:59 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-07-16 07:00:59 -0400 (Wed, 16 Jul 2008)
New Revision: 75907

Modified:
   projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Stack.java
   projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/StackTest.java
Log:
Stacks should install stack in AspectManager

Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Stack.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Stack.java	2008-07-16 10:58:47 UTC (rev 75906)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/Stack.java	2008-07-16 11:00:59 UTC (rev 75907)
@@ -25,6 +25,8 @@
 import java.util.List;
 
 import org.jboss.aop.AspectManager;
+import org.jboss.aop.advice.AdviceStack;
+import org.jboss.aop.advice.InterceptorFactory;
 
 /**
  * Defines an interceptor stack
@@ -83,4 +85,33 @@
       
       return entries;
    }
+   
+   public void start()
+   {
+      if (manager == null)
+      {
+         throw new IllegalStateException("Null manager");
+      }
+      if (name == null)
+      {
+         throw new IllegalStateException("Null name");
+      }
+      if (advices == null)
+      {
+         throw new IllegalStateException("Null advices");
+      }
+      
+      ArrayList<InterceptorFactory> factories = new ArrayList<InterceptorFactory>();
+      for (InterceptorEntry advice : advices)
+      {
+         factories.add(advice.getInterceptorFactory());
+      }
+      AdviceStack stack = new AdviceStack(name, factories);
+      manager.addAdviceStack(stack);
+   }
+   
+   public void stop()
+   {
+      manager.removeInterceptorStack(name);
+   }
 }

Modified: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/StackTest.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/StackTest.java	2008-07-16 10:58:47 UTC (rev 75906)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/StackTest.java	2008-07-16 11:00:59 UTC (rev 75907)
@@ -21,6 +21,8 @@
 */
 package org.jboss.test.microcontainer.beans.test;
 
+import org.jboss.aop.AspectManager;
+import org.jboss.aop.advice.AdviceStack;
 import org.jboss.test.aop.junit.AOPMicrocontainerTest;
 import org.jboss.test.microcontainer.beans.POJO;
 import org.jboss.test.microcontainer.beans.SimpleFactoryAspect;
@@ -50,5 +52,14 @@
       assertTrue(TestAspect.invoked);
       
    }
+   
+   public void testStackExistsInManager() throws Exception
+   {
+      AspectManager manager = (AspectManager)getBean("AspectManager");
+      AdviceStack stack = manager.getAdviceStack("TestStack");
+      assertNotNull(stack);
+      assertNotNull(stack.getInterceptorFactories());
+      assertEquals(2, stack.getInterceptorFactories().size());
+   }
 
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list