[jboss-cvs] JBossAS SVN: r96094 - in projects/jboss-deployers/trunk: deployers-vfs/src/test/java/org/jboss/test/deployers and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 6 06:47:45 EST 2009


Author: kabir.khan at jboss.com
Date: 2009-11-06 06:47:44 -0500 (Fri, 06 Nov 2009)
New Revision: 96094

Added:
   projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml
Removed:
   projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/KernelControllerContextCreator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopControllerContextCreator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialControllerContextCreator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialControllerContextCreator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialControllerContextDeployer.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialControllerContextCreator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/KernelControllerContextCreatorTestCase.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.xml
Modified:
   projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
   projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java
   projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java
Log:
[JBDEPLOY-219] Rename KernelControllerContextCreator to BeanMetaDataDeployerPlugin since it now serves more than one purpose and is only really needed by BeanMetaDataDeployer

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -39,7 +39,7 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.deployer.helpers.KernelControllerContextCreator;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -59,13 +59,13 @@
    /** The controller */
    private Controller controller;
    
-   /** List of controller context creators */
-   private List<KernelControllerContextCreator> controllerContextCreators = new ArrayList<KernelControllerContextCreator>();
+   /** List of bean metadata plugins */
+   private List<BeanMetaDataDeployerPlugin> plugins = new ArrayList<BeanMetaDataDeployerPlugin>();
    
    private ReadWriteLock lock = new ReentrantReadWriteLock();
 
-   /** Records which KernelControllerContextCreator was used to deploy a context */
-   private Map<String, KernelControllerContextCreator> deployedWithControllerContextCreator = new ConcurrentHashMap<String, KernelControllerContextCreator>();
+   /** Records which plugin was used to deploy a context */
+   private Map<String, BeanMetaDataDeployerPlugin> deployedWithPlugin = new ConcurrentHashMap<String, BeanMetaDataDeployerPlugin>();
 
    /**
     * Create a new BeanDeployer.
@@ -113,7 +113,7 @@
     * 
     * @param creator The controller context creator to be added
     */
-   public void addControllerContextCreator(KernelControllerContextCreator creator)
+   public void addControllerContextCreator(BeanMetaDataDeployerPlugin creator)
    {
       if (creator == null)
          return;
@@ -121,8 +121,8 @@
       lock.writeLock().lock();
       try
       {
-         controllerContextCreators.add(creator);
-         Collections.sort(controllerContextCreators, KernelControllerContextComparator.getInstance());
+         plugins.add(creator);
+         Collections.sort(plugins, KernelControllerContextComparator.getInstance());
       }
       finally
       {
@@ -135,7 +135,7 @@
     * 
     * @param creator The controller context creator to be removed
     */
-   public void removeControllerContextCreator(KernelControllerContextCreator creator)
+   public void removeControllerContextCreator(BeanMetaDataDeployerPlugin creator)
    {
       if (creator == null)
          return;
@@ -143,7 +143,7 @@
       lock.writeLock().lock();
       try
       {
-         controllerContextCreators.remove(creator);
+         plugins.remove(creator);
       }
       finally
       {
@@ -188,24 +188,23 @@
     * Creates a kernel controller context using the controller context creators in controllerContextCreators.
     * The first controller context creator that returns a context is used. If no matching controller context
     * creator is found, a plain KernelControllerContext is created.
-    *
     * @param unit The deployment unit
     * @param deployment The bean metadata being deployed
     * @return the created KernelControllerContext
     */
    protected KernelControllerContext createControllerContext(DeploymentUnit unit, BeanMetaData deployment)
    {
-      if (controllerContextCreators.size() > 0)
+      if (plugins.size() > 0)
       {
          lock.readLock().lock();
          try
          {
-            for (KernelControllerContextCreator creator : controllerContextCreators)
+            for (BeanMetaDataDeployerPlugin plugin : plugins)
             {
-               KernelControllerContext context = creator.createContext(controller, unit, deployment);
+               KernelControllerContext context = plugin.createContext(controller, unit, deployment);
                if (context != null)
                {
-                  deployedWithControllerContextCreator.put(deployment.getName(), creator);
+                  deployedWithPlugin.put(deployment.getName(), plugin);
                   return context;
                }
             }
@@ -221,8 +220,8 @@
    @Override
    public void undeploy(DeploymentUnit unit, BeanMetaData deployment)
    {
-      KernelControllerContextCreator creator = deployedWithControllerContextCreator.remove(deployment.getName());
-      if (creator == null || creator.uninstallContext(controller, unit, deployment) == false)
+      BeanMetaDataDeployerPlugin plugin = deployedWithPlugin.remove(deployment.getName());
+      if (plugin == null || plugin.uninstallContext(controller, unit, deployment) == false)
       {
          controller.uninstall(deployment.getName());
       }

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -2,7 +2,7 @@
 
 import java.util.Comparator;
 
-import org.jboss.deployers.vfs.spi.deployer.helpers.KernelControllerContextCreator;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
 
 /**
  * Singleton comparator to compare KernelControllerContextCreators by their relative order
@@ -10,7 +10,7 @@
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision: 1.1 $
  */
-public class KernelControllerContextComparator implements Comparator<KernelControllerContextCreator>
+public class KernelControllerContextComparator implements Comparator<BeanMetaDataDeployerPlugin>
 {
    /** Singleton instance*/
    private static final KernelControllerContextComparator INSTANCE = new KernelControllerContextComparator();
@@ -34,7 +34,7 @@
     * @param o1 The second KernelContextCreator
     * @return An integer as per the {@link Comparator#compare(Object, Object)} contract
     */
-   public int compare(KernelControllerContextCreator o1, KernelControllerContextCreator o2)
+   public int compare(BeanMetaDataDeployerPlugin o1, BeanMetaDataDeployerPlugin o2)
    {
       if (o1.getRelativeOrder() < o2.getRelativeOrder())
          return -1;

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -29,7 +29,7 @@
 import org.jboss.test.deployers.vfs.reflect.ReflectTestSuite;
 import org.jboss.test.deployers.vfs.dependency.DependencyTestSuite;
 import org.jboss.test.deployers.vfs.deployer.bean.BeanDeployerTestSuite;
-import org.jboss.test.deployers.vfs.deployer.bean.test.KernelControllerContextCreatorTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataDeployerPluginTestCase;
 import org.jboss.test.deployers.vfs.deployer.facelets.FaceletsTestSuite;
 import org.jboss.test.deployers.vfs.deployer.jaxp.JAXPDeployerTestSuite;
 import org.jboss.test.deployers.vfs.deployer.merge.MergeDeployerTestSuite;

Modified: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -31,9 +31,9 @@
 import org.jboss.test.deployers.vfs.deployer.bean.test.BeanManagedDeploymentUnitTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataFactoryDeployerUnitTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.BeanScanningUnitTestCase;
-import org.jboss.test.deployers.vfs.deployer.bean.test.BootstrapKernelControllerContextCreatorTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BootstrapBeanMetaDataPluginTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.BuilderBeansUnitTestCase;
-import org.jboss.test.deployers.vfs.deployer.bean.test.KernelControllerContextCreatorTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataDeployerPluginTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.KernelDeployerUnitTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.KernelScopeUnitTestCase;
 import org.jboss.test.deployers.vfs.deployer.bean.test.AutowireAnnotationBeansTestCase;
@@ -67,8 +67,8 @@
       suite.addTest(AnnotatedBeansUnitTestCase.suite());
       suite.addTest(BuilderBeansUnitTestCase.suite());
       suite.addTest(AutowireAnnotationBeansTestCase.suite());
-      suite.addTest(KernelControllerContextCreatorTestCase.suite());
-      suite.addTest(BootstrapKernelControllerContextCreatorTestCase.suite());
+      suite.addTest(BeanMetaDataDeployerPluginTestCase.suite());
+      suite.addTest(BootstrapBeanMetaDataPluginTestCase.suite());
 
       return suite;
    }

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopControllerContextCreator.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,75 @@
+/*
+* 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.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NoopBeanMetaDataDeployerPlugin implements BeanMetaDataDeployerPlugin
+{
+   private static List<Integer> triggered = new ArrayList<Integer>();
+   
+   private int order;
+   
+   public NoopBeanMetaDataDeployerPlugin(int order)
+   {
+      this.order = order;
+   }
+   
+   public static List<Integer> getTriggered()
+   {
+      return triggered;
+   }
+   
+   public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+   {
+      if (controller == null)
+         throw new IllegalArgumentException("Null controller");
+      if (unit == null)
+         throw new IllegalArgumentException("Null unit");
+      if (beanMetaData == null)
+         throw new IllegalArgumentException("Null beanMetadata");
+      triggered.add(order);
+      return null;
+   }
+
+   public int getRelativeOrder()
+   {
+      return order;
+   }
+
+   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+   {
+      throw new IllegalStateException("Should not be called since NoopBMDDP never creates any deployments");
+   }
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopControllerContextCreator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopControllerContextCreator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopControllerContextCreator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,75 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.support;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.deployer.helpers.KernelControllerContextCreator;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class NoopControllerContextCreator implements KernelControllerContextCreator
-{
-   private static List<Integer> triggered = new ArrayList<Integer>();
-   
-   private int order;
-   
-   public NoopControllerContextCreator(int order)
-   {
-      this.order = order;
-   }
-   
-   public static List<Integer> getTriggered()
-   {
-      return triggered;
-   }
-   
-   public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
-   {
-      if (controller == null)
-         throw new IllegalArgumentException("Null controller");
-      if (unit == null)
-         throw new IllegalArgumentException("Null unit");
-      if (beanMetaData == null)
-         throw new IllegalArgumentException("Null beanMetadata");
-      triggered.add(order);
-      return null;
-   }
-
-   public int getRelativeOrder()
-   {
-      return order;
-   }
-
-   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
-   {
-      throw new IllegalStateException("Should not be called since NoopCCC never creates any deployments");
-   }
-}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialControllerContextCreator.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,63 @@
+/*
+* 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.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NotUndeployingSpecialBeanMetaDataDeployerPlugin extends SpecialBeanMetaDataDeployerPlugin
+{
+   private List<String> undeployedNames = new ArrayList<String>();
+   
+   public NotUndeployingSpecialBeanMetaDataDeployerPlugin()
+   {
+      // FIXME NotUndeployingSpecialControllerContextCreator constructor
+      super();
+   }
+
+   public NotUndeployingSpecialBeanMetaDataDeployerPlugin(int order)
+   {
+      // FIXME NotUndeployingSpecialControllerContextCreator constructor
+      super(order);
+   }
+
+   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+   {
+      undeployedNames.add(beanMetaData.getName());
+      return false;
+   }
+
+   public List<String> getUndeployedNames()
+   {
+      return undeployedNames;
+   }
+
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialControllerContextCreator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialControllerContextCreator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialControllerContextCreator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,63 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.support;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class NotUndeployingSpecialControllerContextCreator extends SpecialControllerContextCreator
-{
-   private List<String> undeployedNames = new ArrayList<String>();
-   
-   public NotUndeployingSpecialControllerContextCreator()
-   {
-      // FIXME NotUndeployingSpecialControllerContextCreator constructor
-      super();
-   }
-
-   public NotUndeployingSpecialControllerContextCreator(int order)
-   {
-      // FIXME NotUndeployingSpecialControllerContextCreator constructor
-      super(order);
-   }
-
-   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
-   {
-      undeployedNames.add(beanMetaData.getName());
-      return false;
-   }
-
-   public List<String> getUndeployedNames()
-   {
-      return undeployedNames;
-   }
-
-}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialControllerContextCreator.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,79 @@
+/*
+* 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.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
+import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class SpecialBeanMetaDataDeployerPlugin implements BeanMetaDataDeployerPlugin
+{
+   public static final String TRIGGER = "TriggerSpecialControllerContextCreator";
+      
+   private int order;
+   
+   public SpecialBeanMetaDataDeployerPlugin()
+   {
+      this(3);
+   }
+   
+   public SpecialBeanMetaDataDeployerPlugin(int order)
+   {
+      this.order = order;
+   }
+   
+   public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+   {
+      if (unit.getAttachment(TRIGGER) != null)
+         return new SpecialControllerContext(null, beanMetaData, null);
+      return null;
+   }
+   
+   public static class SpecialControllerContext extends AbstractKernelControllerContext
+   {
+      protected SpecialControllerContext(BeanInfo info, BeanMetaData metaData, Object target)
+      {
+         // FIXME SpecialControllerContext constructor
+         super(info, metaData, target);
+      }
+      
+   }
+
+   public int getRelativeOrder()
+   {
+      return order;
+   }
+
+}
+

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialControllerContextCreator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialControllerContextCreator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialControllerContextCreator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,79 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.support;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.beans.info.spi.BeanInfo;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.deployer.helpers.KernelControllerContextCreator;
-import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public abstract class SpecialControllerContextCreator implements KernelControllerContextCreator
-{
-   public static final String TRIGGER = "TriggerSpecialControllerContextCreator";
-      
-   private int order;
-   
-   public SpecialControllerContextCreator()
-   {
-      this(3);
-   }
-   
-   public SpecialControllerContextCreator(int order)
-   {
-      this.order = order;
-   }
-   
-   public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
-   {
-      if (unit.getAttachment(TRIGGER) != null)
-         return new SpecialControllerContext(null, beanMetaData, null);
-      return null;
-   }
-   
-   public static class SpecialControllerContext extends AbstractKernelControllerContext
-   {
-      protected SpecialControllerContext(BeanInfo info, BeanMetaData metaData, Object target)
-      {
-         // FIXME SpecialControllerContext constructor
-         super(info, metaData, target);
-      }
-      
-   }
-
-   public int getRelativeOrder()
-   {
-      return order;
-   }
-
-}
-

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialControllerContextDeployer.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,48 @@
+/*
+* 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.deployers.vfs.deployer.bean.support;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class TriggerSpecialBeanMetaDataDeployerPlugin extends AbstractRealDeployer
+{
+
+   public TriggerSpecialBeanMetaDataDeployerPlugin()
+   {
+      setStage(DeploymentStages.PRE_REAL);
+   }
+   
+   @Override
+   protected void internalDeploy(DeploymentUnit unit) throws DeploymentException
+   {
+      unit.addAttachment(SpecialBeanMetaDataDeployerPlugin.TRIGGER, SpecialBeanMetaDataDeployerPlugin.TRIGGER);
+   }
+
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialControllerContextDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialControllerContextDeployer.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialControllerContextDeployer.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,48 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.support;
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class TriggerSpecialControllerContextDeployer extends AbstractRealDeployer
-{
-
-   public TriggerSpecialControllerContextDeployer()
-   {
-      setStage(DeploymentStages.PRE_REAL);
-   }
-   
-   @Override
-   protected void internalDeploy(DeploymentUnit unit) throws DeploymentException
-   {
-      unit.addAttachment(SpecialControllerContextCreator.TRIGGER, SpecialControllerContextCreator.TRIGGER);
-   }
-
-}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialControllerContextCreator.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,62 @@
+/*
+* 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.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class UndeployingSpecialBeanMetaDataDeployerPlugin extends SpecialBeanMetaDataDeployerPlugin
+{
+   private List<String> undeployedNames = new ArrayList<String>();
+   
+   public UndeployingSpecialBeanMetaDataDeployerPlugin()
+   {
+      super();
+   }
+
+   public UndeployingSpecialBeanMetaDataDeployerPlugin(int order)
+   {
+      super(order);
+   }
+
+   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+   {
+      undeployedNames.add(beanMetaData.getName());
+      controller.uninstall(beanMetaData.getName());
+      return false;
+   }
+
+   public List<String> getUndeployedNames()
+   {
+      return undeployedNames;
+   }
+
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialControllerContextCreator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialControllerContextCreator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialControllerContextCreator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,62 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.support;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class UndeployingSpecialControllerContextCreator extends SpecialControllerContextCreator
-{
-   private List<String> undeployedNames = new ArrayList<String>();
-   
-   public UndeployingSpecialControllerContextCreator()
-   {
-      super();
-   }
-
-   public UndeployingSpecialControllerContextCreator(int order)
-   {
-      super(order);
-   }
-
-   public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
-   {
-      undeployedNames.add(beanMetaData.getName());
-      controller.uninstall(beanMetaData.getName());
-      return false;
-   }
-
-   public List<String> getUndeployedNames()
-   {
-      return undeployedNames;
-   }
-
-}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/KernelControllerContextCreatorTestCase.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,269 @@
+/*
+* 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.deployers.vfs.deployer.bean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
+import org.jboss.test.deployers.support.TCCLClassLoaderDeployer;
+import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
+import org.jboss.test.deployers.vfs.deployer.bean.support.NoopBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.UndeployingSpecialBeanMetaDataDeployerPlugin;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class BeanMetaDataDeployerPluginTestCase extends AbstractDeployerUnitTest
+{
+   BeanMetaDataDeployer beanMetaDataDeployer;
+   
+   public static Test suite()
+   {
+      return new TestSuite(BeanMetaDataDeployerPluginTestCase.class);
+   }
+
+   public BeanMetaDataDeployerPluginTestCase(String name) throws Throwable
+   {
+      super(name);
+   }
+
+   @Override
+   protected void addDeployers(Kernel kernel)
+   {
+      BeanDeployer beanDeployer = new BeanDeployer();
+      KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+      beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
+      addDeployer(main, new TCCLClassLoaderDeployer());
+      addDeployer(main, beanDeployer);
+      addDeployer(main, kernelDeploymentDeployer);
+      addDeployer(main, beanMetaDataDeployer);
+   }
+
+   public void testStandardDeployment() throws Exception
+   {
+      VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+      assertDeploy(context);
+      ControllerContext cc = controller.getInstalledContext("Test");
+      assertNotNull(cc);
+      assertEquals(AbstractKernelControllerContext.class, cc.getClass());
+      assertUndeploy(context);
+      assertNull(controller.getContext("Test", null));
+   }
+
+   public void testNoopControllerContextCreator() throws Throwable
+   {
+      NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+      NoopBeanMetaDataDeployerPlugin noop = new NoopBeanMetaDataDeployerPlugin(1);
+      beanMetaDataDeployer.addControllerContextCreator(noop);
+      try
+      {
+
+         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+         assertDeploy(context);
+         
+         assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+         
+         ControllerContext test = controller.getInstalledContext("Test");
+         assertNotNull(test);
+         assertEquals(AbstractKernelControllerContext.class, test.getClass());
+         assertUndeploy(context);
+         assertNull(controller.getContext("Test", null));
+      }
+      finally
+      {
+         beanMetaDataDeployer.removeControllerContextCreator(noop);
+      }
+   }
+
+   public void testSpecialControllerContextCreatorNotTriggered() throws Throwable
+   {
+      NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+      NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+      beanMetaDataDeployer.addControllerContextCreator(noop1);
+      NotUndeployingSpecialBeanMetaDataDeployerPlugin special = new NotUndeployingSpecialBeanMetaDataDeployerPlugin(2);
+      beanMetaDataDeployer.addControllerContextCreator(special);
+      NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+      beanMetaDataDeployer.addControllerContextCreator(noop2);
+      try
+      {
+         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+         assertDeploy(context);
+         
+         assertEquals(2, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+         
+         ControllerContext test = controller.getInstalledContext("Test");
+         assertNotNull(test);
+         assertEquals(AbstractKernelControllerContext.class, test.getClass());
+         assertUndeploy(context);
+         assertNull(controller.getContext("Test", null));
+         assertEmpty(special.getUndeployedNames());
+      }
+      finally
+      {
+         beanMetaDataDeployer.removeControllerContextCreator(noop1);
+         beanMetaDataDeployer.removeControllerContextCreator(special);
+         beanMetaDataDeployer.removeControllerContextCreator(noop2);
+      }
+   }
+
+   public void testSpecialControllerContextCreatorTriggeredButNotHandlingUndeploy() throws Throwable
+   {
+      NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+      addDeployer(main, new TriggerSpecialBeanMetaDataDeployerPlugin());
+      
+      NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+      beanMetaDataDeployer.addControllerContextCreator(noop1);
+      NotUndeployingSpecialBeanMetaDataDeployerPlugin special = new NotUndeployingSpecialBeanMetaDataDeployerPlugin(2);
+      beanMetaDataDeployer.addControllerContextCreator(special);
+      NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+      beanMetaDataDeployer.addControllerContextCreator(noop2);
+      try
+      {
+         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+         assertDeploy(context);
+         
+         assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+         assertFalse(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+         
+         ControllerContext test = controller.getInstalledContext("Test");
+         assertNotNull(test);
+         assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+         assertFalse(special.getUndeployedNames().contains("Test"));
+         assertUndeploy(context);
+         assertNull(controller.getContext("Test", null));
+         assertEquals(1, special.getUndeployedNames().size());
+         assertTrue(special.getUndeployedNames().contains("Test"));
+      }
+      finally
+      {
+         beanMetaDataDeployer.removeControllerContextCreator(noop1);
+         beanMetaDataDeployer.removeControllerContextCreator(special);
+         beanMetaDataDeployer.removeControllerContextCreator(noop2);
+      }
+   }
+   
+   public void testSpecialControllerContextCreatorTriggeredAndHandlingUndeploy() throws Throwable
+   {
+      NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+      addDeployer(main, new TriggerSpecialBeanMetaDataDeployerPlugin());
+      
+      NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+      beanMetaDataDeployer.addControllerContextCreator(noop1);
+      UndeployingSpecialBeanMetaDataDeployerPlugin special = new UndeployingSpecialBeanMetaDataDeployerPlugin(2);
+      beanMetaDataDeployer.addControllerContextCreator(special);
+      NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+      beanMetaDataDeployer.addControllerContextCreator(noop2);
+      try
+      {
+         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+         assertDeploy(context);
+         
+         assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+         assertFalse(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+         
+         ControllerContext test = controller.getInstalledContext("Test");
+         assertNotNull(test);
+         assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+         assertFalse(special.getUndeployedNames().contains("Test"));
+         assertUndeploy(context);
+         assertNull(controller.getContext("Test", null));
+         assertEquals(1, special.getUndeployedNames().size());
+         assertTrue(special.getUndeployedNames().contains("Test"));
+      }
+      finally
+      {
+         beanMetaDataDeployer.removeControllerContextCreator(noop1);
+         beanMetaDataDeployer.removeControllerContextCreator(special);
+         beanMetaDataDeployer.removeControllerContextCreator(noop2);
+      }
+   }
+   
+   public void testControllerContextOrder() throws Throwable
+   {
+      NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+      NoopBeanMetaDataDeployerPlugin noop6 = new NoopBeanMetaDataDeployerPlugin(6);
+      beanMetaDataDeployer.addControllerContextCreator(noop6);
+      NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+      beanMetaDataDeployer.addControllerContextCreator(noop1);
+      NoopBeanMetaDataDeployerPlugin noop3 = new NoopBeanMetaDataDeployerPlugin(3);
+      beanMetaDataDeployer.addControllerContextCreator(noop3);
+      NoopBeanMetaDataDeployerPlugin noop4 = new NoopBeanMetaDataDeployerPlugin(4);
+      beanMetaDataDeployer.addControllerContextCreator(noop4);
+      NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(2);
+      beanMetaDataDeployer.addControllerContextCreator(noop2);
+      NoopBeanMetaDataDeployerPlugin noop5 = new NoopBeanMetaDataDeployerPlugin(5);
+      beanMetaDataDeployer.addControllerContextCreator(noop5);
+      try
+      {
+         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+         assertDeploy(context);
+         
+         assertEquals(6, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(2));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(4));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(5));
+         assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(6));
+         
+         int last = 0;
+         for (int i : NoopBeanMetaDataDeployerPlugin.getTriggered())
+         {
+            assertTrue(last + 1 == i);
+            last = i;
+         }
+         
+         ControllerContext test = controller.getInstalledContext("Test");
+         assertNotNull(test);
+         assertEquals(AbstractKernelControllerContext.class, test.getClass());
+         assertUndeploy(context);
+         assertNull(controller.getContext("Test", null));
+      }
+      finally
+      {
+         beanMetaDataDeployer.removeControllerContextCreator(noop1);
+         beanMetaDataDeployer.removeControllerContextCreator(noop2);
+         beanMetaDataDeployer.removeControllerContextCreator(noop3);
+         beanMetaDataDeployer.removeControllerContextCreator(noop4);
+         beanMetaDataDeployer.removeControllerContextCreator(noop5);
+         beanMetaDataDeployer.removeControllerContextCreator(noop6);
+      }
+      
+   }
+}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,65 @@
+/*
+* 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.deployers.vfs.deployer.bean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialBeanMetaDataDeployerPlugin;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class BootstrapBeanMetaDataPluginTestCase extends BootstrapDeployersTest
+{
+   public BootstrapBeanMetaDataPluginTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return new TestSuite(BootstrapBeanMetaDataPluginTestCase.class);
+   }
+
+   public void testSpecialControllerContextCreatorTriggered() throws Throwable
+   {
+      VFSDeploymentUnit unit = null;
+      try
+      {
+         unit = assertDeploy("/bean", "toplevel/my-beans.xml");
+         
+         ControllerContext test = getControllerContext("Test");
+         assertNotNull(test);
+         assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+      }
+      finally
+      {
+         undeploy(unit);
+      }
+   }
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,65 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.test.deployers.BootstrapDeployersTest;
-import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialControllerContextCreator;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class BootstrapKernelControllerContextCreatorTestCase extends BootstrapDeployersTest
-{
-   public BootstrapKernelControllerContextCreatorTestCase(String name)
-   {
-      super(name);
-   }
-
-   public static Test suite()
-   {
-      return new TestSuite(BootstrapKernelControllerContextCreatorTestCase.class);
-   }
-
-   public void testSpecialControllerContextCreatorTriggered() throws Throwable
-   {
-      VFSDeploymentUnit unit = null;
-      try
-      {
-         unit = assertDeploy("/bean", "toplevel/my-beans.xml");
-         
-         ControllerContext test = getControllerContext("Test");
-         assertNotNull(test);
-         assertEquals(SpecialControllerContextCreator.SpecialControllerContext.class, test.getClass());
-      }
-      finally
-      {
-         undeploy(unit);
-      }
-   }
-}

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/KernelControllerContextCreatorTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/KernelControllerContextCreatorTestCase.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/KernelControllerContextCreatorTestCase.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,269 +0,0 @@
-/*
-* 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.deployers.vfs.deployer.bean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
-import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
-import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
-import org.jboss.deployers.vfs.spi.client.VFSDeployment;
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
-import org.jboss.test.deployers.support.TCCLClassLoaderDeployer;
-import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
-import org.jboss.test.deployers.vfs.deployer.bean.support.NoopControllerContextCreator;
-import org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialControllerContextCreator;
-import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialControllerContextCreator;
-import org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialControllerContextDeployer;
-import org.jboss.test.deployers.vfs.deployer.bean.support.UndeployingSpecialControllerContextCreator;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class KernelControllerContextCreatorTestCase extends AbstractDeployerUnitTest
-{
-   BeanMetaDataDeployer beanMetaDataDeployer;
-   
-   public static Test suite()
-   {
-      return new TestSuite(KernelControllerContextCreatorTestCase.class);
-   }
-
-   public KernelControllerContextCreatorTestCase(String name) throws Throwable
-   {
-      super(name);
-   }
-
-   @Override
-   protected void addDeployers(Kernel kernel)
-   {
-      BeanDeployer beanDeployer = new BeanDeployer();
-      KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
-      beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
-      addDeployer(main, new TCCLClassLoaderDeployer());
-      addDeployer(main, beanDeployer);
-      addDeployer(main, kernelDeploymentDeployer);
-      addDeployer(main, beanMetaDataDeployer);
-   }
-
-   public void testStandardDeployment() throws Exception
-   {
-      VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-      assertDeploy(context);
-      ControllerContext cc = controller.getInstalledContext("Test");
-      assertNotNull(cc);
-      assertEquals(AbstractKernelControllerContext.class, cc.getClass());
-      assertUndeploy(context);
-      assertNull(controller.getContext("Test", null));
-   }
-
-   public void testNoopControllerContextCreator() throws Throwable
-   {
-      NoopControllerContextCreator.getTriggered().clear();
-      NoopControllerContextCreator noop = new NoopControllerContextCreator(1);
-      beanMetaDataDeployer.addControllerContextCreator(noop);
-      try
-      {
-
-         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-         assertDeploy(context);
-         
-         assertEquals(1, NoopControllerContextCreator.getTriggered().size());
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(1));
-         
-         ControllerContext test = controller.getInstalledContext("Test");
-         assertNotNull(test);
-         assertEquals(AbstractKernelControllerContext.class, test.getClass());
-         assertUndeploy(context);
-         assertNull(controller.getContext("Test", null));
-      }
-      finally
-      {
-         beanMetaDataDeployer.removeControllerContextCreator(noop);
-      }
-   }
-
-   public void testSpecialControllerContextCreatorNotTriggered() throws Throwable
-   {
-      NoopControllerContextCreator.getTriggered().clear();
-      NoopControllerContextCreator noop1 = new NoopControllerContextCreator(1);
-      beanMetaDataDeployer.addControllerContextCreator(noop1);
-      NotUndeployingSpecialControllerContextCreator special = new NotUndeployingSpecialControllerContextCreator(2);
-      beanMetaDataDeployer.addControllerContextCreator(special);
-      NoopControllerContextCreator noop2 = new NoopControllerContextCreator(3);
-      beanMetaDataDeployer.addControllerContextCreator(noop2);
-      try
-      {
-         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-         assertDeploy(context);
-         
-         assertEquals(2, NoopControllerContextCreator.getTriggered().size());
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(1));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(3));
-         
-         ControllerContext test = controller.getInstalledContext("Test");
-         assertNotNull(test);
-         assertEquals(AbstractKernelControllerContext.class, test.getClass());
-         assertUndeploy(context);
-         assertNull(controller.getContext("Test", null));
-         assertEmpty(special.getUndeployedNames());
-      }
-      finally
-      {
-         beanMetaDataDeployer.removeControllerContextCreator(noop1);
-         beanMetaDataDeployer.removeControllerContextCreator(special);
-         beanMetaDataDeployer.removeControllerContextCreator(noop2);
-      }
-   }
-
-   public void testSpecialControllerContextCreatorTriggeredButNotHandlingUndeploy() throws Throwable
-   {
-      NoopControllerContextCreator.getTriggered().clear();
-      addDeployer(main, new TriggerSpecialControllerContextDeployer());
-      
-      NoopControllerContextCreator noop1 = new NoopControllerContextCreator(1);
-      beanMetaDataDeployer.addControllerContextCreator(noop1);
-      NotUndeployingSpecialControllerContextCreator special = new NotUndeployingSpecialControllerContextCreator(2);
-      beanMetaDataDeployer.addControllerContextCreator(special);
-      NoopControllerContextCreator noop2 = new NoopControllerContextCreator(3);
-      beanMetaDataDeployer.addControllerContextCreator(noop2);
-      try
-      {
-         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-         assertDeploy(context);
-         
-         assertEquals(1, NoopControllerContextCreator.getTriggered().size());
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(1));
-         assertFalse(NoopControllerContextCreator.getTriggered().contains(3));
-         
-         ControllerContext test = controller.getInstalledContext("Test");
-         assertNotNull(test);
-         assertEquals(SpecialControllerContextCreator.SpecialControllerContext.class, test.getClass());
-         assertFalse(special.getUndeployedNames().contains("Test"));
-         assertUndeploy(context);
-         assertNull(controller.getContext("Test", null));
-         assertEquals(1, special.getUndeployedNames().size());
-         assertTrue(special.getUndeployedNames().contains("Test"));
-      }
-      finally
-      {
-         beanMetaDataDeployer.removeControllerContextCreator(noop1);
-         beanMetaDataDeployer.removeControllerContextCreator(special);
-         beanMetaDataDeployer.removeControllerContextCreator(noop2);
-      }
-   }
-   
-   public void testSpecialControllerContextCreatorTriggeredAndHandlingUndeploy() throws Throwable
-   {
-      NoopControllerContextCreator.getTriggered().clear();
-      addDeployer(main, new TriggerSpecialControllerContextDeployer());
-      
-      NoopControllerContextCreator noop1 = new NoopControllerContextCreator(1);
-      beanMetaDataDeployer.addControllerContextCreator(noop1);
-      UndeployingSpecialControllerContextCreator special = new UndeployingSpecialControllerContextCreator(2);
-      beanMetaDataDeployer.addControllerContextCreator(special);
-      NoopControllerContextCreator noop2 = new NoopControllerContextCreator(3);
-      beanMetaDataDeployer.addControllerContextCreator(noop2);
-      try
-      {
-         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-         assertDeploy(context);
-         
-         assertEquals(1, NoopControllerContextCreator.getTriggered().size());
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(1));
-         assertFalse(NoopControllerContextCreator.getTriggered().contains(3));
-         
-         ControllerContext test = controller.getInstalledContext("Test");
-         assertNotNull(test);
-         assertEquals(SpecialControllerContextCreator.SpecialControllerContext.class, test.getClass());
-         assertFalse(special.getUndeployedNames().contains("Test"));
-         assertUndeploy(context);
-         assertNull(controller.getContext("Test", null));
-         assertEquals(1, special.getUndeployedNames().size());
-         assertTrue(special.getUndeployedNames().contains("Test"));
-      }
-      finally
-      {
-         beanMetaDataDeployer.removeControllerContextCreator(noop1);
-         beanMetaDataDeployer.removeControllerContextCreator(special);
-         beanMetaDataDeployer.removeControllerContextCreator(noop2);
-      }
-   }
-   
-   public void testControllerContextOrder() throws Throwable
-   {
-      NoopControllerContextCreator.getTriggered().clear();
-      NoopControllerContextCreator noop6 = new NoopControllerContextCreator(6);
-      beanMetaDataDeployer.addControllerContextCreator(noop6);
-      NoopControllerContextCreator noop1 = new NoopControllerContextCreator(1);
-      beanMetaDataDeployer.addControllerContextCreator(noop1);
-      NoopControllerContextCreator noop3 = new NoopControllerContextCreator(3);
-      beanMetaDataDeployer.addControllerContextCreator(noop3);
-      NoopControllerContextCreator noop4 = new NoopControllerContextCreator(4);
-      beanMetaDataDeployer.addControllerContextCreator(noop4);
-      NoopControllerContextCreator noop2 = new NoopControllerContextCreator(2);
-      beanMetaDataDeployer.addControllerContextCreator(noop2);
-      NoopControllerContextCreator noop5 = new NoopControllerContextCreator(5);
-      beanMetaDataDeployer.addControllerContextCreator(noop5);
-      try
-      {
-         VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
-         assertDeploy(context);
-         
-         assertEquals(6, NoopControllerContextCreator.getTriggered().size());
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(1));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(2));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(3));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(4));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(5));
-         assertTrue(NoopControllerContextCreator.getTriggered().contains(6));
-         
-         int last = 0;
-         for (int i : NoopControllerContextCreator.getTriggered())
-         {
-            assertTrue(last + 1 == i);
-            last = i;
-         }
-         
-         ControllerContext test = controller.getInstalledContext("Test");
-         assertNotNull(test);
-         assertEquals(AbstractKernelControllerContext.class, test.getClass());
-         assertUndeploy(context);
-         assertNull(controller.getContext("Test", null));
-      }
-      finally
-      {
-         beanMetaDataDeployer.removeControllerContextCreator(noop1);
-         beanMetaDataDeployer.removeControllerContextCreator(noop2);
-         beanMetaDataDeployer.removeControllerContextCreator(noop3);
-         beanMetaDataDeployer.removeControllerContextCreator(noop4);
-         beanMetaDataDeployer.removeControllerContextCreator(noop5);
-         beanMetaDataDeployer.removeControllerContextCreator(noop6);
-      }
-      
-   }
-}

Copied: projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.xml)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,4 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+  <bean name="SpecialControllerContextCreator" class="org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialBeanMetaDataDeployerPlugin"/>
+  <bean name="TriggerSpecialControllerContextDeployer" class="org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialBeanMetaDataDeployerPlugin"/>
+</deployment>

Deleted: projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.xml	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapKernelControllerContextCreatorTestCase.xml	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,4 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-  <bean name="SpecialControllerContextCreator" class="org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialControllerContextCreator"/>
-  <bean name="TriggerSpecialControllerContextDeployer" class="org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialControllerContextDeployer"/>
-</deployment>

Copied: projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java (from rev 96091, projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/KernelControllerContextCreator.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java	                        (rev 0)
+++ projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -0,0 +1,68 @@
+/*
+* 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.deployers.vfs.spi.deployer.helpers;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ * Interface used by BeanMetaDataDeployer to create controller contexts for deployment, and
+ * to take care of special needs during undeployment.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface BeanMetaDataDeployerPlugin
+{
+   /**
+    * The relative order of this creator. BeanMetaDataDeployer will try to 
+    * create contexts with values first.
+    * @return The relative order
+    */
+   int getRelativeOrder();
+   
+   /**
+    * Create a controller context
+    * 
+    * @param controller The controller to which the beans will be deployed
+    * @param unit The deployment unit we are deploying
+    * @param beanMetaData The bean metadata we are deploying
+    * @return the created controller context or null if this controller context creator should not handle the creation of the context 
+    */
+   KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
+   
+   /**
+    * Hook to uninstall a context from the controller if it needs special handling on uninstall. The BeanMetaDataDeployer
+    * remembers which KernelContextCreator was used to create a KernelControllerContext and on undeploy will
+    * call this method.
+    * 
+    * @param controller The controller containing the context
+    * @param unit The deployment unit we are uninstalling
+    * @param beanMetaData The bean metadata of the context that we are uninstalling. Its name is normally 
+    * the same as the name of the context to be uninstalled
+    * @return true if uninstall was handled here, false if we did not do the uninstall (i.e. nothing special 
+    * is required for the uninstall, so it should be handled as normal by the BeanMetaDataDeployer)
+    */
+   boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
+}

Deleted: projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/KernelControllerContextCreator.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/KernelControllerContextCreator.java	2009-11-06 11:35:40 UTC (rev 96093)
+++ projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/KernelControllerContextCreator.java	2009-11-06 11:47:44 UTC (rev 96094)
@@ -1,68 +0,0 @@
-/*
-* 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.deployers.vfs.spi.deployer.helpers;
-
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.dependency.spi.Controller;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.kernel.spi.dependency.KernelControllerContext;
-
-/**
- * Interface used to create a controller context. Intention is to be able
- * to override the default KernelControllerContext created by BeanMetaDataDeployer
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public interface KernelControllerContextCreator
-{
-   /**
-    * The relative order of this creator. BeanMetaDataDeployer will try to 
-    * create contexts with values first.
-    * @return The relative order
-    */
-   int getRelativeOrder();
-   
-   /**
-    * Create a controller context
-    * 
-    * @param controller The controller to which the beans will be deployed
-    * @param unit The deployment unit we are deploying
-    * @param beanMetaData The bean metadata we are deploying
-    * @return the created controller context or null if this controller context creator should not handle the creation of the context 
-    */
-   KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
-   
-   /**
-    * Hook to uninstall a context from the controller if it needs special handling on uninstall. The BeanMetaDataDeployer
-    * remembers which KernelContextCreator was used to create a KernelControllerContext and on undeploy will
-    * call this method.
-    * 
-    * @param controller The controller containing the context
-    * @param unit The deployment unit we are uninstalling
-    * @param beanMetaData The bean metadata of the context that we are uninstalling. Its name is normally 
-    * the same as the name of the context to be uninstalled
-    * @return true if uninstall was handled here, false if we did not do the uninstall (i.e. nothing special 
-    * is required for the uninstall, so it should be handled as normal by the BeanMetaDataDeployer)
-    */
-   boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
-}




More information about the jboss-cvs-commits mailing list