[jboss-cvs] JBossAS SVN: r99117 - in projects/ejb3/trunk/deployers: src/main/java/org/jboss/ejb3/deployers and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 7 09:40:46 EST 2010
Author: jaikiran
Date: 2010-01-07 09:40:46 -0500 (Thu, 07 Jan 2010)
New Revision: 99117
Added:
projects/ejb3/trunk/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java
projects/ejb3/trunk/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml
Removed:
projects/ejb3/trunk/deployers/src/main/resources/META-INF/jboss-beans.xml
Modified:
projects/ejb3/trunk/deployers/pom.xml
Log:
EJBTHREE-1980 Copied over the EJBsDeployer from the JBPAPP_5_0 branch
Modified: projects/ejb3/trunk/deployers/pom.xml
===================================================================
--- projects/ejb3/trunk/deployers/pom.xml 2010-01-07 14:30:54 UTC (rev 99116)
+++ projects/ejb3/trunk/deployers/pom.xml 2010-01-07 14:40:46 UTC (rev 99117)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-build</artifactId>
- <version>1.0.0</version>
+ <version>1.0.9-SNAPSHOT</version>
</parent>
<!-- Model Version -->
Copied: projects/ejb3/trunk/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java (from rev 99034, branches/JBPAPP_5_0/ejb3/src/main/org/jboss/as/ejb3/deployers/EJBsDeployer.java)
===================================================================
--- projects/ejb3/trunk/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java (rev 0)
+++ projects/ejb3/trunk/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java 2010-01-07 14:40:46 UTC (rev 99117)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.deployers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.DeploymentVisitor;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+
+/**
+ * Create components out of EJB 3 JBossMetaData.
+ *
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class EJBsDeployer extends AbstractComponentDeployer<JBossMetaData, JBossEnterpriseBeanMetaData>
+{
+ private static final Logger log = Logger.getLogger(EJBsDeployer.class);
+
+ private static final JBossDeploymentVisitor deploymentVisitor = new JBossDeploymentVisitor();
+
+ /**
+ *
+ */
+ public EJBsDeployer()
+ {
+ // Since we don't set component visitor
+ addInput(deploymentVisitor.getVisitorType());
+ setOutput(deploymentVisitor.getComponentType());
+
+ // for ordering
+ addInput(AttachmentNames.PROCESSED_METADATA);
+
+ setDeploymentVisitor(deploymentVisitor);
+ }
+
+ private static class JBossDeploymentVisitor extends AbstractDeploymentVisitor<JBossEnterpriseBeanMetaData, JBossMetaData>
+ {
+ @Override
+ public Class<JBossEnterpriseBeanMetaData> getComponentType()
+ {
+ return JBossEnterpriseBeanMetaData.class;
+ }
+
+ @Override
+ protected List<? extends JBossEnterpriseBeanMetaData> getComponents(JBossMetaData deployment)
+ {
+ return new ArrayList<JBossEnterpriseBeanMetaData>(deployment.getEnterpriseBeans());
+ }
+
+ @Override
+ protected String getComponentName(JBossEnterpriseBeanMetaData attachment)
+ {
+ return JBossEnterpriseBeanMetaData.class.getName() + "." + attachment.getEjbName();
+ }
+
+ public Class<JBossMetaData> getVisitorType()
+ {
+ return JBossMetaData.class;
+ }
+ }
+
+ @Override
+ protected <U> void deploy(DeploymentUnit unit, DeploymentVisitor<U> visitor) throws DeploymentException
+ {
+ // I only want a single attachment deployed
+
+ U deployment = unit.getAttachment(visitor.getVisitorType());
+ try
+ {
+ visitor.deploy(unit, deployment);
+ }
+ catch(Throwable t)
+ {
+ throw DeploymentException.rethrowAsDeploymentException("Error deploying: " + unit.getName(), t);
+ }
+ }
+
+ @Override
+ public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+ {
+ if(!isValid(unit))
+ return;
+
+ log.debug("Processing " + unit);
+
+ super.internalDeploy(unit);
+ }
+
+ @Override
+ public void internalUndeploy(DeploymentUnit unit)
+ {
+ // if we don't check then undeploy will be done for stuff that was never deployed.
+ if(!isValid(unit))
+ return;
+
+ super.internalUndeploy(unit);
+ }
+
+ protected boolean isValid(DeploymentUnit unit)
+ {
+ // for good measure, we only do this for EJB 3 deployments
+ JBossMetaData md = unit.getAttachment(JBossMetaData.class);
+ if(md == null || !md.isEJB3x())
+ return false;
+ return true;
+ }
+}
Added: projects/ejb3/trunk/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml (rev 0)
+++ projects/ejb3/trunk/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml 2010-01-07 14:40:46 UTC (rev 99117)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- We don't want the AOPDependencyBuilder -->
+ <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+
+ <!-- EJB3 ProcessorChain Deployer -->
+ <bean name="Ejb3MetadataProcessingDeployer" class="org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer">
+ <!-- Allow for addition/removal of processor factories -->
+ <incallback method="addProcessorFactory"/>
+ <uncallback method="removeProcessorFactory" />
+
+ <!-- A validator chain for validating the processed metadata -->
+ <property name="validatorChain"><inject bean="EJBMetadataValidatorChain"/></property>
+ </bean>
+
+ <!-- Validator chain for validating EJB3 metadata (right now uses default validators which
+ are not configured here -->
+ <bean name="EJBMetadataValidatorChain" class="org.jboss.metadata.validation.chain.ejb.jboss.JBossMetaDataValidatorChain"/>
+
+ <!-- EJBsDeployer -->
+ <bean name="EJBsDeployer" class="org.jboss.ejb3.deployers.EJBsDeployer"/>
+
+</deployment>
\ No newline at end of file
Deleted: projects/ejb3/trunk/deployers/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/deployers/src/main/resources/META-INF/jboss-beans.xml 2010-01-07 14:30:54 UTC (rev 99116)
+++ projects/ejb3/trunk/deployers/src/main/resources/META-INF/jboss-beans.xml 2010-01-07 14:40:46 UTC (rev 99117)
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- We don't want the AOPDependencyBuilder -->
- <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
-
- <!-- EJB3 ProcessorChain Deployer -->
- <bean name="Ejb3MetadataProcessingDeployer" class="org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer">
- <!-- Allow for addition/removal of processor factories -->
- <incallback method="addProcessorFactory"/>
- <uncallback method="removeProcessorFactory"/>
-
- <!-- A validator chain for validating the processed metadata -->
- <property name="validatorChain"><inject bean="EJBMetadataValidatorChain"/></property>
- </bean>
-
- <!-- Validator chain for validating EJB3 metadata (right now uses default validators which
- are not configured here -->
- <bean name="EJBMetadataValidatorChain" class="org.jboss.metadata.validation.chain.ejb.jboss.JBossMetaDataValidatorChain"/>
-
- <!-- Processor factory for setting the implicit default business local interface(JBMETA-122) -->
- <bean name="SetDefaultLocalBusinessInterfaceProcessorFactory"
- class="org.jboss.ejb3.deployers.metadata.processor.SetDefaultLocalBusinessInterfaceProcessorFactory"/>
-
- <!-- Processor factory for setting default ClusterConfig (JBMETA-133, EJBTHREE-1539)-->
- <bean name="ClusterConfigDefaultValueProcessorFactory"
- class="org.jboss.ejb3.deployers.metadata.processor.ClusterConfigDefaultValueProcessorFactory"/>
-
- <!-- Processor factory for setting explicit local JNDI name from @LocalBinding.jndiBinding (JBMETA-143) -->
- <bean name="SetExplicitLocalJNDINameProcessorFactory"
- class="org.jboss.ejb3.deployers.metadata.processor.SetExplicitLocalJNDINameProcessorFactory"/>
-
- <!-- EJB3 JNDI Policy Decorator Deployer -->
- <bean name="EjbMetadataJndiPolicyDecoratorDeployer" class="org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer" />
-
-</deployment>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list