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;


Reply via email to