[webbeans-commits] Webbeans SVN: r303 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directory.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Nov 13 07:17:36 EST 2008


Author: pete.muir at jboss.org
Date: 2008-11-13 07:17:36 -0500 (Thu, 13 Nov 2008)
New Revision: 303

Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
Log:
Add register methods

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java	2008-11-13 12:06:36 UTC (rev 302)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java	2008-11-13 12:17:36 UTC (rev 303)
@@ -7,6 +7,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
+import javax.webbeans.manager.Bean;
+
 import org.jboss.webbeans.ManagerImpl;
 import org.jboss.webbeans.bean.AbstractBean;
 import org.jboss.webbeans.bean.AbstractClassBean;
@@ -27,6 +29,23 @@
       this.manager = manager;
    }
    
+   /**
+    * Register any beans defined by the provided classes with the manager
+    */
+   public void registerBeans(Class<?>...classes)
+   {
+      Set<AbstractBean<?, ?>> beans = discoverBeans(classes);
+      for (Bean<?> bean : beans)
+      {
+         manager.addBean(bean);
+      }
+   }
+   
+   /**
+    * Discover any beans defined by the provided classes
+    * 
+    * Beans discovered are not registered with the manager
+    */
    public Set<AbstractBean<?, ?>> discoverBeans(Class<?>... classes)
    {
       Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java	2008-11-13 12:06:36 UTC (rev 302)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java	2008-11-13 12:17:36 UTC (rev 303)
@@ -1,9 +1,16 @@
 package org.jboss.webbeans.test;
 
-import java.util.HashSet;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Set;
 
+import javax.webbeans.manager.Bean;
+
 import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.EnterpriseBean;
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.ejb.DefaultEnterpriseBeanLookup;
 import org.jboss.webbeans.test.beans.Elephant;
 import org.jboss.webbeans.test.beans.Panther;
 import org.jboss.webbeans.test.beans.Salmon;
@@ -39,15 +46,20 @@
    {
       Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
       assert beans.size() == 4;
-      Set<Class<?>> classes = new HashSet<Class<?>>();
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
       for (AbstractBean<?, ?> bean : beans)
       {
-         classes.add(bean.getType());
+         classes.put(bean.getType(), bean);
       }
-      assert classes.contains(Tuna.class);
-      assert classes.contains(Salmon.class);
-      assert classes.contains(SeaBass.class);
-      assert classes.contains(Sole.class);
+      assert classes.containsKey(Tuna.class);
+      assert classes.containsKey(Salmon.class);
+      assert classes.containsKey(SeaBass.class);
+      assert classes.containsKey(Sole.class);
+      
+      assert classes.get(Tuna.class) instanceof SimpleBean;
+      assert classes.get(Salmon.class) instanceof SimpleBean;
+      assert classes.get(SeaBass.class) instanceof SimpleBean;
+      assert classes.get(Sole.class) instanceof SimpleBean;
    }
    
    @Test(groups="bootstrap")
@@ -55,13 +67,16 @@
    {
       Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(TarantulaProducer.class);
       assert beans.size() == 2;
-      Set<Class<?>> classes = new HashSet<Class<?>>();
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
       for (AbstractBean<?, ?> bean : beans)
       {
-         classes.add(bean.getType());
+         classes.put(bean.getType(), bean);
       }
-      assert classes.contains(TarantulaProducer.class);
-      assert classes.contains(Tarantula.class);
+      assert classes.containsKey(TarantulaProducer.class);
+      assert classes.containsKey(Tarantula.class);
+      
+      assert classes.get(TarantulaProducer.class) instanceof SimpleBean;
+      assert classes.get(Tarantula.class) instanceof ProducerMethodBean;
    }
    
    @Test(groups="bootstrap")
@@ -69,15 +84,20 @@
    {
       Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
       assert beans.size() == 4;
-      Set<Class<?>> classes = new HashSet<Class<?>>();
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
       for (AbstractBean<?, ?> bean : beans)
       {
-         classes.add(bean.getType());
+         classes.put(bean.getType(), bean);
       }
-      assert classes.contains(Hound.class);
-      assert classes.contains(Elephant.class);
-      assert classes.contains(Panther.class);
-      assert classes.contains(Tiger.class);
+      assert classes.containsKey(Hound.class);
+      assert classes.containsKey(Elephant.class);
+      assert classes.containsKey(Panther.class);
+      assert classes.containsKey(Tiger.class);
+      
+      assert classes.get(Hound.class) instanceof EnterpriseBean;
+      assert classes.get(Elephant.class) instanceof EnterpriseBean;
+      assert classes.get(Panther.class) instanceof EnterpriseBean;
+      assert classes.get(Tiger.class) instanceof EnterpriseBean;
    }
    
    @Test(groups="bootstrap")
@@ -85,18 +105,76 @@
    {
       Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
       assert beans.size() == 8;
-      Set<Class<?>> classes = new HashSet<Class<?>>();
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
       for (AbstractBean<?, ?> bean : beans)
       {
-         classes.add(bean.getType());
+         classes.put(bean.getType(), bean);
       }
-      assert classes.contains(Hound.class);
-      assert classes.contains(Elephant.class);
-      assert classes.contains(Panther.class);
-      assert classes.contains(Tiger.class);
-      assert classes.contains(Tuna.class);
-      assert classes.contains(Salmon.class);
-      assert classes.contains(SeaBass.class);
-      assert classes.contains(Sole.class);
+      assert classes.containsKey(Hound.class);
+      assert classes.containsKey(Elephant.class);
+      assert classes.containsKey(Panther.class);
+      assert classes.containsKey(Tiger.class);
+      assert classes.containsKey(Tuna.class);
+      assert classes.containsKey(Salmon.class);
+      assert classes.containsKey(SeaBass.class);
+      assert classes.containsKey(Sole.class);
+      
+      assert classes.get(Hound.class) instanceof EnterpriseBean;
+      assert classes.get(Elephant.class) instanceof EnterpriseBean;
+      assert classes.get(Panther.class) instanceof EnterpriseBean;
+      assert classes.get(Tiger.class) instanceof EnterpriseBean;
+      assert classes.get(Tuna.class) instanceof SimpleBean;
+      assert classes.get(Salmon.class) instanceof SimpleBean;
+      assert classes.get(SeaBass.class) instanceof SimpleBean;
+      assert classes.get(Sole.class) instanceof SimpleBean;
    }
+   
+   @Test(groups="bootstrap")
+   public void testRegisterProducerMethodBean()
+   {
+      bootstrap.registerBeans(TarantulaProducer.class);
+      assert manager.getBeans().size() == 3;
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+      for (Bean<?> bean : manager.getBeans())
+      {
+         classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+      }
+      assert classes.containsKey(TarantulaProducer.class);
+      assert classes.containsKey(Tarantula.class);
+      
+      
+      assert classes.get(TarantulaProducer.class) instanceof SimpleBean;
+      assert classes.get(Tarantula.class) instanceof ProducerMethodBean;
+   }
+   
+   @Test(groups="bootstrap")
+   public void testRegisterMultipleEnterpriseAndSimpleBean()
+   {
+      bootstrap.registerBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+      assert manager.getBeans().size() == 9;
+      Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+      for (Bean<?> bean : manager.getBeans())
+      {
+         
+         classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+      }
+      assert classes.containsKey(DefaultEnterpriseBeanLookup.class);
+      assert classes.containsKey(Hound.class);
+      assert classes.containsKey(Elephant.class);
+      assert classes.containsKey(Panther.class);
+      assert classes.containsKey(Tiger.class);
+      assert classes.containsKey(Tuna.class);
+      assert classes.containsKey(Salmon.class);
+      assert classes.containsKey(SeaBass.class);
+      assert classes.containsKey(Sole.class);
+      
+      assert classes.get(Hound.class) instanceof EnterpriseBean;
+      assert classes.get(Elephant.class) instanceof EnterpriseBean;
+      assert classes.get(Panther.class) instanceof EnterpriseBean;
+      assert classes.get(Tiger.class) instanceof EnterpriseBean;
+      assert classes.get(Tuna.class) instanceof SimpleBean;
+      assert classes.get(Salmon.class) instanceof SimpleBean;
+      assert classes.get(SeaBass.class) instanceof SimpleBean;
+      assert classes.get(Sole.class) instanceof SimpleBean;
+   }
 }




More information about the weld-commits mailing list