[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