[weld-commits] Weld SVN: r6270 - in core/trunk/impl/src/main/java/org/jboss/weld/bean: proxy and 1 other directory.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Fri May 21 15:10:12 EDT 2010


Author: pete.muir at jboss.org
Date: 2010-05-21 15:10:11 -0400 (Fri, 21 May 2010)
New Revision: 6270

Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/EnterpriseProxyFactory.java
Log:
add all business interfaces explictly

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java	2010-05-21 19:09:02 UTC (rev 6269)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java	2010-05-21 19:10:11 UTC (rev 6270)
@@ -245,7 +245,7 @@
 
    protected void initProxyClass()
    {
-      this.proxyClass = new EnterpriseProxyFactory<T>(getWeldAnnotated().getJavaClass()).getProxyClass();
+      this.proxyClass = new EnterpriseProxyFactory<T>(getWeldAnnotated().getJavaClass(), getTypes()).getProxyClass();
    }
 
    /**

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/EnterpriseProxyFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/EnterpriseProxyFactory.java	2010-05-21 19:09:02 UTC (rev 6269)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/EnterpriseProxyFactory.java	2010-05-21 19:10:11 UTC (rev 6270)
@@ -17,13 +17,15 @@
 
 package org.jboss.weld.bean.proxy;
 
+import java.lang.reflect.Type;
+import java.util.Set;
+
 import javassist.CtClass;
-import javassist.CtConstructor;
 import javassist.CtMethod;
-import javassist.CtNewConstructor;
 import javassist.CtNewMethod;
 
 import org.jboss.weld.exceptions.WeldException;
+import org.jboss.weld.util.reflection.Reflections;
 
 /**
  * This factory produces proxies specific for enterprise beans, in particular
@@ -41,9 +43,18 @@
     * 
     * @param proxiedBeanType the actual enterprise bean
     */
-   public EnterpriseProxyFactory(Class<T> proxiedBeanType)
+   public EnterpriseProxyFactory(Class<T> proxiedBeanType, Set<Type> localBusinessInterfaces)
    {
       super(proxiedBeanType);
+      for (Type type : localBusinessInterfaces)
+      {
+         Class<?> c = Reflections.getRawType(type);
+         // Ignore no-interface views, they are dealt with proxiedBeanType (pending redesign)
+         if (c.isInterface())
+         {
+            addInterface(c);
+         }
+      }
    }
 
    @Override



More information about the weld-commits mailing list