You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/12/24 08:39:55 UTC
tomee git commit: avoid npe when we fake requests
Repository: tomee
Updated Branches:
refs/heads/develop 02818cc38 -> 1554b1054
avoid npe when we fake requests
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/1554b105
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/1554b105
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/1554b105
Branch: refs/heads/develop
Commit: 1554b1054c920ece474d18028b3c20c9444fc176
Parents: 02818cc
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed Dec 24 08:39:37 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed Dec 24 08:39:37 2014 +0100
----------------------------------------------------------------------
.../org/apache/openejb/cdi/CdiAppContextsService.java | 11 +++++++----
.../java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java | 1 -
.../main/java/org/apache/openejb/cdi/ScopeHelper.java | 2 --
.../org/apache/openejb/config/AnnotationDeployer.java | 1 -
.../openejb/config/rules/CheckInjectionPointUsage.java | 5 ++++-
tck/cdi-embedded/src/test/resources/failing.xml | 4 ++--
6 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
index 178232c..e80306f 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
@@ -49,11 +49,9 @@ import javax.enterprise.context.SessionScoped;
import javax.enterprise.context.spi.Context;
import javax.enterprise.util.AnnotationLiteral;
import javax.inject.Singleton;
-import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestEvent;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
@@ -257,7 +255,9 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
final HttpServletRequest request = (HttpServletRequest) event.getServletRequest();
((ServletRequestContext) rq).setServletRequest(request);
- webBeansContext.getBeanManagerImpl().fireEvent(request, InitializedLiteral.REQUEST);
+ if (request != null) {
+ webBeansContext.getBeanManagerImpl().fireEvent(request, InitializedLiteral.REQUEST);
+ }
if (request != null) {
//Re-initialize thread local for session
@@ -283,7 +283,10 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
//Destroy context
if (context != null) {
- webBeansContext.getBeanManagerImpl().fireEvent(ServletRequestContext.class.cast(context).getServletRequest(), DestroyedLiteral.REQUEST);
+ final HttpServletRequest servletRequest = ServletRequestContext.class.cast(context).getServletRequest();
+ if (servletRequest != null) {
+ webBeansContext.getBeanManagerImpl().fireEvent(servletRequest, DestroyedLiteral.REQUEST);
+ }
context.destroy();
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java
index 1dabab0..3f01ebb 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBBeanBuilder.java
@@ -19,7 +19,6 @@ package org.apache.openejb.cdi;
import org.apache.openejb.BeanContext;
import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
-import org.apache.webbeans.component.creation.BeanAttributesBuilder;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.ejb.common.component.EjbBeanBuilder;
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/container/openejb-core/src/main/java/org/apache/openejb/cdi/ScopeHelper.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ScopeHelper.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ScopeHelper.java
index b7b328e..57ce98a 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ScopeHelper.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ScopeHelper.java
@@ -19,11 +19,9 @@ package org.apache.openejb.cdi;
import org.apache.webbeans.spi.ContextsService;
-import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.ConversationScoped;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.context.SessionScoped;
-import javax.inject.Singleton;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
index 1f16335..cee4c2e 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
@@ -187,7 +187,6 @@ import javax.ejb.TransactionManagementType;
import javax.enterprise.context.NormalScope;
import javax.enterprise.inject.Produces;
import javax.enterprise.inject.Stereotype;
-import javax.enterprise.inject.spi.BeanManager;
import javax.enterprise.inject.spi.DefinitionException;
import javax.enterprise.inject.spi.Extension;
import javax.inject.Scope;
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckInjectionPointUsage.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckInjectionPointUsage.java b/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckInjectionPointUsage.java
index b736f40..97b32f2 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckInjectionPointUsage.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckInjectionPointUsage.java
@@ -19,10 +19,12 @@ package org.apache.openejb.config.rules;
import org.apache.openejb.config.EjbModule;
+import javax.enterprise.inject.Default;
import javax.enterprise.inject.spi.DefinitionException;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.inject.Inject;
import javax.servlet.http.HttpServlet;
+import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
/**
@@ -42,7 +44,8 @@ public class CheckInjectionPointUsage extends ValidationBase {
continue;
}
- if (field.getAnnotations().length == 1) {
+ final Annotation[] annotations = field.getAnnotations();
+ if (annotations.length == 1 || (annotations.length == 2 && field.getAnnotation(Default.class) != null)) {
throw new DefinitionException("Can't inject InjectionPoint in " + field.getDeclaringClass());
} // else we should check is there is no other qualifier than @Default but too early
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/1554b105/tck/cdi-embedded/src/test/resources/failing.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-embedded/src/test/resources/failing.xml b/tck/cdi-embedded/src/test/resources/failing.xml
index 583fe4d..40f6f29 100644
--- a/tck/cdi-embedded/src/test/resources/failing.xml
+++ b/tck/cdi-embedded/src/test/resources/failing.xml
@@ -18,8 +18,8 @@
<suite name="CDI TCK" verbose="0">
<test name="CDI TCK">
<!-- -Dopenejb.cdi.filter.classloader=false -Dorg.apache.openejb.assembler.classic.WebAppBuilder=org.apache.openejb.web.LightweightWebAppBuilder -Dopenejb.cdi.debug=true -Dopenejb.http.mock-request=true -->
- <classes>
- <class name="org.jboss.cdi.tck.tests.context.request.event.RequestScopeEventTest" />
+ <classes><!-- org.jboss.cdi.tck.tests.context.conversation.ClientConversationContextTest, org.jboss.cdi.tck.tests.context.application.ApplicationContextTest, org.jboss.cdi.tck.tests.extensions.beanManager.beanAttributes.CreateBeanAttributesTest, org.jboss.cdi.tck.tests.event.fires.FireEventTest, org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionPoint.ProcessInjectionPointFiredTest -->
+ <class name="org.jboss.cdi.tck.tests.context.application.async.ApplicationContextAsyncListenerTest" />
</classes>
</test>
</suite>