Author: rmannibucau
Date: Wed May 15 21:20:39 2013
New Revision: 1483093
URL: http://svn.apache.org/r1483093
Log:
WebContext NPE protection
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/WebContext.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/WebContext.java
URL:
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/WebContext.java?rev=1483093&r1=1483092&r2=1483093&view=diff
==============================================================================
---
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/WebContext.java
(original)
+++
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/WebContext.java
Wed May 15 21:20:39 2013
@@ -152,8 +152,6 @@ public class WebContext {
try {
final WebBeansContext webBeansContext = getWebBeansContext();
- final ConstructorInjectionBean<Object> beanDefinition =
getConstructorInjectionBean(o.getClass(), webBeansContext);
- final CreationalContext<Object> creationalContext =
webBeansContext.getBeanManagerImpl().createCreationalContext(beanDefinition);
// Create bean instance
final Context initialContext = (Context) new
InitialContext().lookup("java:");
@@ -162,13 +160,18 @@ public class WebContext {
final Object beanInstance = injectionProcessor.createInstance();
- InjectionTargetBean<Object> bean =
InjectionTargetBean.class.cast(beanDefinition);
- bean.getInjectionTarget().inject(beanInstance, creationalContext);
-
- // if the bean is dependent simply cleanup the creational context
once it is created
- final Class<? extends Annotation> scope =
beanDefinition.getScope();
- if (scope == null || Dependent.class.equals(scope)) {
- creatonalContexts.put(beanInstance, creationalContext);
+ if (webBeansContext != null) {
+ final ConstructorInjectionBean<Object> beanDefinition =
getConstructorInjectionBean(o.getClass(), webBeansContext);
+ final CreationalContext<Object> creationalContext =
webBeansContext.getBeanManagerImpl().createCreationalContext(beanDefinition);
+
+ InjectionTargetBean<Object> bean =
InjectionTargetBean.class.cast(beanDefinition);
+ bean.getInjectionTarget().inject(beanInstance,
creationalContext);
+
+ // if the bean is dependent simply cleanup the creational
context once it is created
+ final Class<? extends Annotation> scope =
beanDefinition.getScope();
+ if (scope == null || Dependent.class.equals(scope)) {
+ creatonalContexts.put(beanInstance, creationalContext);
+ }
}
return beanInstance;