[jboss-cvs] JBossAS SVN: r92840 - in projects/webbeans-ri-int/trunk/deployer/src: main/java/org/jboss/webbeans/integration/deployer/env/helpers and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 26 11:59:01 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-26 11:59:01 -0400 (Wed, 26 Aug 2009)
New Revision: 92840

Removed:
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossDeployment.java
Modified:
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/FlatDeployment.java
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossBeanDeploymentArchive.java
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/helpers/BootstrapBean.java
   projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/injection/WebBeansInjector.java
   projects/webbeans-ri-int/trunk/deployer/src/test/java/org/jboss/test/deployers/support/MockWBBootstrap.java
Log:
WBRI-372 - change to services per BDA

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/FlatDeployment.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/FlatDeployment.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/FlatDeployment.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -20,6 +20,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import org.jboss.webbeans.bootstrap.api.ServiceRegistry;
+import org.jboss.webbeans.bootstrap.api.helpers.SimpleServiceRegistry;
 import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.webbeans.bootstrap.spi.Deployment;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
@@ -37,11 +39,13 @@
 {
    private final BeanDeploymentArchive beanDeploymentArchive;
    private final List<BeanDeploymentArchive> beanDeploymentArchives;
+   private final ServiceRegistry services;
 
    public FlatDeployment(WebBeanDiscoveryEnvironment environment, Collection<EjbDescriptor<?>> ejbDescriptors)
    {
       this.beanDeploymentArchive = new JBossBeanDeploymentArchive(environment, ejbDescriptors);
       this.beanDeploymentArchives = Collections.singletonList(beanDeploymentArchive);
+      this.services = new SimpleServiceRegistry();
    }
 
    public List<BeanDeploymentArchive> getBeanDeploymentArchives()
@@ -58,4 +62,9 @@
    {
       return beanDeploymentArchive;
    }
+   
+   public ServiceRegistry getServices()
+   {
+      return services;
+   }
 }
\ No newline at end of file

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossBeanDeploymentArchive.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossBeanDeploymentArchive.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossBeanDeploymentArchive.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -5,6 +5,8 @@
 import java.util.Collections;
 import java.util.List;
 
+import org.jboss.webbeans.bootstrap.api.ServiceRegistry;
+import org.jboss.webbeans.bootstrap.api.helpers.SimpleServiceRegistry;
 import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
 import org.jboss.webbeans.ejb.spi.EjbDescriptor;
 
@@ -12,13 +14,14 @@
 {
    
    private final WebBeanDiscoveryEnvironment environment;
-   
    private final Collection<EjbDescriptor<?>> ejbDescriptors;
+   private final ServiceRegistry services;
 
    public JBossBeanDeploymentArchive(WebBeanDiscoveryEnvironment environment, Collection<EjbDescriptor<?>> ejbDescriptors)
    {
       this.environment = environment;
       this.ejbDescriptors = ejbDescriptors;
+      this.services = new SimpleServiceRegistry();
    }
    
    public Collection<Class<?>> getBeanClasses()
@@ -40,5 +43,10 @@
    {
       return ejbDescriptors;
    }
+
+   public ServiceRegistry getServices()
+   {
+      return services;
+   }
    
 }
\ No newline at end of file

Deleted: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossDeployment.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossDeployment.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/JBossDeployment.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,  
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.integration.deployer.env;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
-import org.jboss.webbeans.bootstrap.spi.Deployment;
-import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-
-/**
- * Initial (naive) implementation of Deployment for JBoss AS.
- * 
- * This version simply flattens the entire deployment into a single
- * BeanDeploymentArchive
- * 
- * @author pmuir
- * 
- */
-public class JBossDeployment implements Deployment
-{
-
-   private final BeanDeploymentArchive beanDeploymentArchive;
-   private final List<BeanDeploymentArchive> beanDeploymentArchives;
-   
-   public JBossDeployment(WebBeanDiscoveryEnvironment environment, Collection<EjbDescriptor<?>> ejbDescriptors)
-   {
-      this.beanDeploymentArchive = new JBossBeanDeploymentArchive(environment, ejbDescriptors);
-      this.beanDeploymentArchives = new ArrayList<BeanDeploymentArchive>();
-      this.beanDeploymentArchives.add(beanDeploymentArchive);
-   }
-   
-   public List<BeanDeploymentArchive> getBeanDeploymentArchives()
-   {
-      return beanDeploymentArchives;
-   }
-
-   public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
-   {
-      return beanDeploymentArchive;
-   }
-
-}

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/WebBeansBootstrapDeployer.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -29,7 +29,6 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.webbeans.bootstrap.api.Bootstrap;
-import org.jboss.webbeans.bootstrap.api.Environments;
 import org.jboss.webbeans.context.api.BeanStore;
 import org.jboss.webbeans.context.api.helpers.ConcurrentHashMapBeanStore;
 import org.jboss.webbeans.integration.deployer.DeployersUtils;
@@ -64,8 +63,7 @@
       BeanMetaDataBuilder bootstrap = BeanMetaDataBuilder.createBuilder(bootstrapName, "org.jboss.webbeans.integration.deployer.env.helpers.BootstrapBean");
       
       bootstrap.addConstructorParameter(Bootstrap.class.getName(), createBootstrap(unit));
-      bootstrap.addPropertyMetaData("deployment", deploymentValue);
-      
+      bootstrap.addConstructorParameter(FlatDeployment.class.getName(), deploymentValue);
       bootstrap.addPropertyMetaData("ejbServices", ejbServicesValue);
       bootstrap.addPropertyMetaData("jpaServices", createServiceConnector("JBossJpaServices", "org.jboss.webbeans.integration.persistence.JBossJpaServices", unit));
       bootstrap.addPropertyMetaData("resourceServices", bootstrap.createInject("JBossResourceServices"));
@@ -73,8 +71,6 @@
       bootstrap.addPropertyMetaData("applicationContext", createBeanStore());
       bootstrap.addPropertyMetaData("securityServices", bootstrap.createInject("JBossSecurityServices"));
       bootstrap.addPropertyMetaData("validationServices", bootstrap.createInject("JBossValidationServices"));
-      //bootstrap.addPropertyMetaData("jsfServices", bootstrap.createInject("JBossJSFServices"));
-      bootstrap.addPropertyMetaData("environment", Environments.EE);
       bootstrap.setCreate("initialize");
       bootstrap.setStart("boot");
       bootstrap.setDestroy("shutdown");

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/helpers/BootstrapBean.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/helpers/BootstrapBean.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/deployer/env/helpers/BootstrapBean.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -4,15 +4,14 @@
 import javax.servlet.ServletContext;
 
 import org.jboss.webbeans.bootstrap.api.Bootstrap;
-import org.jboss.webbeans.bootstrap.api.Environment;
+import org.jboss.webbeans.bootstrap.api.Environments;
+import org.jboss.webbeans.bootstrap.api.Service;
 import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
-import org.jboss.webbeans.bootstrap.spi.Deployment;
 import org.jboss.webbeans.context.api.BeanStore;
 import org.jboss.webbeans.ejb.spi.EjbServices;
 import org.jboss.webbeans.integration.deployer.env.FlatDeployment;
 import org.jboss.webbeans.jsf.spi.JSFServices;
 import org.jboss.webbeans.persistence.spi.JpaServices;
-import org.jboss.webbeans.resources.spi.ResourceLoader;
 import org.jboss.webbeans.resources.spi.ResourceServices;
 import org.jboss.webbeans.security.spi.SecurityServices;
 import org.jboss.webbeans.servlet.api.ServletServices;
@@ -66,95 +65,67 @@
    }
    
    private final Bootstrap bootstrap;
+   private final FlatDeployment deployment;
+   private BeanStore applicationBeanStore;
 
-   public BootstrapBean(Bootstrap bootstrap)
+   public BootstrapBean(Bootstrap bootstrap, FlatDeployment flatDeployment)
    {
       this.bootstrap = bootstrap;
+      this.deployment = flatDeployment;
    }
    
    public void setEjbServices(EjbServices ejbServices)
    {
-      bootstrap.getServices().add(EjbServices.class, ejbServices);
+      addBeanDeploymentArchiveService(EjbServices.class, ejbServices);
    }
    
-   public EjbServices getEjbServices()
-   {
-      return bootstrap.getServices().get(EjbServices.class);
-   }
-   
    public void setJpaServices(JpaServices jpaServices)
    {
-      bootstrap.getServices().add(JpaServices.class, jpaServices);
+      addBeanDeploymentArchiveService(JpaServices.class, jpaServices);
    }
    
-   public JpaServices getJpaServices()
-   {
-      return bootstrap.getServices().get(JpaServices.class);
-   }
-   
-   public ResourceServices getResourceServices()
-   {
-      return bootstrap.getServices().get(ResourceServices.class);
-   }
-   
    public void setResourceServices(ResourceServices resourceServices)
    {
-      bootstrap.getServices().add(ResourceServices.class, resourceServices);
+      addBeanDeploymentArchiveService(ResourceServices.class, resourceServices);
    }
    
-   public void setDeployment(Deployment deployment)
+   public FlatDeployment getDeployment()
    {
-      bootstrap.getServices().add(Deployment.class, deployment);
+      return deployment;
    }
    
-   public Deployment getDeployment()
-   {
-      return bootstrap.getServices().get(Deployment.class);
-   }
-   
    public void setTransactionServices(TransactionServices transactionServices)
    {
-      bootstrap.getServices().add(TransactionServices.class, transactionServices);
+      addDeploymentService(TransactionServices.class, transactionServices);
    }
-
-   public TransactionServices getTransactionServices()
-   {
-      return bootstrap.getServices().get(TransactionServices.class);
-   }
    
    public void setApplicationContext(BeanStore applicationContext)
    {
-      bootstrap.setApplicationContext(applicationContext);      
+      this.applicationBeanStore = applicationContext;
    }
    
-   public void setResourceLoader(ResourceLoader resourceLoader)
-   {
-      bootstrap.getServices().add(ResourceLoader.class, resourceLoader);
-   }
-   
-   public ResourceLoader getResourceLoader()
-   {
-      return bootstrap.getServices().get(ResourceLoader.class);
-   }
-   
    public void setValidationServices(ValidationServices validationServices) 
    {
-      bootstrap.getServices().add(ValidationServices.class, validationServices);
+      addDeploymentService(ValidationServices.class, validationServices);
    }
    
-   public ValidationServices getValidationServices()
+   public void setSecurityServices(SecurityServices securityServices)
    {
-      return bootstrap.getServices().get(ValidationServices.class);
+      addDeploymentService(SecurityServices.class, securityServices);
    }
    
-   public void setSecurityServices(SecurityServices securityServices)
+   private <S extends Service> void addDeploymentService(Class<S> type, S service)
    {
-      bootstrap.getServices().add(SecurityServices.class, securityServices);
+      getDeployment().getServices().add(type, service);
    }
    
-   public SecurityServices getSecurityServices()
+   private <S extends Service> void addBeanDeploymentArchiveService(Class<S> type, S service)
    {
-      return bootstrap.getServices().get(SecurityServices.class);
+      if (getDeployment().getFlatBeanDeploymentArchive() == null)
+      {
+         throw new IllegalStateException("Must add BeanDeploymentArchive to FlatDeployment first!");
+      }
+      getDeployment().getFlatBeanDeploymentArchive().getServices().add(type, service);
    }
    
    public void boot()
@@ -173,24 +144,11 @@
    public void initialize()
    {
       // Create the JBoss Servlet Services
-      if (bootstrap.getServices().get(Deployment.class) instanceof FlatDeployment)
-      {
-         FlatDeployment deployment = (FlatDeployment) bootstrap.getServices().get(Deployment.class);
-         bootstrap.getServices().add(ServletServices.class, new JBossServletServices(deployment.getFlatBeanDeploymentArchive()));
-         bootstrap.getServices().add(JSFServices.class, new JBossJSFServices(deployment.getFlatBeanDeploymentArchive()));
-      }
-      else
-      {
-         throw new IllegalStateException("Wrong deployment!");
-      }
-      bootstrap.startContainer();
+      addDeploymentService(ServletServices.class, new JBossServletServices(deployment.getFlatBeanDeploymentArchive()));
+      addDeploymentService(JSFServices.class, new JBossJSFServices(deployment.getFlatBeanDeploymentArchive()));
+      bootstrap.startContainer(Environments.EE, deployment, applicationBeanStore);
    }
    
-   public void setEnvironment(Environment environment)
-   {
-      bootstrap.setEnvironment(environment);
-   }
-   
    public void shutdown()
    {
       bootstrap.shutdown();

Modified: projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/injection/WebBeansInjector.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/injection/WebBeansInjector.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/main/java/org/jboss/webbeans/integration/injection/WebBeansInjector.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -37,7 +37,7 @@
    {
       // assume that the deployment is flat. If this changes, the servlet context
       // needs to be passed along
-      ServletServices services = bootstrapBean.getBootstrap().getServices().get(ServletServices.class);
+      ServletServices services = bootstrapBean.getDeployment().getServices().get(ServletServices.class);
       BeanDeploymentArchive beanDeploymentArchive = services.getBeanDeploymentArchive(null);
       NonContextualObjectInjectionHelper.injectNonContextualInstance(instance, bootstrapBean.getBootstrap().getManager(beanDeploymentArchive));
    }

Modified: projects/webbeans-ri-int/trunk/deployer/src/test/java/org/jboss/test/deployers/support/MockWBBootstrap.java
===================================================================
--- projects/webbeans-ri-int/trunk/deployer/src/test/java/org/jboss/test/deployers/support/MockWBBootstrap.java	2009-08-26 15:27:23 UTC (rev 92839)
+++ projects/webbeans-ri-int/trunk/deployer/src/test/java/org/jboss/test/deployers/support/MockWBBootstrap.java	2009-08-26 15:59:01 UTC (rev 92840)
@@ -22,14 +22,16 @@
 package org.jboss.test.deployers.support;
 
 import org.jboss.webbeans.bootstrap.api.Bootstrap;
-import org.jboss.webbeans.bootstrap.api.helpers.AbstractBootstrap;
+import org.jboss.webbeans.bootstrap.api.Environment;
 import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.webbeans.bootstrap.spi.Deployment;
+import org.jboss.webbeans.context.api.BeanStore;
 import org.jboss.webbeans.manager.api.WebBeansManager;
 
 /**
  * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  */
-public class MockWBBootstrap extends AbstractBootstrap implements CheckableBootstrap
+public class MockWBBootstrap implements CheckableBootstrap
 {
    private boolean create;
    private boolean startInit;
@@ -46,7 +48,7 @@
    
    public void initialize()
    {
-      startContainer();
+      startContainer(null, null, null);
    }
    
    public void boot()
@@ -54,7 +56,7 @@
       startInitialization().deployBeans().validateBeans().endInitialization();
    }
 
-   public Bootstrap startContainer()
+   public Bootstrap startContainer(Environment environment, Deployment deployment, BeanStore beanStore)
    {
       create = true;
       return this;




More information about the jboss-cvs-commits mailing list