[webbeans-commits] Webbeans SVN: r3703 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans: builder/sorter and 1 other directory.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Sep 17 17:25:02 EDT 2009


Author: kabir.khan at jboss.com
Date: 2009-09-17 17:25:02 -0400 (Thu, 17 Sep 2009)
New Revision: 3703

Removed:
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java
Modified:
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java
   ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java
Log:
Build and deploy the beans from within the deployment items

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -21,18 +21,12 @@
 import java.util.Set;
 
 import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.ObserverMethod;
 
 import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.Container;
-import org.jboss.webbeans.bean.DecoratorImpl;
 import org.jboss.webbeans.bean.builtin.AbstractBuiltInBean;
-import org.jboss.webbeans.builder.sorter.DecoratorDeploymentItem;
 import org.jboss.webbeans.builder.sorter.DeploymentItem;
-import org.jboss.webbeans.builder.sorter.DeploymentSorterAction;
-import org.jboss.webbeans.builder.sorter.SessionBeanDeploymentItem;
-import org.jboss.webbeans.builder.sorter.ManagedBeanDeploymentItem;
 import org.jboss.webbeans.builder.sorter.Sorter;
 import org.jboss.webbeans.ejb.EjbDescriptors;
 import org.jboss.webbeans.event.ObserverMethodImpl;
@@ -114,12 +108,10 @@
       Sorter sorter = Sorter.createSorter(getManager(), classes, getEnvironment().getEjbDescriptors());
       List<DeploymentItem<?>> sortedItems = sorter.sort();
 
-      DeploymentItemDeployerAction deployerAction = new DeploymentItemDeployerAction();
       Set<ObserverMethod<?, ?>> observers = new HashSet<ObserverMethod<?, ?>>();
       for (DeploymentItem<?> item : sortedItems)
       {
-         item.executeAction(deployerAction);
-         observers.addAll(item.getObserverMethods(getManager(), getEnvironment()));
+         observers.addAll(item.deployBeans(getManager(), getEnvironment()));
       }
 
       for (ObserverMethod<?, ?> observer : observers)
@@ -139,42 +131,4 @@
       getEnvironment().addBean(bean);
       getManager().addBean(bean);
    }
-   
-   private class DeploymentItemDeployerAction implements DeploymentSorterAction
-   {
-      public Object execute(SessionBeanDeploymentItem<?> deploymentItem)
-      {
-         return deployBean(deploymentItem);
-      }
-
-      public Object execute(ManagedBeanDeploymentItem<?> deploymentItem)
-      {
-         return deployBean(deploymentItem);
-      }
-
-      public Object execute(DecoratorDeploymentItem<?> deploymentItem)
-      {
-         Set<Bean<?>> beans = deploymentItem.getBeans(getManager(), getEnvironment());
-         if (beans.size() != 1)
-            throw new IllegalStateException("Expected exactly one bean: " + beans);
-         
-         Bean<?> bean = beans.iterator().next();
-         
-         //TODO remove this cast
-         getManager().addDecorator((DecoratorImpl<?>)bean);
-         log.debug("Decorator: " + bean);
-         return null;
-      }
-      
-      private Object deployBean(DeploymentItem<?> deploymentItem)
-      {
-         Set<Bean<?>> beans = deploymentItem.getBeans(getManager(), getEnvironment());
-         for (Bean<?> bean : beans)
-         {
-            getManager().addBean(bean);
-            log.debug("Bean: " + bean);
-         }
-         return null;
-      }
-   }
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ClassBeanDeploymentItem.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -28,9 +28,14 @@
 
 import javax.enterprise.inject.Produces;
 import javax.enterprise.inject.Specializes;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
 
+import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.introspector.WBClass;
 import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
 
 /**
  * 
@@ -39,6 +44,8 @@
  */
 public abstract class ClassBeanDeploymentItem<T> extends DeploymentItem<T>
 {
+   private static final LogProvider log = Logging.getLogProvider(ClassBeanDeploymentItem.class);
+   
    private boolean initialized;
    
    private final Sorter sorter;
@@ -99,4 +106,19 @@
    {
       return sorter.findDeploymentItem(clazz);
    }
+   
+   @Override
+   void deployBeans(BeanManagerImpl manager)
+   {
+      for (Bean<?> bean : getBeans())
+      {
+         manager.addBean(bean);
+         log.debug("Bean: " + bean);
+      }
+   }
+
+   void setValues(Set<ObserverMethod<T, ?>> observers, Set<Bean<?>> beans)
+   {
+      super.setValues(observers, beans.toArray(new Bean<?>[beans.size()]));
+   }
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -28,10 +28,13 @@
 import javax.enterprise.inject.spi.ObserverMethod;
 
 import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bean.DecoratorImpl;
 import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
 import org.jboss.webbeans.bean.builder.spi.DecoratorBeanBuilder;
 import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
 import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
 
 /**
  * 
@@ -40,6 +43,8 @@
  */
 public class DecoratorDeploymentItem<T> extends DeploymentItem<T>
 {
+   private static final LogProvider log = Logging.getLogProvider(ClassBeanDeploymentItem.class);
+   
    private DecoratorDeploymentItem(WBClass<T> clazz)
    {
       super(clazz);
@@ -54,20 +59,19 @@
    public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
       DecoratorBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getDecoratorBeanBuilder(manager, getWBClass());
-      setValues(createSet(builder.getBean()), (Set<ObserverMethod<T, ?>>)null);
+      setValues((Set<ObserverMethod<T, ?>>)null, builder.getBean());
    }
 
-   private Set<Bean<?>> createSet(Bean<T> bean)
-   {
-      @SuppressWarnings("unchecked")
-      Set<Bean<?>> beans = new HashSet();
-      beans.add(bean);
-      return beans;
-   }
-
    @Override
-   public void executeAction(DeploymentSorterAction action)
+   void deployBeans(BeanManagerImpl manager)
    {
-      action.execute(this);
+      if (getBeans() == null)
+         throw new IllegalStateException("Beans not initialized");
+      if (getBeans().length != 1)
+         throw new IllegalStateException("Expected exactly one bean: " + getBeans());
+      
+      //TODO remove this cast
+      manager.addDecorator((DecoratorImpl<?>)getBeans()[0]);
+      log.debug("Decorator: " + getBeans()[0]);
    }
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -46,9 +46,9 @@
    // Cached string representation
    private String toString;
 
-   Set<Bean<?>> beans;
+   private Bean<?>[] beans;
    
-   Set<ObserverMethod<T, ?>> observers;
+   private Set<ObserverMethod<T, ?>> observers;
    
    DeploymentItem(WBClass<T> clazz)
    {
@@ -97,12 +97,15 @@
       return toString;
    }
    
-   abstract void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment);
-   
-   public abstract void executeAction(DeploymentSorterAction action);
-   
-   void setValues(Set<Bean<?>> beans, Set<ObserverMethod<T, ?>> observers)
+   public Set<ObserverMethod<T, ?>> deployBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
+      initialiseBeans(manager, environment);
+      deployBeans(manager);
+      return observers;
+   }
+
+   void setValues(Set<ObserverMethod<T, ?>> observers, Bean<?>...beans)
+   {
       if (beans == null)
          throw new IllegalArgumentException("Null beans");
       
@@ -112,21 +115,14 @@
       else
          this.observers = observers;
    }
-   
-   public Set<Bean<?>> getBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+
+   Bean<?>[] getBeans()
    {
-      if (beans == null)
-         initialiseBeans(manager, environment);
-      
       return beans;
    }
    
-   public Set<ObserverMethod<T, ?>> getObserverMethods(BeanManagerImpl manager, BeanDeployerEnvironment environment)
-   {
-      if (beans == null)
-         initialiseBeans(manager, environment);
-
-      return observers;
-   }
+   abstract void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment);
+   
+   abstract void deployBeans(BeanManagerImpl manager);
 }
 

Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -1,36 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, 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.webbeans.builder.sorter;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public interface DeploymentSorterAction
-{
-   Object execute(SessionBeanDeploymentItem<?> deploymentItem);
-   
-   Object execute(ManagedBeanDeploymentItem<?> deploymentItem);
-   
-   Object execute(DecoratorDeploymentItem<?> deploymentItem);
-}

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/ManagedBeanDeploymentItem.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -21,6 +21,11 @@
 */ 
 package org.jboss.webbeans.builder.sorter;
 
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+
 import org.jboss.webbeans.BeanManagerImpl;
 import org.jboss.webbeans.DefinitionException;
 import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
@@ -60,12 +65,6 @@
    public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
       SimpleBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getSimpleBeanBuilder(manager, getWBClass());
-      setValues(builder.getBeans(), builder.getObserverMethods());
+      setValues(builder.getObserverMethods(), builder.getBeans());
    }
-
-   @Override
-   public void executeAction(DeploymentSorterAction action)
-   {
-      action.execute(this);
-   }
 }

Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java	2009-09-17 20:47:40 UTC (rev 3702)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SessionBeanDeploymentItem.java	2009-09-17 21:25:02 UTC (rev 3703)
@@ -67,12 +67,6 @@
    public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
    {
       EnterpriseBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getEnterpriseBeanBuilder(manager, ejbDescriptor);
-      setValues(builder.getBeans(), builder.getObserverMethods());
+      setValues(builder.getObserverMethods(), builder.getBeans());
    }
-
-   @Override
-   public void executeAction(DeploymentSorterAction action)
-   {
-      action.execute(this);
-   }
 }




More information about the weld-commits mailing list