[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