You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2013/10/02 10:04:37 UTC
svn commit: r1528339 -
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
Author: rmannibucau
Date: Wed Oct 2 08:04:37 2013
New Revision: 1528339
URL: http://svn.apache.org/r1528339
Log:
better way to find the classloader of a Bean<?> when creating a normal scope proxy
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java?rev=1528339&r1=1528338&r2=1528339&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java Wed Oct 2 08:04:37 2013
@@ -38,6 +38,7 @@ import org.apache.webbeans.exception.Web
import org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler;
import org.apache.webbeans.util.ClassUtil;
import org.apache.webbeans.util.ExceptionUtil;
+import org.apache.webbeans.util.WebBeansUtil;
import org.apache.xbean.asm4.ClassWriter;
import org.apache.xbean.asm4.MethodVisitor;
import org.apache.xbean.asm4.Opcodes;
@@ -114,7 +115,19 @@ public class NormalScopeProxyFactory ext
public <T> T createNormalScopeProxy(Bean<T> bean)
{
- ClassLoader classLoader = bean.getBeanClass().getClassLoader();
+ final ClassLoader classLoader;
+ if (bean.getBeanClass() != null)
+ {
+ classLoader = bean.getBeanClass().getClassLoader();
+ }
+ else if (OwbBean.class.isInstance(bean) && OwbBean.class.cast(bean).getReturnType() != null)
+ {
+ classLoader = OwbBean.class.cast(bean).getReturnType().getClassLoader();
+ }
+ else
+ {
+ classLoader = WebBeansUtil.getCurrentClassLoader();
+ }
Class<T> classToProxy;
if (bean instanceof OwbBean)