[jboss-cvs] JBossAS SVN: r84737 - projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/env.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Feb 25 10:16:42 EST 2009
Author: alesj
Date: 2009-02-25 10:16:42 -0500 (Wed, 25 Feb 2009)
New Revision: 84737
Modified:
projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/env/WebBeansBootstrapDeployer.java
Log:
Update bootstrap.
Modified: projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/env/WebBeansBootstrapDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/env/WebBeansBootstrapDeployer.java 2009-02-25 15:10:07 UTC (rev 84736)
+++ projects/webbeans-ri-int/trunk/microcontainer/src/main/java/org/jboss/webbeans/integration/microcontainer/deployer/env/WebBeansBootstrapDeployer.java 2009-02-25 15:16:42 UTC (rev 84737)
@@ -21,82 +21,54 @@
*/
package org.jboss.webbeans.integration.microcontainer.deployer.env;
-import java.util.List;
-
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
-import org.jboss.dependency.spi.ControllerState;
+import org.jboss.beans.metadata.spi.builder.ParameterMetaDataBuilder;
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.structure.spi.DeploymentUnit;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.dependency.spi.ControllerState;
/**
* Deploy WebBeans boostrap service.
*
* @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
-public class WebBeansBootstrapDeployer extends AbstractSimpleRealDeployer<JBossWebMetaData>
+public class WebBeansBootstrapDeployer extends AbstractSimpleRealDeployer<WebBeanDiscoveryEnvironment>
{
public WebBeansBootstrapDeployer()
{
- super(JBossWebMetaData.class);
+ super(WebBeanDiscoveryEnvironment.class);
+ setTopLevelOnly(true);
setStage(DeploymentStages.PRE_REAL);
- addInput(WebBeanDiscoveryEnvironment.class);
addOutput(BeanMetaData.class);
}
- public void deploy(DeploymentUnit unit, JBossWebMetaData webMetaData) throws DeploymentException
+ public void deploy(DeploymentUnit unit, WebBeanDiscoveryEnvironment env) throws DeploymentException
{
- DeploymentUnit top = unit.getTopLevel();
- String topName = top.getName();
- String bootstrapName = topName + "_WebBeansBootstrap";
- String bootstrapAttachmentName = bootstrapName + "_" + BeanMetaData.class.getSimpleName();
- String webModuleName = getObjectName(webMetaData);
+ String unitName = unit.getName();
- BeanMetaData bootstrapBMD = top.getAttachment(bootstrapAttachmentName, BeanMetaData.class);
- if (bootstrapBMD != null)
- {
- BeanMetaDataBuilder bootstrap = BeanMetaDataBuilder.createBuilder(bootstrapBMD);
- addLifecycleDependency(webModuleName, bootstrap);
- }
- else
- {
- WebBeanDiscoveryEnvironment env = top.getAttachment(WebBeanDiscoveryEnvironment.class);
- if (env != null)
- {
- String envName = topName + "_JBossWebBeanDiscovery";
- BeanMetaDataBuilder envWrapper = BeanMetaDataBuilder.createBuilder(envName, "org.jboss.webbeans.integration.jbossas.bootstrap.JBossWebBeanDiscovery");
- envWrapper.addConstructorParameter(WebBeanDiscoveryEnvironment.class.getName(), env);
- unit.addAttachment(envName + "_" + BeanMetaData.class.getSimpleName(), envWrapper.getBeanMetaData());
+ String envName = unitName + "_JBossWebBeanDiscovery";
+ BeanMetaDataBuilder envWrapper = BeanMetaDataBuilder.createBuilder(envName, "org.jboss.webbeans.integration.jbossas.bootstrap.JBossWebBeanDiscovery");
+ envWrapper.addConstructorParameter(WebBeanDiscoveryEnvironment.class.getName(), env);
+ unit.addAttachment(envName + "_" + BeanMetaData.class.getSimpleName(), envWrapper.getBeanMetaData());
- BeanMetaDataBuilder bootstrap = BeanMetaDataBuilder.createBuilder(bootstrapName, "org.jboss.webbeans.bootstrap.WebBeansBootstrap");
- bootstrap.addPropertyMetaData("webBeanDiscovery", bootstrap.createInject(envName));
- bootstrap.addPropertyMetaData("ejbDiscovery", createEjbConnector("JBossEjbDiscovery", "org.jboss.webbeans.integration.ejb.JBossEjbDiscovery", unit));
- bootstrap.addPropertyMetaData("ejbResolver", createEjbConnector("JBossEjbResolver", "org.jboss.webbeans.integration.ejb.JBossEjbResolver", unit));
- bootstrap.setCreate("initialize");
- bootstrap.setStart("boot");
- addLifecycleDependency(webModuleName, bootstrap);
- unit.addAttachment(bootstrapAttachmentName, bootstrap.getBeanMetaData());
- }
- }
+ String bootstrapName = unitName + "_WebBeansBootstrap";
+ BeanMetaDataBuilder bootstrap = BeanMetaDataBuilder.createBuilder(bootstrapName, "org.jboss.webbeans.bootstrap.WebBeansBootstrap");
+ bootstrap.addPropertyMetaData("webBeanDiscovery", bootstrap.createInject(envName));
+ bootstrap.addPropertyMetaData("ejbDiscovery", createEjbConnector("JBossEjbDiscovery", "org.jboss.webbeans.integration.ejb.JBossEjbDiscovery", unit));
+ bootstrap.addPropertyMetaData("ejbResolver", createEjbConnector("JBossEjbResolver", "org.jboss.webbeans.integration.ejb.JBossEjbResolver", unit));
+ ParameterMetaDataBuilder parameterBuilder = bootstrap.addInstallWithParameters("setApplicationContext", null, null, ControllerState.CREATE);
+ Object beanStore = null; // TODO
+ parameterBuilder.addParameterMetaData("org.jboss.webbeans.context.api.BeanStore", beanStore);
+ bootstrap.addInstallWithParameters("initialize", null, null, ControllerState.START);
+ bootstrap.addInstall("boot");
+ unit.addAttachment(bootstrapName + "_" + BeanMetaData.class.getSimpleName(), bootstrap.getBeanMetaData());
}
/**
- * Add bootstrap's lifecycle dependency.
- *
- * @param webModuleName the web module name
- * @param bootstrap the bootstrap bmd builder
- */
- protected void addLifecycleDependency(String webModuleName, BeanMetaDataBuilder bootstrap)
- {
- bootstrap.addDemand(webModuleName, ControllerState.CREATE, ControllerState.CREATE, null);
- bootstrap.addDemand(webModuleName, ControllerState.START, ControllerState.START, null);
- }
-
- /**
* Create ejb connector.
*
* @param name the connector name
@@ -112,26 +84,4 @@
builder.addPropertyMetaData("deploymentUnit", unit);
return builder.getBeanMetaData();
}
-
- /**
- * Get web module name.
- *
- * @param metaData the web metadata
- * @return web module's name
- */
- protected String getObjectName(JBossWebMetaData metaData)
- {
- // Obtain the war virtual host and context root to define a unique war name
- String virtualHost = "";
- List<String> hosts = metaData.getVirtualHosts();
- if (hosts != null && hosts.size() > 0)
- {
- virtualHost = hosts.get(0);
- }
- String ctxPath = metaData.getContextRoot();
- // The ctx path value cannot be empty in the object name
- if (ctxPath == null || ctxPath.length() == 0)
- ctxPath = "/";
- return "jboss.web.deployment:war=" + virtualHost + ctxPath;
- }
}
More information about the jboss-cvs-commits
mailing list