[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