[jboss-cvs] JBossAS SVN: r102937 - in projects/weld-int/branches/6.0.0.Beta7_VFS3_int: deployer/src/main/java/org/jboss/weld/integration/deployer/jndi and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 24 23:52:45 EDT 2010
Author: marius.bogoevici
Date: 2010-03-24 23:52:43 -0400 (Wed, 24 Mar 2010)
New Revision: 102937
Added:
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEModuleJndiBinder.java
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/SimpleCompJndiBinder.java
Removed:
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebCompJndiBinder.java
Modified:
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinder.java
projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java
Log:
fixing some JNDI issues
Modified: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-03-25 02:15:12 UTC (rev 102936)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2010-03-25 03:52:43 UTC (rev 102937)
@@ -62,9 +62,9 @@
<!--</bean>-->
<!-- Responsible for binding bean managers -->
- <bean name="JndiBinderDeployer" class="org.jboss.weld.integration.deployer.jndi.JndiBinderDeployer">
- <depends>NameSpaces</depends>
- </bean>
+ <!--<bean name="JndiBinderDeployer" class="org.jboss.weld.integration.deployer.jndi.JndiBinderDeployer">-->
+ <!--<depends>NameSpaces</depends>-->
+ <!--</bean>-->
<bean name="JavaEEComponentJndiBinderDeployer" class="org.jboss.weld.integration.deployer.jndi.JavaEEComponentJndiBinderDeployer">
<constructor><parameter><inject bean="NamingJavaEEComponentInformer"/></parameter></constructor>
Added: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java (rev 0)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -0,0 +1,50 @@
+package org.jboss.weld.integration.deployer.jndi;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import org.jboss.logging.Logger;
+
+/**
+ * @author Marius Bogoevici
+ */
+public abstract class JavaCompJndiBinder
+{
+ protected Logger log = Logger.getLogger(getClass());
+ private String deploymentUnitName;
+
+ public JavaCompJndiBinder(String deploymentUnitName)
+ {
+ this.deploymentUnitName = deploymentUnitName;
+ }
+
+ public void bindToJavaComp()
+ {
+ try
+ {
+ getJavaCompContext().bind("BeanManager",new Reference(BeanManager.class.getName(), "org.jboss.weld.resources.ManagerObjectFactory", null));
+ }
+ catch (NamingException e)
+ {
+ log.error("Could not bound BeanManager on " + getJavaContextDescription());
+ }
+ }
+
+ protected abstract Context getJavaCompContext() throws NamingException;
+
+ protected abstract String getJavaContextDescription();
+
+ public void unbind()
+ {
+ try
+ {
+ getJavaCompContext().unbind("BeanManager");
+ }
+ catch (NamingException e)
+ {
+ log.error("Cound not unbind java:comp/BeanManager for " + deploymentUnitName);
+ }
+ }
+}
Modified: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinder.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinder.java 2010-03-25 02:15:12 UTC (rev 102936)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinder.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -1,8 +1,10 @@
package org.jboss.weld.integration.deployer.jndi;
+import javax.enterprise.inject.spi.BeanManager;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import javax.naming.Reference;
import org.jboss.logging.Logger;
import org.jboss.reloaded.naming.spi.JavaEEComponent;
@@ -11,45 +13,26 @@
/**
* @author Marius Bogoevici
*/
-public class JavaEEComponentJndiBinder
+public class JavaEEComponentJndiBinder extends JavaCompJndiBinder
{
- private Logger log = Logger.getLogger(getClass());
- private BootstrapBean bootstrapBean;
private JavaEEComponent javaEEComponent;
- private Context context;
- public JavaEEComponentJndiBinder(BootstrapBean bootstrapBean, JavaEEComponent javaEEComponent)
+ public JavaEEComponentJndiBinder(JavaEEComponent javaEEComponent, String deploymentUnitName)
{
+ super(deploymentUnitName);
this.javaEEComponent = javaEEComponent;
- if (bootstrapBean == null)
- throw new RuntimeException("Bootstrap bean cannot be null");
- this.bootstrapBean = bootstrapBean;
}
- public void bindToJavaComp()
+ @Override
+ protected Context getJavaCompContext()
{
- try
- {
- context = javaEEComponent.getContext();
- context.bind("BeanManager",bootstrapBean.getBootstrap().getManager(bootstrapBean.getDeployment().getFlatBeanDeploymentArchive()));
- }
- catch (NamingException e)
- {
- log.error("No java:comp context found for " + javaEEComponent.getName());
- }
+ return javaEEComponent.getContext();
}
- public void unbind()
+ @Override
+ protected String getJavaContextDescription()
{
- try
- {
- context.unbind("BeanManager");
- }
- catch (NamingException e)
- {
- log.error("Cound not unbind java:comp/BeanManager");
- }
+ return javaEEComponent.getName();
}
-
}
\ No newline at end of file
Deleted: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java 2010-03-25 02:15:12 UTC (rev 102936)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -1,67 +0,0 @@
-package org.jboss.weld.integration.deployer.jndi;
-
-import static org.jboss.reloaded.naming.deployers.util.AnnotationHelper.annotation;
-
-import org.jboss.beans.metadata.api.model.InjectOption;
-import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
-import org.jboss.dependency.plugins.graph.Search;
-import org.jboss.dependency.spi.graph.SearchInfo;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStage;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
-import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.plugins.scope.ApplicationScope;
-import org.jboss.metadata.plugins.scope.DeploymentScope;
-import org.jboss.metadata.plugins.scope.InstanceScope;
-import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
-import org.jboss.reloaded.naming.spi.JavaEEComponent;
-import org.jboss.weld.integration.deployer.DeployersUtils;
-import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
-
-/**
- * @author Marius Bogoevici
- */
-public class JavaEEComponentJndiBinderDeployer extends AbstractSimpleRealDeployer<JBossEnterpriseBeanMetaData>
-{
-
- private JavaEEComponentInformer informer;
-
- public JavaEEComponentJndiBinderDeployer(JavaEEComponentInformer javaEEComponentInformer)
- {
- super(JBossEnterpriseBeanMetaData.class);
- informer = javaEEComponentInformer;
- setComponentsOnly(true);
- setOutput(BeanMetaData.class);
- }
-
- @Override
- public void deploy(DeploymentUnit deploymentUnit, JBossEnterpriseBeanMetaData jBossEnterpriseBeanMetaData) throws DeploymentException
- {
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_CompJndiBinder", JavaEEComponentJndiBinder.class.getName());
- builder.addConstructorParameter(BootstrapBean.class.getName(), new AbstractInjectionValueMetaData(DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel())));
- AbstractInjectionValueMetaData javaComponent = new AbstractInjectionValueMetaData(getComponentBeanName(deploymentUnit));
- builder.addConstructorParameter(JavaEEComponent.class.getName(), javaComponent);
- builder.addInstall("bindToJavaComp");
- deploymentUnit.getParent().addAttachment(deploymentUnit.getName()+"/Comp", builder.getBeanMetaData());
-
- }
-
- private String getComponentBeanName(DeploymentUnit deploymentUnit)
- {
- String appName = informer.getApplicationName(deploymentUnit);
- String moduleName = informer.getModulePath(deploymentUnit);
- String componentName = informer.getComponentName(deploymentUnit);
- String name = "jboss.naming:";
- if(appName != null)
- name += "application=" + appName + ",";
- name += "module=" + moduleName + ",component=" + componentName;
- return name;
- }
-
-}
Added: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java (rev 0)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -0,0 +1,85 @@
+package org.jboss.weld.integration.deployer.jndi;
+
+import static org.jboss.reloaded.naming.deployers.util.AnnotationHelper.annotation;
+
+import org.jboss.beans.metadata.api.model.InjectOption;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.dependency.plugins.graph.Search;
+import org.jboss.dependency.spi.graph.SearchInfo;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.jpa.javaee.JavaEEModuleInformer;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.plugins.scope.ApplicationScope;
+import org.jboss.metadata.plugins.scope.DeploymentScope;
+import org.jboss.metadata.plugins.scope.InstanceScope;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
+import org.jboss.reloaded.naming.spi.JavaEEComponent;
+import org.jboss.weld.integration.deployer.DeployersUtils;
+import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class JavaEEComponentJndiBinderDeployer extends AbstractSimpleRealDeployer<JBossEnterpriseBeanMetaData>
+{
+
+ private JavaEEComponentInformer informer;
+
+ public JavaEEComponentJndiBinderDeployer(JavaEEComponentInformer javaEEComponentInformer)
+ {
+ super(JBossEnterpriseBeanMetaData.class);
+ informer = javaEEComponentInformer;
+ setComponentsOnly(true);
+ setOutput(BeanMetaData.class);
+ }
+
+ @Override
+ public void deploy(DeploymentUnit deploymentUnit, JBossEnterpriseBeanMetaData jBossEnterpriseBeanMetaData) throws DeploymentException
+ {
+ BeanMetaData bbBMD = getBootstrapBeanAttachment(deploymentUnit.getTopLevel());
+ if (bbBMD == null)
+ {
+ return;
+ }
+
+ if (informer.getModuleType(deploymentUnit).equals(org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer.ModuleType.EJB))
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_CompJndiBinder", JavaEEComponentJndiBinder.class.getName());
+ AbstractInjectionValueMetaData javaComponent = new AbstractInjectionValueMetaData(getComponentBeanName(deploymentUnit));
+ builder.addConstructorParameter(JavaEEComponent.class.getName(), javaComponent);
+ builder.addConstructorParameter(String.class.getName(), deploymentUnit.getName());
+ builder.addInstall("bindToJavaComp");
+ deploymentUnit.getParent().addAttachment(deploymentUnit.getName() + "_JavaCompBinder", builder.getBeanMetaData());
+ }
+ }
+
+ private BeanMetaData getBootstrapBeanAttachment(DeploymentUnit deploymentUnit)
+ {
+ String bootstrapName = DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel());
+ String bbAttachmentName = bootstrapName + "_" + BeanMetaData.class.getSimpleName();
+
+ BeanMetaData bbBMD = deploymentUnit.getTopLevel().getAttachment(bbAttachmentName, BeanMetaData.class);
+ return bbBMD;
+ }
+
+ private String getComponentBeanName(DeploymentUnit deploymentUnit)
+ {
+ String appName = informer.getApplicationName(deploymentUnit);
+ String moduleName = informer.getModulePath(deploymentUnit);
+ String componentName = informer.getComponentName(deploymentUnit);
+ String name = "jboss.naming:";
+ if(appName != null)
+ name += "application=" + appName + ",";
+ name += "module=" + moduleName + ",component=" + componentName;
+ return name;
+ }
+
+}
Added: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEModuleJndiBinder.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEModuleJndiBinder.java (rev 0)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEModuleJndiBinder.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -0,0 +1,33 @@
+package org.jboss.weld.integration.deployer.jndi;
+
+import javax.naming.Context;
+
+import org.jboss.reloaded.naming.spi.JavaEEComponent;
+import org.jboss.reloaded.naming.spi.JavaEEModule;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class JavaEEModuleJndiBinder extends JavaCompJndiBinder
+{
+
+ private JavaEEModule javaEEModule;
+
+ public JavaEEModuleJndiBinder(JavaEEModule javaEEModule, String deploymentUnitName)
+ {
+ super(deploymentUnitName);
+ this.javaEEModule = javaEEModule;
+ }
+
+ @Override
+ protected Context getJavaCompContext()
+ {
+ return javaEEModule.getContext();
+ }
+
+ @Override
+ protected String getJavaContextDescription()
+ {
+ return javaEEModule.getName();
+ }
+}
\ No newline at end of file
Copied: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/SimpleCompJndiBinder.java (from rev 102900, projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebCompJndiBinder.java)
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/SimpleCompJndiBinder.java (rev 0)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/SimpleCompJndiBinder.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -0,0 +1,33 @@
+package org.jboss.weld.integration.deployer.jndi;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.naming.Reference;
+
+import org.jboss.logging.Logger;
+import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
+
+/**
+ * @author Marius Bogoevici
+ */
+public class SimpleCompJndiBinder extends JavaCompJndiBinder
+{
+ public SimpleCompJndiBinder(String deploymentUnitName)
+ {
+ super(deploymentUnitName);
+ }
+
+ @Override
+ protected Context getJavaCompContext() throws NamingException
+ {
+ return ((Context) new InitialContext().lookup("java:comp"));
+ }
+
+ @Override
+ protected String getJavaContextDescription()
+ {
+ return "JNDI java:comp";
+ }
+}
Deleted: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebCompJndiBinder.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebCompJndiBinder.java 2010-03-25 02:15:12 UTC (rev 102936)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebCompJndiBinder.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -1,54 +0,0 @@
-package org.jboss.weld.integration.deployer.jndi;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.jboss.logging.Logger;
-import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
-
-/**
- * @author Marius Bogoevici
- */
-public class WebCompJndiBinder
-{
- private Logger log = Logger.getLogger(getClass());
-
- private BootstrapBean bootstrapBean;
- private String deploymentUnitName;
- private Context context;
-
- public WebCompJndiBinder(BootstrapBean bootstrapBean, String deploymentUnitName)
- {
- this.deploymentUnitName = deploymentUnitName;
- if (bootstrapBean == null)
- throw new RuntimeException("Bootstrap bean cannot be null");
- this.bootstrapBean = bootstrapBean;
- }
-
- public void bindToJavaComp()
- {
- try
- {
- context = ((Context) new InitialContext().lookup("java:comp/"));
- context.bind("BeanManager",bootstrapBean.getBootstrap().getManager(bootstrapBean.getDeployment().getFlatBeanDeploymentArchive()));
- }
- catch (NamingException e)
- {
- log.error("No java:comp context found for " + deploymentUnitName);
- }
- }
-
-
- public void unbind()
- {
- try
- {
- context.unbind("BeanManager");
- }
- catch (NamingException e)
- {
- log.error("Cound not unbind java:comp/BeanManager");
- }
- }
-}
Modified: projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java
===================================================================
--- projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java 2010-03-25 02:15:12 UTC (rev 102936)
+++ projects/weld-int/branches/6.0.0.Beta7_VFS3_int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/WebJndiBinderDeployer.java 2010-03-25 03:52:43 UTC (rev 102937)
@@ -8,6 +8,8 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer;
+import org.jboss.reloaded.naming.spi.JavaEEComponent;
+import org.jboss.reloaded.naming.spi.JavaEEModule;
import org.jboss.weld.integration.deployer.DeployersUtils;
import org.jboss.weld.integration.deployer.env.helpers.BootstrapBean;
@@ -29,21 +31,46 @@
@Override
public void deploy(DeploymentUnit deploymentUnit, JBossWebMetaData jBossWebMetaData) throws DeploymentException
{
- String bootstrapName = DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel());
- String bbAttachmentName = bootstrapName + "_" + BeanMetaData.class.getSimpleName();
-
- BeanMetaData bbBMD = deploymentUnit.getTopLevel().getAttachment(bbAttachmentName, BeanMetaData.class);
+ BeanMetaData bbBMD = getBootstrapBeanAttachment(deploymentUnit.getTopLevel());
if (bbBMD != null && informer.getModuleType(deploymentUnit).equals(JavaEEModuleInformer.ModuleType.WEB))
{
- BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_CompJndiBinder", WebCompJndiBinder.class.getName());
- builder.addConstructorParameter(BootstrapBean.class.getName(), new AbstractInjectionValueMetaData(DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel())));
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_WebCompJndiBinder", SimpleCompJndiBinder.class.getName());
builder.addConstructorParameter(String.class.getName(), deploymentUnit.getName());
builder.addInstall("bindToJavaComp");
builder.addUninstall("unbind");
- deploymentUnit.getTopLevel().addAttachment(deploymentUnit.getName() + "/Comp", builder.getBeanMetaData());
+ deploymentUnit.getTopLevel().addAttachment(deploymentUnit.getName() + "_WebCompJndiBinder", builder.getBeanMetaData());
+
+ BeanMetaDataBuilder moduleBinderBuilder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_JavaModuleJndiBinder", JavaEEModuleJndiBinder.class.getName());
+ AbstractInjectionValueMetaData javaModule = new AbstractInjectionValueMetaData(getModuleBeanName(deploymentUnit));
+ moduleBinderBuilder.addConstructorParameter(JavaEEModule.class.getName(), javaModule);
+ moduleBinderBuilder.addConstructorParameter(String.class.getName(), deploymentUnit.getName());
+ moduleBinderBuilder.addInstall("bindToJavaComp");
+ moduleBinderBuilder.addUninstall("unbind");
+ deploymentUnit.getTopLevel().addAttachment(deploymentUnit.getName() + "_JavaModuleJndiBinder", moduleBinderBuilder.getBeanMetaData());
}
}
+ private BeanMetaData getBootstrapBeanAttachment(DeploymentUnit deploymentUnit)
+ {
+ String bootstrapName = DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel());
+ String bbAttachmentName = bootstrapName + "_" + BeanMetaData.class.getSimpleName();
+ BeanMetaData bbBMD = deploymentUnit.getTopLevel().getAttachment(bbAttachmentName, BeanMetaData.class);
+ return bbBMD;
+ }
+ private String getModuleBeanName(DeploymentUnit deploymentUnit)
+ {
+ String appName = informer.getApplicationName(deploymentUnit);
+ String moduleName = informer.getModulePath(deploymentUnit);
+ String name = "jboss.naming:";
+ if (appName != null)
+ {
+ name += "application=" + appName + ",";
+ }
+ name += "module=" + moduleName;
+ return name;
+ }
+
+
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list