Author: struberg
Date: Fri Feb 19 17:45:53 2010
New Revision: 911875

URL: http://svn.apache.org/viewvc?rev=911875&view=rev
Log:
OWB-292 fix NPE in creationalContext handling of InterceptorHandler and 
NormalScopedBeanInterceptorHandler

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java?rev=911875&r1=911874&r2=911875&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/decorator/WebBeansDecoratorConfig.java
 Fri Feb 19 17:45:53 2010
@@ -91,7 +91,10 @@
             decorator.setDelegate(decoratorInstance, delegate);
             decoratorStack.add(decoratorInstance);
             
-            ownerCreationalContext.addDependent(decorator, decoratorInstance, 
creationalContext);
+            if (ownerCreationalContext != null)
+            {
+               ownerCreationalContext.addDependent(decorator, 
decoratorInstance, creationalContext);
+            }
         }
 
         return decoratorStack;

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=911875&r1=911874&r2=911875&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
 Fri Feb 19 17:45:53 2010
@@ -42,7 +42,6 @@
 import org.apache.webbeans.decorator.WebBeansDecorator;
 import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
 import org.apache.webbeans.decorator.WebBeansDecoratorInterceptor;
-import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.exception.WebBeansException;
 import org.apache.webbeans.intercept.ejb.EJBInterceptorConfig;
 import org.apache.webbeans.intercept.webbeans.WebBeansInterceptor;
@@ -335,11 +334,14 @@
                         //Setting interceptor proxy instance
                         intData.setInterceptorInstance(interceptorProxy);
                         
-                        ownerCreationalContext.addDependent(interceptor, 
interceptorProxy, creationalContext);
+                        if (ownerCreationalContext != null)
+                        {
+                               
ownerCreationalContext.addDependent(interceptor, interceptorProxy, 
creationalContext);
+                        }
                     }
 
                 }
-                catch (WebBeansConfigurationException e1)
+                catch (WebBeansException e1)
                 {
                     throw e1;
                 }

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java?rev=911875&r1=911874&r2=911875&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/NormalScopedBeanInterceptorHandler.java
 Fri Feb 19 17:45:53 2010
@@ -54,9 +54,11 @@
         Context webbeansContext = beanManager.getContext(bean.getScope());
         Object webbeansInstance = webbeansContext.get(this.bean);
 
+        CreationalContext<Object> cc = null;
+
         if (webbeansInstance == null)
         {
-            CreationalContext<Object> cc = creationalContxt.get();
+            cc = creationalContxt.get();
 
             if (cc == null)
             {
@@ -83,7 +85,7 @@
         }
 
 
-        return super.invoke(webbeansInstance, method, proceed, arguments, 
(CreationalContextImpl<?>)creationalContxt.get());
+        return super.invoke(webbeansInstance, method, proceed, arguments, 
(CreationalContextImpl<?>) cc);
     }
     
     protected <T> Object callAroundInvokes(Method proceed, Object[] arguments, 
List<InterceptorData> stack) throws Exception


Reply via email to