[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