[jboss-cvs] JBossAS SVN: r70098 - in projects/microcontainer/trunk: deployers-impl/src/tests/org/jboss/test/deployers/main/test and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Feb 26 08:46:28 EST 2008


Author: adrian at jboss.org
Date: 2008-02-26 08:46:28 -0500 (Tue, 26 Feb 2008)
New Revision: 70098

Modified:
   projects/microcontainer/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/main/MainDeployerImpl.java
   projects/microcontainer/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/DeployerSingleDeploymentTestCase.java
   projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/DeploymentUnit.java
   projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentUnit.java
Log:
Add support for retrieving the MainDeployer from the deployment unit. Also tidied up the DeploymentUnit to properly delegate to any overridden deployment context

Modified: projects/microcontainer/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/main/MainDeployerImpl.java
===================================================================
--- projects/microcontainer/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/main/MainDeployerImpl.java	2008-02-26 13:36:25 UTC (rev 70097)
+++ projects/microcontainer/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/main/MainDeployerImpl.java	2008-02-26 13:46:28 UTC (rev 70098)
@@ -300,6 +300,7 @@
             if (DeploymentState.ERROR.equals(context.getState()))
                errorDeployments.put(name, context);
 
+            context.getTransientAttachments().addAttachment(MainDeployer.class, this);
             topLevelDeployments.put(name, context);
             addContext(context, addToDeploy);
          }
@@ -374,6 +375,7 @@
          if (context == null)
             return false;
 
+         context.getTransientAttachments().removeAttachment(MainDeployer.class);
          removeContext(context, addToUndeploy);
 
          return true;

Modified: projects/microcontainer/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/DeployerSingleDeploymentTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/DeployerSingleDeploymentTestCase.java	2008-02-26 13:36:25 UTC (rev 70097)
+++ projects/microcontainer/trunk/deployers-impl/src/tests/org/jboss/test/deployers/main/test/DeployerSingleDeploymentTestCase.java	2008-02-26 13:46:28 UTC (rev 70098)
@@ -29,16 +29,18 @@
 import java.util.Set;
 
 import junit.framework.Test;
+
 import org.jboss.deployers.client.spi.DeployerClient;
 import org.jboss.deployers.client.spi.Deployment;
 import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.structure.StructureMetaDataFactory;
 import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.structure.spi.StructuralDeployers;
 import org.jboss.deployers.structure.spi.StructureBuilder;
 import org.jboss.deployers.structure.spi.helpers.AbstractStructureBuilder;
-import org.jboss.deployers.plugins.main.MainDeployerImpl;
 import org.jboss.test.deployers.main.support.AddDeploymentRunnable;
 import org.jboss.test.deployers.main.support.AddProcessRemoveProcessRunnable;
 import org.jboss.test.deployers.main.support.DeployRunnable;
@@ -324,4 +326,21 @@
       }
       log.info("Names: " + names.size() + " - " + names);
    }
+
+   public void testMainDeployerInUnit() throws Throwable
+   {
+      DeployerClient main = getMainDeployer();
+
+      Deployment single = createSimpleDeployment("single");
+      main.deploy(single);
+      List<String> expected = new ArrayList<String>();
+      expected.add(single.getName());
+      assertEquals(expected, deployer.getDeployedUnits());
+
+      DeploymentUnit unit = assertDeploymentUnit(main, single.getName());
+      assertEquals(main, unit.getMainDeployer());
+      
+      main.undeploy(single);
+      assertNull(unit.getMainDeployer());
+   }
 }

Modified: projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/DeploymentUnit.java
===================================================================
--- projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/DeploymentUnit.java	2008-02-26 13:36:25 UTC (rev 70097)
+++ projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/DeploymentUnit.java	2008-02-26 13:46:28 UTC (rev 70098)
@@ -26,6 +26,7 @@
 
 import org.jboss.dependency.spi.DependencyInfo;
 import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.deployers.client.spi.main.MainDeployer;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.metadata.spi.MetaData;
@@ -52,27 +53,6 @@
    String getName();
 
    /**
-    * Get the controller context names.
-    *
-    * @return the names
-    */
-   Set<Object> getControllerContextNames();
-
-   /**
-    * Add controller context name.
-    *
-    * @param name the controller context name
-    */
-   void addControllerContextName(Object name);
-
-   /**
-    * Remove controller context name.
-    *
-    * @param name the controller context name
-    */
-   void removeControllerContextName(Object name);
-
-   /**
     * Get the simple vfs name of the deployment unit. This is the simple
     * name of the virtual file .
     * 
@@ -274,6 +254,13 @@
    void visit(DeploymentUnitVisitor visitor) throws DeploymentException;
 
    /**
+    * Get the main deployer
+    * 
+    * @return the deployer or null if not associated with a main deployer
+    */
+   MainDeployer getMainDeployer();
+   
+   /**
     * Get the dependency info
     * 
     * @return the dependency
@@ -293,4 +280,25 @@
     * @param dependency the dependency to remove
     */
    void removeIDependOn(DependencyItem dependency);
+
+   /**
+    * Get the controller context names.
+    *
+    * @return the names
+    */
+   Set<Object> getControllerContextNames();
+
+   /**
+    * Add controller context name.
+    *
+    * @param name the controller context name
+    */
+   void addControllerContextName(Object name);
+
+   /**
+    * Remove controller context name.
+    *
+    * @param name the controller context name
+    */
+   void removeControllerContextName(Object name);
 }

Modified: projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentUnit.java
===================================================================
--- projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentUnit.java	2008-02-26 13:36:25 UTC (rev 70097)
+++ projects/microcontainer/trunk/deployers-structure-spi/src/main/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentUnit.java	2008-02-26 13:46:28 UTC (rev 70098)
@@ -34,6 +34,7 @@
 
 import org.jboss.dependency.spi.DependencyInfo;
 import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.deployers.client.spi.main.MainDeployer;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.deployers.spi.attachments.helpers.AbstractMutableAttachments;
@@ -289,39 +290,44 @@
 
    public MutableAttachments getTransientManagedObjects()
    {
-      return deploymentContext.getTransientManagedObjects();
+      return getDeploymentContext().getTransientManagedObjects();
    }
 
    public Object addAttachment(String name, Object attachment)
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       deploymentContext.deployed();
       return deploymentContext.getTransientAttachments().addAttachment(name, attachment);
    }
 
    public void clear()
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       deploymentContext.getTransientAttachments().clear();
       deploymentContext.getTransientManagedObjects().clear();
    }
 
    public void clearChangeCount()
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       deploymentContext.getTransientAttachments().clearChangeCount();
       deploymentContext.getTransientManagedObjects().clearChangeCount();
    }
 
    public int getChangeCount()
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       return deploymentContext.getTransientAttachments().getChangeCount() + deploymentContext.getTransientManagedObjects().getChangeCount();
    }
 
    public Object removeAttachment(String name)
    {
-      return deploymentContext.getTransientAttachments().removeAttachment(name);
+      return getDeploymentContext().getTransientAttachments().removeAttachment(name);
    }
 
    public Object getAttachment(String name)
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       DeploymentContext parent = deploymentContext.getParent();
       if (deploymentContext.isComponent() == false)
          parent = null;
@@ -375,6 +381,7 @@
 
    public Map<String, Object> getAttachments()
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       DeploymentContext parent = deploymentContext.getParent();
       if (deploymentContext.isComponent() == false)
          parent = null;
@@ -395,6 +402,7 @@
 
    public boolean hasAttachments()
    {
+      DeploymentContext deploymentContext = getDeploymentContext();
       if (deploymentContext.getTransientAttachments().hasAttachments())
          return true;
       else if (deploymentContext.getTransientManagedObjects().hasAttachments())
@@ -414,12 +422,12 @@
    
    public ClassLoader getResourceClassLoader()
    {
-      return deploymentContext.getResourceClassLoader();
+      return getDeploymentContext().getResourceClassLoader();
    }
 
    public DeploymentResourceLoader getResourceLoader()
    {
-      return deploymentContext.getResourceLoader();
+      return getDeploymentContext().getResourceLoader();
    }
 
    public void addIDependOn(DependencyItem dependency)
@@ -430,12 +438,12 @@
    public void visit(DeploymentUnitVisitor visitor) throws DeploymentException
    {
       UnitVisitorToContextVisitor contextVisitor = new UnitVisitorToContextVisitor(visitor); 
-      deploymentContext.visit(contextVisitor);
+      getDeploymentContext().visit(contextVisitor);
    }
 
    public DependencyInfo getDependencyInfo()
    {
-      return deploymentContext.getDependencyInfo();
+      return getDeploymentContext().getDependencyInfo();
    }
 
    public void removeIDependOn(DependencyItem dependency)
@@ -443,6 +451,11 @@
       getDependencyInfo().removeIDependOn(dependency);
    }
 
+   public MainDeployer getMainDeployer()
+   {
+      return getTopLevel().getAttachment(MainDeployer.class);
+   }
+
    /**
     * Get the deployment context
     * 




More information about the jboss-cvs-commits mailing list