[jboss-cvs] JBossAS SVN: r73995 - in projects/microcontainer/trunk/aop-mc-int/src: resources/tests/org/jboss/test/microcontainer/beans/test and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 3 09:08:50 EDT 2008
Author: kabir.khan at jboss.com
Date: 2008-06-03 09:08:50 -0400 (Tue, 03 Jun 2008)
New Revision: 73995
Added:
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCaseNotAutomatic.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCaseNotAutomatic.xml
projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCaseNotAutomatic.xml
projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCase.java
projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCase.java
projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCase.java
projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleTest.java
Modified:
projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/DynamicCFlowDef.java
Log:
[JBMICROCONT-295] Test that the various aop artifacts get undeployed
Modified: projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/DynamicCFlowDef.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/DynamicCFlowDef.java 2008-06-03 12:57:15 UTC (rev 73994)
+++ projects/microcontainer/trunk/aop-mc-int/src/main/org/jboss/aop/microcontainer/beans/DynamicCFlowDef.java 2008-06-03 13:08:50 UTC (rev 73995)
@@ -100,6 +100,6 @@
public void stop()
{
- manager.removeCFlowStack(name);
+ manager.removeDynamicCFlow(name);
}
}
Added: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCaseNotAutomatic.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCaseNotAutomatic.xml (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCaseNotAutomatic.xml 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<aop xmlns="urn:jboss:aop-beans:1.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <annotation expr="class(org.jboss.test.microcontainer.beans.POJO)" invisible="false">
+ @org.jboss.test.microcontainer.beans.Annotation1
+ </annotation>
+
+ <annotation-introduction expr="class(org.jboss.test.microcontainer.beans.POJO)" invisible="false">
+ @org.jboss.test.microcontainer.beans.Annotation1
+ </annotation-introduction>
+
+ <precedence xmlns="urn:jboss:aop-beans:1.0">
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspect" name="advice"/>
+ </precedence>
+
+ <introduction class="org.jboss.test.microcontainer.beans.POJO">
+ <mixin transient="true">
+ <interfaces>org.jboss.test.microcontainer.beans.MixinInterface</interfaces>
+ <class>org.jboss.test.microcontainer.beans.MixinImpl</class>
+ </mixin>
+ </introduction>
+
+ <pointcut name="NamedPointcut" expr="all(org.acme.POJO)"/>
+
+ <prepare expr="all(org.acme.POJO)"/>
+
+ <dynamic-cflow name="DynamicCFlow" class="org.jboss.test.microcontainer.beans.DynamicCFlowImpl"/>
+
+ <cflow-stack name="CFlow">
+ <not-called expr="void org.jboss.test.microcontainer.beans.test.CFlowTest->notCallPOJO(..)"/>
+ <called expr="void org.jboss.test.microcontainer.beans.test.CFlowTest->callPOJO(..)"/>
+ </cflow-stack>
+
+ <typedef name="TypeDef" expr="class(org.jboss.test.microcontainer.beans.POJO)"/>
+
+ <aspect class="org.jboss.test.microcontainer.beans.TestAspectWithProperty">
+ <property name="someProperty">This is only a test</property>
+ </aspect>
+
+ <interceptor class="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+
+ <aspect class="org.jboss.test.microcontainer.beans.TestAspect"/>
+
+ <stack name="TestStack">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspect" name="advice"/>
+ </stack>
+
+ <bind pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithProperty" name="advice"/>
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ <stack-ref name="TestStack"/>
+ </bind>
+
+ <arrayreplacement class="org.jboss.test.microcontainer.beans.woven.test.ClassWithArray"/>
+
+ <arraybind type="READ_WRITE">
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ </arraybind>
+
+ <metadata-loader tag="custom" class="org.jboss.test.microcontainer.beans.TestMetaDataLoader"/>
+
+ <metadata tag="custom" class="org.jboss.test.microcontainer.beans.POJO">
+ <data>custom1</data>
+ </metadata>
+
+ <declare-error name="DeclareError" expr="call(* org.acme.Foo->error(..))">Error!!!</declare-error>
+
+</aop>
\ No newline at end of file
Added: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCaseNotAutomatic.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCaseNotAutomatic.xml (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCaseNotAutomatic.xml 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <bean name="ClassAnnotationOverride" class="org.jboss.aop.microcontainer.beans.AnnotationOverride">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="expr">class(org.jboss.test.microcontainer.beans.POJO)</property>
+ <property name="annotation">@org.jboss.test.microcontainer.beans.Annotation1</property>
+ <property name="invisible">false</property>
+ </bean>
+
+ <bean name="ClassAnnotationIntroduction" class="org.jboss.aop.microcontainer.beans.AnnotationIntroduction">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="expr">class(org.jboss.test.microcontainer.beans.POJO)</property>
+ <property name="annotation">@org.jboss.test.microcontainer.beans.Annotation2</property>
+ <property name="invisible">false</property>
+ </bean>
+
+ <bean name="MixinBinding" class="org.jboss.aop.microcontainer.beans.IntroductionBinding">
+ <property name="expr">has(* *->method())</property>
+ <property name="name">MixinBinding</property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="mixins">
+ <list>
+ <inject bean="MixinBinding$1"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="MixinBinding$1" class="org.jboss.aop.microcontainer.beans.MixinEntry">
+ <property name="construction">new org.jboss.test.microcontainer.beans.MixinImpl(this, "CUSTOM CONSTRUCTION")</property>
+ <property name="interfaces">
+ <list elementClass="java.lang.String">
+ <value>org.jboss.test.microcontainer.beans.MixinInterface</value>
+ </list>
+ </property>
+ <property name="mixin">org.jboss.test.microcontainer.beans.MixinImpl</property>
+ </bean>
+
+ <bean name="PrecedenceBinding" class="org.jboss.aop.microcontainer.beans.PrecedenceDef">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="entries">
+ <list>
+ <inject bean="PrecedenceBinding$1"/>
+ <inject bean="PrecedenceBinding$2"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="PrecedenceBinding$1" class="org.jboss.aop.microcontainer.beans.PrecedenceDefEntry">
+ <property name="aspectName">org.jboss.test.microcontainer.beans.TestInterceptor</property>
+ </bean>
+ <bean name="PrecedenceBinding$2" class="org.jboss.aop.microcontainer.beans.PrecedenceDefEntry">
+ <property name="aspectName">org.jboss.test.microcontainer.beans.TestAspect</property>
+ <property name="aspectMethod">advice</property>
+ </bean>
+
+ <bean name="NamedPointcut" class="org.jboss.aop.microcontainer.beans.NamedPointcut">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">NamedPointcut</property>
+ <property name="expr">execution(* org.jboss.test.microcontainer.beans.POJO->*())</property>
+ </bean>
+
+ <bean name="Prepare" class="org.jboss.aop.microcontainer.beans.Prepare">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">Prepare</property>
+ <property name="expr">all(org.acme.POJO)</property>
+ </bean>
+
+ <bean name="DynamicCFlow" class="org.jboss.aop.microcontainer.beans.DynamicCFlowDef">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">DynamicCFlow</property>
+ <property name="className">org.jboss.test.microcontainer.beans.DynamicCFlowImpl</property>
+ </bean>
+
+ <bean name="CFlow" class="org.jboss.aop.microcontainer.beans.CFlowStack">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">CFlow</property>
+ <property name="entries">
+ <list>
+ <inject bean="CFlow$1"/>
+ <inject bean="CFlow$2"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="CFlow$1" class="org.jboss.aop.microcontainer.beans.CFlowStackEntry">
+ <property name="called">false</property>
+ <property name="expr">void org.jboss.test.microcontainer.beans.test.CFlowTest->notCallPOJO(..)</property>
+ </bean>
+ <bean name="CFlow$2" class="org.jboss.aop.microcontainer.beans.CFlowStackEntry">
+ <property name="called">true</property>
+ <property name="expr">void org.jboss.test.microcontainer.beans.test.CFlowTest->callPOJO(..)</property>
+ </bean>
+
+
+ <bean name="TypeDef" class="org.jboss.aop.microcontainer.beans.TypeDef">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">TypeDef</property>
+ <property name="expr">class(org.jboss.test.microcontainer.beans.POJO)</property>
+ </bean>
+
+ <beanfactory name="Factory$org.jboss.test.microcontainer.beans.TestAspectWithProperty" class="org.jboss.test.microcontainer.beans.TestAspectWithProperty">
+ <property name="someProperty">This is only a test</property>
+ </beanfactory>
+ <bean name="org.jboss.test.microcontainer.beans.TestAspectWithProperty" class="org.jboss.aop.microcontainer.beans.Aspect">
+ <property name="advice"><inject bean="Factory$org.jboss.test.microcontainer.beans.TestAspectWithProperty"/></property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ </bean>
+
+ <beanfactory name="Factory$org.jboss.test.microcontainer.beans.TestInterceptor" class="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ <bean name="org.jboss.test.microcontainer.beans.TestInterceptor" class="org.jboss.aop.microcontainer.beans.Aspect">
+ <property name="advice"><inject bean="Factory$org.jboss.test.microcontainer.beans.TestInterceptor"/></property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ </bean>
+
+ <beanfactory name="Factory$org.jboss.test.microcontainer.beans.TestAspect" class="org.jboss.test.microcontainer.beans.TestAspect"/>
+ <bean name="org.jboss.test.microcontainer.beans.TestAspect" class="org.jboss.aop.microcontainer.beans.Aspect">
+ <property name="advice"><inject bean="Factory$org.jboss.test.microcontainer.beans.TestAspect"/></property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ </bean>
+
+ <bean name="TestStack" class="org.jboss.aop.microcontainer.beans.Stack">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">TestStack</property>
+ <property name="advices">
+ <list>
+ <inject bean="TestStack$1"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="TestStack$1" class="org.jboss.aop.microcontainer.beans.InterceptorEntry">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="aspect"><inject bean="org.jboss.test.microcontainer.beans.TestAspect"/></property>
+ <property name="aspectMethod">advice</property>
+ <property name="forStack">true</property>
+ </bean>
+
+ <bean name="TestAspectBinding" class="org.jboss.aop.microcontainer.beans.AspectBinding">
+ <property name="pointcut">execution(* org.jboss.test.microcontainer.beans.POJO->*(..))</property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="advices">
+ <list>
+ <inject bean="TestAspectBinding$1"/>
+ <inject bean="TestAspectBinding$2"/>
+ <inject bean="TestAspectBinding$3"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="TestAspectBinding$1" class="org.jboss.aop.microcontainer.beans.InterceptorEntry">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="aspect"><inject bean="org.jboss.test.microcontainer.beans.TestAspectWithProperty"/></property>
+ <property name="aspectMethod">advice</property>
+ <property name="binding"><inject bean="TestAspectBinding" state="Instantiated"/></property>
+ </bean>
+ <bean name="TestAspectBinding$2" class="org.jboss.aop.microcontainer.beans.InterceptorEntry">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="aspect"><inject bean="org.jboss.test.microcontainer.beans.TestInterceptor"/></property>
+ <property name="binding"><inject bean="TestAspectBinding" state="Instantiated"/></property>
+ </bean>
+ <bean name="TestAspectBinding$3" class="org.jboss.aop.microcontainer.beans.StackEntry">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="stack"><inject bean="TestStack"/></property>
+ <property name="binding"><inject bean="TestAspectBinding" state="Instantiated"/></property>
+ </bean>
+
+ <bean name="TestArrayReplacement" class="org.jboss.aop.microcontainer.beans.ArrayReplacement">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="classes">org.jboss.test.microcontainer.beans.woven.test.ClassWithArray</property>
+ </bean>
+
+ <bean name="TestArrayBinding" class="org.jboss.aop.microcontainer.beans.ArrayBinding">
+ <property name="name">TestArrayBinding</property>
+ <property name="type">READ_WRITE</property>
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="advices">
+ <list>
+ <inject bean="TestArrayBinding$1"/>
+ </list>
+ </property>
+ </bean>
+ <bean name="TestArrayBinding$1" class="org.jboss.aop.microcontainer.beans.InterceptorEntry">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="aspect"><inject bean="org.jboss.test.microcontainer.beans.TestInterceptor"/></property>
+ <property name="binding"><inject bean="TestArrayBinding" state="Instantiated"/></property>
+ </bean>
+
+ <bean name="custom$loader" class="org.jboss.aop.microcontainer.beans.ClassMetaDataLoader">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="tag">custom</property>
+ <property name="className">org.jboss.test.microcontainer.beans.TestMetaDataLoader</property>
+ </bean>
+
+ <bean name="ClassMetaData" class="org.jboss.aop.microcontainer.beans.ClassMetaData">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="tag">custom</property>
+ <property name="className">org.jboss.test.microcontainer.beans.POJO</property>
+ <property name="element">
+ <![CDATA[
+ <metadata>
+ <data>custom1</data>
+ </metadata>
+ ]]>
+ </property>
+ </bean>
+
+ <bean name="DeclareError" class="org.jboss.aop.microcontainer.beans.DeclareDefinition">
+ <property name="manager"><inject bean="AspectManager"/></property>
+ <property name="name">DeclareError</property>
+ <property name="expr">call(* org.acme.Foo->error(..))</property>
+ <property name="message">Error!!!</property>
+ <property name="warning">false</property>
+ </bean>
+</deployment>
Added: projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCaseNotAutomatic.xml
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCaseNotAutomatic.xml (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/resources/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCaseNotAutomatic.xml 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="AspectManager" class="org.jboss.aop.AspectManager">
+ <constructor factoryClass="org.jboss.aop.AspectManager" factoryMethod="instance"/>
+ </bean>
+
+ <annotation xmlns="urn:jboss:aop-beans:1.0" expr="class(org.jboss.test.microcontainer.beans.POJO)" invisible="false">
+ @org.jboss.test.microcontainer.beans.Annotation1
+ </annotation>
+
+ <annotation-introduction xmlns="urn:jboss:aop-beans:1.0" expr="class(org.jboss.test.microcontainer.beans.POJO)" invisible="false">
+ @org.jboss.test.microcontainer.beans.Annotation1
+ </annotation-introduction>
+
+ <precedence xmlns="urn:jboss:aop-beans:1.0">
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspect" name="advice"/>
+ </precedence>
+
+ <introduction xmlns="urn:jboss:aop-beans:1.0" class="org.jboss.test.microcontainer.beans.POJO">
+ <mixin transient="true">
+ <interfaces>org.jboss.test.microcontainer.beans.MixinInterface</interfaces>
+ <class>org.jboss.test.microcontainer.beans.MixinImpl</class>
+ </mixin>
+ </introduction>
+
+ <pointcut xmlns="urn:jboss:aop-beans:1.0" name="NamedPointcut" expr="all(org.acme.POJO)"/>
+
+ <prepare xmlns="urn:jboss:aop-beans:1.0" expr="all(org.acme.POJO)"/>
+
+ <dynamic-cflow xmlns="urn:jboss:aop-beans:1.0" name="DynamicCFlow" class="org.jboss.test.microcontainer.beans.DynamicCFlowImpl"/>
+
+ <cflow-stack xmlns="urn:jboss:aop-beans:1.0" name="CFlow">
+ <not-called expr="void org.jboss.test.microcontainer.beans.test.CFlowTest->notCallPOJO(..)"/>
+ <called expr="void org.jboss.test.microcontainer.beans.test.CFlowTest->callPOJO(..)"/>
+ </cflow-stack>
+
+ <typedef xmlns="urn:jboss:aop-beans:1.0" name="TypeDef" expr="class(org.jboss.test.microcontainer.beans.POJO)"/>
+
+ <aspect xmlns="urn:jboss:aop-beans:1.0" class="org.jboss.test.microcontainer.beans.TestAspectWithProperty">
+ <property xmlns:mc="urn:jboss:bean-deployer:2.0" name="someProperty">This is only a test</property>
+ </aspect>
+
+ <interceptor xmlns="urn:jboss:aop-beans:1.0" class="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+
+ <aspect xmlns="urn:jboss:aop-beans:1.0" class="org.jboss.test.microcontainer.beans.TestAspect"/>
+
+ <stack xmlns="urn:jboss:aop-beans:1.0" name="TestStack">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspect" name="advice"/>
+ </stack>
+
+ <bind xmlns="urn:jboss:aop-beans:1.0" pointcut="execution(* org.jboss.test.microcontainer.beans.POJO->*(..))">
+ <advice aspect="org.jboss.test.microcontainer.beans.TestAspectWithProperty" name="advice"/>
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ <stack-ref name="TestStack"/>
+ </bind>
+
+ <arrayreplacement xmlns="urn:jboss:aop-beans:1.0" class="org.jboss.test.microcontainer.beans.woven.test.ClassWithArray"/>
+
+ <arraybind xmlns="urn:jboss:aop-beans:1.0" type="READ_WRITE">
+ <interceptor-ref name="org.jboss.test.microcontainer.beans.TestInterceptor"/>
+ </arraybind>
+
+ <metadata-loader xmlns="urn:jboss:aop-beans:1.0" tag="custom" class="org.jboss.test.microcontainer.beans.TestMetaDataLoader"/>
+
+ <metadata xmlns="urn:jboss:aop-beans:1.0" tag="custom" class="org.jboss.test.microcontainer.beans.POJO">
+ <data>custom1</data>
+ </metadata>
+
+ <declare-error xmlns="urn:jboss:aop-beans:1.0" name="DeclareError" expr="call(* org.acme.Foo->error(..))">Error!!!</declare-error>
+
+</deployment>
Added: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCase.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCase.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleAopTestCase.java 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.microcontainer.beans.test;
+
+import junit.framework.Test;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class UndeploySimpleAopTestCase extends UndeploySimpleTest
+{
+
+ public UndeploySimpleAopTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(UndeploySimpleAopTestCase.class);
+ }
+
+ @Override
+ protected String getFileName()
+ {
+ return "UndeploySimpleAopTestCaseNotAutomatic.xml";
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCase.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCase.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleBeansTestCase.java 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,49 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.microcontainer.beans.test;
+
+import junit.framework.Test;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class UndeploySimpleBeansTestCase extends UndeploySimpleTest
+{
+
+ public UndeploySimpleBeansTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(UndeploySimpleBeansTestCase.class);
+ }
+
+ @Override
+ protected String getFileName()
+ {
+ return "UndeploySimpleBeansTestCaseNotAutomatic.xml";
+ }
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCase.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCase.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleDeploymentTestCase.java 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.microcontainer.beans.test;
+
+import junit.framework.Test;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class UndeploySimpleDeploymentTestCase extends UndeploySimpleTest
+{
+
+ public UndeploySimpleDeploymentTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(UndeploySimpleDeploymentTestCase.class);
+ }
+
+ @Override
+ protected String getFileName()
+ {
+ return "UndeploySimpleDeploymentTestCaseNotAutomatic.xml";
+ }
+
+}
Added: projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleTest.java
===================================================================
--- projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleTest.java (rev 0)
+++ projects/microcontainer/trunk/aop-mc-int/src/tests/org/jboss/test/microcontainer/beans/test/UndeploySimpleTest.java 2008-06-03 13:08:50 UTC (rev 73995)
@@ -0,0 +1,167 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.microcontainer.beans.test;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.aop.AspectManager;
+import org.jboss.aop.pointcut.DeclareDef;
+import org.jboss.test.aop.junit.AOPMicrocontainerTest;
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class UndeploySimpleTest extends AOPMicrocontainerTest
+{
+ public UndeploySimpleTest(String name)
+ {
+ super(name);
+ }
+
+ public void testUndeploy() throws Exception
+ {
+ AspectManager manager = AspectManager.instance();
+ checkArtifacts(manager, false);
+
+ deploy(getFileName());
+ boolean error = true;
+ try
+ {
+ checkArtifacts(manager, true);
+ error = false;
+ }
+ finally
+ {
+ try
+ {
+ undeploy(getFileName());
+ }
+ catch (Throwable t)
+ {
+ if (!error)
+ {
+ // AutoGenerated
+ throw new RuntimeException(t);
+ }
+ }
+ }
+ checkArtifacts(manager, false);
+ }
+
+ @SuppressWarnings("unchecked")
+ private void checkArtifacts(AspectManager manager, boolean shouldBeThere)
+ {
+ Object o = manager.getTypedef("TypeDef");
+ checkShouldBeThere(o, shouldBeThere);
+
+ o = manager.getCFlowStack("CFlow");
+ checkShouldBeThere(o, shouldBeThere);
+
+ o = manager.getDynamicCFlow("DynamicCFlow");
+ checkShouldBeThere(o, shouldBeThere);
+
+ Map map = manager.getPointcuts();
+ checkShouldBeThere(map.keySet(), 3, shouldBeThere);
+
+ map = manager.getInterfaceIntroductions(); //No name needed
+ checkShouldBeThere(map.keySet(), shouldBeThere);
+
+ List coll = manager.getAnnotationIntroductions(); //No name needed
+ checkShouldBeThere(coll, shouldBeThere);
+
+ coll = manager.getAnnotationOverrides(); //No name needed
+ checkShouldBeThere(coll, shouldBeThere);
+
+ map = manager.getPrecedenceDefs(); // No name needed
+ checkShouldBeThere(map, shouldBeThere);
+
+ map = manager.getArrayReplacements(); //No name needed
+ checkShouldBeThere(map, shouldBeThere);
+
+ checkShouldBeThere(manager.getClassMetaData().keySet(), shouldBeThere);
+ checkShouldBeThere(manager.getClassMetaDataLoaders().keySet(), shouldBeThere);
+
+ Iterator<DeclareDef> it = manager.getDeclares();
+ if (shouldBeThere)
+ {
+ assertTrue(it.hasNext());
+ o = it.next();
+ assertNotNull(o);
+ }
+ assertFalse(it.hasNext());
+
+ }
+
+ private void checkShouldBeThere(Object o, boolean shouldBeThere)
+ {
+ if (shouldBeThere) assertNotNull(o);
+ else assertNull(o);
+ }
+
+ @SuppressWarnings("unchecked")
+ private void checkShouldBeThere(Collection coll, boolean shouldBeThere)
+ {
+ checkShouldBeThere(coll, 1, shouldBeThere);
+ }
+
+ @SuppressWarnings("unchecked")
+ private void checkShouldBeThere(Collection coll, int sizeIfThere, boolean shouldBeThere)
+ {
+ if (shouldBeThere)
+ {
+ assertNotNull(coll);
+ assertEquals(sizeIfThere, coll.size());
+ }
+ else
+ {
+ if (coll != null)
+ {
+ assertEquals(0, coll.size());
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void checkShouldBeThere(Map coll, boolean shouldBeThere)
+ {
+ if (shouldBeThere)
+ {
+ assertNotNull(coll);
+ assertEquals(1, coll.size());
+ }
+ else
+ {
+ if (coll != null)
+ {
+ assertEquals(0, coll.size());
+ }
+ }
+ }
+
+ protected abstract String getFileName();
+}
More information about the jboss-cvs-commits
mailing list