Index: weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml =================================================================== --- weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml (revisão 107068) +++ weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml (cópia de trabalho) @@ -11,13 +11,18 @@ - + + + + - + + + Index: weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java =================================================================== --- weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java (revisão 107018) +++ weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java (cópia de trabalho) @@ -29,6 +29,7 @@ import org.jboss.deployers.spi.DeploymentException; import org.jboss.deployers.structure.spi.DeploymentUnit; import org.jboss.weld.bootstrap.api.Bootstrap; +import org.jboss.weld.bootstrap.spi.Deployment; import org.jboss.weld.context.api.BeanStore; import org.jboss.weld.context.api.helpers.ConcurrentHashMapBeanStore; import org.jboss.weld.integration.deployer.DeployersUtils; @@ -66,7 +67,7 @@ BeanMetaDataBuilder bootstrap = BeanMetaDataBuilder.createBuilder(bootstrapName, "org.jboss.weld.integration.deployer.env.helpers.BootstrapBean"); bootstrap.addConstructorParameter(Bootstrap.class.getName(), createBootstrap(unit)); - bootstrap.addConstructorParameter(FlatDeployment.class.getName(), deploymentValue); + bootstrap.addConstructorParameter(Deployment.class.getName(), deploymentValue); bootstrap.addPropertyMetaData("ejbServices", ejbServicesValue); bootstrap.addPropertyMetaData("ejbInjectionServices", ejbServicesValue); bootstrap.addPropertyMetaData("jpaServices", createServiceConnector("JBossJpaServices", "org.jboss.weld.integration.persistence.JBossJpaServices", unit)); Index: weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java =================================================================== --- weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java (revisão 107018) +++ weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/helpers/BootstrapBean.java (cópia de trabalho) @@ -6,12 +6,13 @@ import org.jboss.weld.bootstrap.api.Environments; import org.jboss.weld.bootstrap.api.Service; import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive; +import org.jboss.weld.bootstrap.spi.Deployment; import org.jboss.weld.context.api.BeanStore; import org.jboss.weld.ejb.spi.EjbServices; import org.jboss.weld.injection.spi.EjbInjectionServices; import org.jboss.weld.injection.spi.JpaInjectionServices; import org.jboss.weld.injection.spi.ResourceInjectionServices; -import org.jboss.weld.integration.deployer.env.FlatDeployment; +import org.jboss.weld.integration.deployer.env.bda.DeploymentImpl; import org.jboss.weld.security.spi.SecurityServices; import org.jboss.weld.servlet.api.ServletServices; import org.jboss.weld.transaction.spi.TransactionServices; @@ -48,13 +49,13 @@ } private final Bootstrap bootstrap; - private final FlatDeployment deployment; + private final Deployment deployment; private BeanStore applicationBeanStore; - public BootstrapBean(Bootstrap bootstrap, FlatDeployment flatDeployment) + public BootstrapBean(Bootstrap bootstrap, Deployment deployment) { this.bootstrap = bootstrap; - this.deployment = flatDeployment; + this.deployment = deployment; } public void setEjbServices(EjbServices ejbServices) @@ -77,7 +78,7 @@ addBeanDeploymentArchiveService(ResourceInjectionServices.class, resourceServices); } - public FlatDeployment getDeployment() + public Deployment getDeployment() { return deployment; } @@ -109,11 +110,10 @@ private void addBeanDeploymentArchiveService(Class type, S service) { - if (getDeployment().getFlatBeanDeploymentArchive() == null) - { - throw new IllegalStateException("Must add BeanDeploymentArchive to FlatDeployment first!"); - } - getDeployment().getFlatBeanDeploymentArchive().getServices().add(type, service); + // temporary approach to add a service to all bdas in a Deployment and to + // bdas that will be loaded in the future + // TODO remove this casting when done + ((DeploymentImpl) deployment).addBootstrapService(type, service); } public void boot() @@ -132,7 +132,10 @@ public void initialize() { // Create the JBoss Servlet Services - addDeploymentService(ServletServices.class, new JBossServletServices(deployment.getFlatBeanDeploymentArchive())); + for (BeanDeploymentArchive beanDeploymentArchive: deployment.getBeanDeploymentArchives()) + { + addDeploymentService(ServletServices.class, new JBossServletServices(beanDeploymentArchive)); + } bootstrap.startContainer(Environments.EE_INJECT, deployment, applicationBeanStore); } Index: weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/WeldInjector.java =================================================================== --- weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/WeldInjector.java (revisão 107018) +++ weld-int/deployer/src/main/java/org/jboss/weld/integration/injection/WeldInjector.java (cópia de trabalho) @@ -34,9 +34,10 @@ public void inject(Object instance) { - // assume that the deployment is flat - BeanDeploymentArchive beanDeploymentArchive = bootstrapBean.getDeployment().getFlatBeanDeploymentArchive(); - NonContextualObjectInjectionHelper.injectNonContextualInstance(instance, bootstrapBean.getBootstrap().getManager(beanDeploymentArchive)); + for (BeanDeploymentArchive beanDeploymentArchive: bootstrapBean.getDeployment().getBeanDeploymentArchives()) + { + NonContextualObjectInjectionHelper.injectNonContextualInstance(instance, bootstrapBean.getBootstrap().getManager(beanDeploymentArchive)); + } } public void cleanup()