[webbeans-commits] Webbeans SVN: r549 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/ejb and 1 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Dec 18 10:34:45 EST 2008


Author: pete.muir at jboss.org
Date: 2008-12-18 10:34:45 -0500 (Thu, 18 Dec 2008)
New Revision: 549

Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
   ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
Log:
minor

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2008-12-18 15:07:57 UTC (rev 548)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2008-12-18 15:34:45 UTC (rev 549)
@@ -83,7 +83,18 @@
    protected void init()
    {
       super.init();
-      ejbDescriptor = (EjbDescriptor<T>) EjbDescriptorCache.instance().get(getType().getSimpleName() + "/local");
+      Iterable<EjbDescriptor<T>> ejbDescriptors = EjbDescriptorCache.instance().get(getType());
+      for (EjbDescriptor<T> ejbDescriptor : ejbDescriptors)
+      {
+         if (this.ejbDescriptor == null)
+         {
+            this.ejbDescriptor = ejbDescriptor;
+         }
+         else
+         {
+            throw new RuntimeException("TODO Multiple EJBs have the same bean class! " + getType() );
+         }
+      }
       initRemoveMethod();
       initInjectionPoints();
       checkEnterpriseBeanTypeAllowed();

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java	2008-12-18 15:07:57 UTC (rev 548)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ejb/EjbDescriptorCache.java	2008-12-18 15:34:45 UTC (rev 549)
@@ -82,9 +82,9 @@
     * @param beanClass The EJB class
     * @return An iterator
     */
-   public Iterable<EjbDescriptor<?>> get(Class<?> beanClass)
+   public <T> Iterable<EjbDescriptor<T>> get(Class<T> beanClass)
    {
-      return ejbsByBeanClass.get(beanClass);
+      return (Iterable) ejbsByBeanClass.get(beanClass);
    }
 
    /**

Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java	2008-12-18 15:07:57 UTC (rev 548)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockEjbDescriptor.java	2008-12-18 15:34:45 UTC (rev 549)
@@ -96,5 +96,50 @@
    {
       return type.isAnnotationPresent(Stateless.class);
    }
+   
+   @Override
+   public String toString()
+   {
+      StringBuilder builder = new StringBuilder();
+      builder.append(getEjbName());
+      if (isStateful())
+      {
+         builder.append(" (SFSB)");
+      }
+      if (isStateless())
+      {
+         builder.append(" (SLSB)");
+      }
+      if (isSingleton())
+      {
+         builder.append(" (Singleton)");
+      }
+      if (isMessageDriven())
+      {
+         builder.append(" (MDB)");
+      }
+      builder.append("; BeanClass: " + getType() + "; Local Business Interfaces: " + getLocalBusinessInterfaces());
+      return builder.toString(); 
+   }
+   
+   @Override
+   public boolean equals(Object other)
+   {
+      if (other instanceof EjbDescriptor)
+      {
+         EjbDescriptor<T> that = (EjbDescriptor<T>) other;
+         return this.getEjbName().equals(that.getEjbName());
+      }
+      else
+      {
+         return false;
+      }
+   }
+   
+   @Override
+   public int hashCode()
+   {
+      return getEjbName().hashCode();
+   }
 
 }




More information about the weld-commits mailing list