[webbeans-commits] Webbeans SVN: r981 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Jan 15 08:26:02 EST 2009


Author: pete.muir at jboss.org
Date: 2009-01-15 08:26:02 -0500 (Thu, 15 Jan 2009)
New Revision: 981

Modified:
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
   ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
Log:
fix proble with EnterpriseBean not having ejbDescriptor initialized early enough

Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-01-15 13:22:25 UTC (rev 980)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java	2009-01-15 13:26:02 UTC (rev 981)
@@ -140,8 +140,7 @@
       checkDeploymentType();
       initScopeType();
       initTypes();
-      // TODO: hack due to types not initialized!
-      proxyable = getTypes() == null ? true : Proxies.apiTypesAreProxyable(getTypes());
+      initProxyable();
    }
 
    /**
@@ -254,6 +253,11 @@
          return;
       }
    }
+   
+   protected void initProxyable()
+   {
+      proxyable = Proxies.apiTypesAreProxyable(getTypes());
+   }
 
    /**
     * Initializes the primitive flag

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	2009-01-15 13:22:25 UTC (rev 980)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java	2009-01-15 13:26:02 UTC (rev 981)
@@ -107,7 +107,7 @@
    @Override
    protected void init()
    {
-      super.init();
+      initType();
       Iterable<InternalEjbDescriptor<T>> ejbDescriptors = manager.getEjbDescriptorCache().get(getType());
       if (ejbDescriptors == null)
       {
@@ -124,7 +124,7 @@
             throw new RuntimeException("TODO Multiple EJBs have the same bean class! " + getType());
          }
       }
-      initTypesFromLocalInterfaces();
+      super.init();
       initProxyClass();
       initRemoveMethod();
       initInjectionPoints();
@@ -153,12 +153,6 @@
    
    protected void initTypes()
    {
-      // Noop, occurs too early
-      // TODO points at class hierachy problem :-(
-   }
-   
-   protected void initTypesFromLocalInterfaces()
-   {
       types = new HashSet<Type>();
       for (BusinessInterfaceDescriptor<?> businessInterfaceDescriptor : ejbDescriptor.getLocalBusinessInterfaces())
       {




More information about the weld-commits mailing list