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