[jboss-cvs] JBossAS SVN: r81624 - projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Nov 26 09:06:28 EST 2008
Author: alesj
Date: 2008-11-26 09:06:28 -0500 (Wed, 26 Nov 2008)
New Revision: 81624
Modified:
projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java
projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentDependencyDeployer.java
Log:
Use deployment visitor == proper handling on failures.
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java 2008-11-26 14:03:35 UTC (rev 81623)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentAliasesDeployer.java 2008-11-26 14:06:28 UTC (rev 81624)
@@ -21,13 +21,14 @@
*/
package org.jboss.deployers.vfs.plugins.dependency;
-import java.util.Set;
+import java.util.ArrayList;
+import java.util.List;
import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployerWithInput;
import org.jboss.deployers.structure.spi.DeploymentUnit;
/**
@@ -35,7 +36,7 @@
*
* @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
-public class DeploymentAliasesDeployer extends AbstractSimpleRealDeployer<DeploymentAliases>
+public class DeploymentAliasesDeployer extends AbstractRealDeployerWithInput<DeploymentAliases>
{
private Controller controller;
@@ -46,48 +47,54 @@
throw new IllegalArgumentException("Null controller");
this.controller = controller;
setStage(DeploymentStages.POST_PARSE);
+ setDeploymentVisitor(new DeploymentAliasDeploymentVisitor());
}
- public void deploy(DeploymentUnit unit, DeploymentAliases deployment) throws DeploymentException
+ private class DeploymentAliasDeploymentVisitor extends AbstractDeploymentVisitor<Object, DeploymentAliases>
{
- Set<Object> aliases = deployment.getAliases();
- if (aliases != null && aliases.isEmpty() == false)
+ @Override
+ protected DeploymentUnit addComponent(DeploymentUnit unit, Object attachment)
{
ControllerContext context = unit.getAttachment(ControllerContext.class);
if (context == null)
- throw new DeploymentException("Missing deployment controller context: " + unit.getName());
-
+ throw new IllegalArgumentException("Missing deployment controller context: " + unit.getName());
+
Object contextName = context.getName();
try
{
- for (Object alias : aliases)
- {
- controller.addAlias(alias, contextName);
- }
+ controller.addAlias(attachment, contextName);
+ return null;
}
catch (Throwable t)
{
- throw DeploymentException.rethrowAsDeploymentException("Exception adding alias.", t);
+ throw new RuntimeException(t);
}
}
- }
- @Override
- public void undeploy(DeploymentUnit unit, DeploymentAliases deployment)
- {
- Set<Object> aliases = deployment.getAliases();
- if (aliases != null && aliases.isEmpty() == false)
+ @Override
+ protected void removeComponent(DeploymentUnit unit, Object attachment)
{
- for (Object alias : aliases)
- {
- try
- {
- controller.removeAlias(alias);
- }
- catch (Throwable ignored)
- {
- }
- }
+ controller.removeAlias(attachment);
}
+
+ protected List<Object> getComponents(DeploymentAliases deployment)
+ {
+ return new ArrayList<Object>(deployment.getAliases());
+ }
+
+ protected Class<Object> getComponentType()
+ {
+ return Object.class;
+ }
+
+ protected String getComponentName(Object attachment)
+ {
+ throw new UnsupportedOperationException("No component name.");
+ }
+
+ public Class<DeploymentAliases> getVisitorType()
+ {
+ return DeploymentAliases.class;
+ }
}
}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentDependencyDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentDependencyDeployer.java 2008-11-26 14:03:35 UTC (rev 81623)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/dependency/DeploymentDependencyDeployer.java 2008-11-26 14:06:28 UTC (rev 81624)
@@ -21,12 +21,13 @@
*/
package org.jboss.deployers.vfs.plugins.dependency;
-import java.util.Set;
+import java.util.ArrayList;
+import java.util.List;
import org.jboss.dependency.spi.DependencyItem;
-import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployerWithInput;
import org.jboss.deployers.structure.spi.DeploymentUnit;
/**
@@ -34,42 +35,48 @@
*
* @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
-public class DeploymentDependencyDeployer extends AbstractSimpleRealDeployer<DeploymentDependencies>
+public class DeploymentDependencyDeployer extends AbstractRealDeployerWithInput<DeploymentDependencies>
{
public DeploymentDependencyDeployer()
{
super(DeploymentDependencies.class);
setStage(DeploymentStages.POST_PARSE);
+ setDeploymentVisitor(new DependencyItemComponentVisitor());
}
- public void deploy(DeploymentUnit unit, DeploymentDependencies deployment) throws DeploymentException
+ private class DependencyItemComponentVisitor extends AbstractDeploymentVisitor<DependencyItem, DeploymentDependencies>
{
- Set<DependencyItem> dependencies = deployment.getDependencies();
- if (dependencies != null && dependencies.isEmpty() == false)
+ @Override
+ protected DeploymentUnit addComponent(DeploymentUnit unit, DependencyItem attachment)
{
- for (DependencyItem di : dependencies)
- {
- unit.addIDependOn(di);
- }
+ unit.addIDependOn(attachment);
+ return null;
}
- }
- @Override
- public void undeploy(DeploymentUnit unit, DeploymentDependencies deployment)
- {
- Set<DependencyItem> dependencies = deployment.getDependencies();
- if (dependencies != null && dependencies.isEmpty() == false)
+ @Override
+ protected void removeComponent(DeploymentUnit unit, DependencyItem attachment)
{
- for (DependencyItem di : dependencies)
- {
- try
- {
- unit.removeIDependOn(di);
- }
- catch (Throwable ignored)
- {
- }
- }
+ unit.removeIDependOn(attachment);
}
+
+ protected List<? extends DependencyItem> getComponents(DeploymentDependencies deployment)
+ {
+ return new ArrayList<DependencyItem>(deployment.getDependencies());
+ }
+
+ protected Class<DependencyItem> getComponentType()
+ {
+ return DependencyItem.class;
+ }
+
+ protected String getComponentName(DependencyItem attachment)
+ {
+ throw new UnsupportedOperationException("No component name.");
+ }
+
+ public Class<DeploymentDependencies> getVisitorType()
+ {
+ return DeploymentDependencies.class;
+ }
}
}
More information about the jboss-cvs-commits
mailing list