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/04/29 18:44:38 UTC

svn commit: r1477188 - /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java

Author: rmannibucau
Date: Mon Apr 29 16:44:38 2013
New Revision: 1477188

URL: http://svn.apache.org/r1477188
Log:
OWB-849 classloader can be null here

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java?rev=1477188&r1=1477187&r2=1477188&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/portable/ProviderBasedProxyProducer.java Mon Apr 29 16:44:38 2013
@@ -23,6 +23,7 @@ import javax.inject.Provider;
 
 import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.proxy.NormalScopeProxyFactory;
+import org.apache.webbeans.util.WebBeansUtil;
 
 public class ProviderBasedProxyProducer<T> extends AbstractProducer<T>
 {
@@ -45,7 +46,11 @@ public class ProviderBasedProxyProducer<
         if (proxyInstance == null)
         {
             NormalScopeProxyFactory proxyFactory = webBeansContext.getNormalScopeProxyFactory();
-            Class<T> proxyClass = proxyFactory.createProxyClass(returnType.getClassLoader(), returnType);
+            ClassLoader loader = returnType.getClassLoader();
+            if (loader == null) {
+                loader = WebBeansUtil.getCurrentClassLoader();
+            }
+            Class<T> proxyClass = proxyFactory.createProxyClass(loader, returnType);
             proxyInstance = proxyFactory.createProxyInstance(proxyClass, provider);
         }
         return proxyInstance;