1 22 package org.jboss.deployers.plugins.deployers.kernel; 23 24 import java.util.List ; 25 26 import org.jboss.beans.metadata.spi.BeanMetaData; 27 import org.jboss.deployers.plugins.deployers.helpers.AbstractComponentDeployer; 28 import org.jboss.deployers.plugins.deployers.helpers.SimpleDeploymentVisitor; 29 import org.jboss.deployers.spi.DeploymentException; 30 import org.jboss.deployers.spi.deployer.DeploymentUnit; 31 import org.jboss.kernel.spi.deployment.KernelDeployment; 32 33 public class KernelDeploymentDeployer extends AbstractComponentDeployer<KernelDeployment, BeanMetaData> 34 { 35 38 public KernelDeploymentDeployer() 39 { 40 setDeploymentVisitor(new KernelDeploymentVisitor()); 41 setComponentVisitor(new BeanMetaDataVisitor()); 42 } 43 44 protected static void addBeanComponent(DeploymentUnit unit, BeanMetaData bean) 45 { 46 DeploymentUnit component = unit.addComponent(bean.getName()); 47 component.addAttachment(BeanMetaData.class.getName(), bean); 48 } 49 50 protected static void removeBeanComponent(DeploymentUnit unit, BeanMetaData bean) 51 { 52 unit.removeComponent(bean.getName()); 53 } 54 55 58 public static class KernelDeploymentVisitor implements SimpleDeploymentVisitor<KernelDeployment> 59 { 60 public Class <KernelDeployment> getVisitorType() 61 { 62 return KernelDeployment.class; 63 } 64 65 public void deploy(DeploymentUnit unit, KernelDeployment deployment) throws DeploymentException 66 { 67 List <BeanMetaData> beans = deployment.getBeans(); 68 for (BeanMetaData bean : beans) 69 addBeanComponent(unit, bean); 70 } 71 72 public void undeploy(DeploymentUnit unit, KernelDeployment deployment) 73 { 74 List <BeanMetaData> beans = deployment.getBeans(); 75 for (BeanMetaData bean : beans) 76 removeBeanComponent(unit, bean); 77 } 78 } 79 80 83 public static class BeanMetaDataVisitor implements SimpleDeploymentVisitor<BeanMetaData> 84 { 85 public Class <BeanMetaData> getVisitorType() 86 { 87 return BeanMetaData.class; 88 } 89 90 public void deploy(DeploymentUnit unit, BeanMetaData deployment) throws DeploymentException 91 { 92 addBeanComponent(unit, deployment); 93 } 94 95 public void undeploy(DeploymentUnit unit, BeanMetaData deployment) 96 { 97 removeBeanComponent(unit, deployment); 98 } 99 } 100 } 101 | Popular Tags |