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/29 14:45:27 UTC
[2/3] tomee git commit: right types for HttpServletRequest
right types for HttpServletRequest
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/bbd6bbe4
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/bbd6bbe4
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/bbd6bbe4
Branch: refs/heads/develop
Commit: bbd6bbe41536063583cf165716b20ef34882998f
Parents: 3b0bc94
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Dec 29 14:38:27 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Dec 29 14:38:27 2014 +0100
----------------------------------------------------------------------
.../apache/openejb/cdi/OpenEJBLifecycle.java | 25 ++++++++++++++++----
tck/cdi-embedded/src/test/resources/failing.xml | 2 +-
2 files changed, 22 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/bbd6bbe4/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
index 142b107..d982a8c 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java
@@ -61,10 +61,13 @@ import javax.servlet.jsp.JspApplicationContext;
import javax.servlet.jsp.JspFactory;
import java.io.ObjectStreamException;
import java.io.Serializable;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
import java.util.Properties;
+import java.util.Set;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory;
@@ -246,10 +249,7 @@ public class OpenEJBLifecycle implements ContainerLifecycle {
beanManager.getInjectionResolver().clearCaches();
if (!hasBean(beanManager, HttpServletRequest.class)) {
- beanManager.addInternalBean(new InternalBean<>(webBeansContext, HttpServletRequest.class, HttpServletRequest.class));
- }
- if (!hasBean(beanManager, ServletRequest.class)) {
- beanManager.addInternalBean(new InternalBean<>(webBeansContext, ServletRequest.class, HttpServletRequest.class));
+ beanManager.addInternalBean(new HttpServletRequestBean(webBeansContext));
}
if (!hasBean(beanManager, HttpSession.class)) {
beanManager.addInternalBean(new InternalBean<>(webBeansContext, HttpSession.class, HttpSession.class));
@@ -465,6 +465,23 @@ public class OpenEJBLifecycle implements ContainerLifecycle {
}
}
+ public static class HttpServletRequestBean extends InternalBean<HttpServletRequest> {
+ private final Set<Type> types;
+
+ protected HttpServletRequestBean(final WebBeansContext webBeansContext) {
+ super(webBeansContext, HttpServletRequest.class, HttpServletRequest.class);
+ this.types = new HashSet<>(); // here we need 2 types (+Object) otherwise decoratione etc fails
+ this.types.add(HttpServletRequest.class);
+ this.types.add(ServletRequest.class);
+ this.types.add(Object.class);
+ }
+
+ @Override
+ public Set<Type> getTypes() {
+ return types;
+ }
+ }
+
private static class OpenEJBComponentProvider<T> implements Provider<T>, Serializable {
private Class<?> type;
private transient WebBeansContext webBeansContext;
http://git-wip-us.apache.org/repos/asf/tomee/blob/bbd6bbe4/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 ad0858d..fbbb50c 100644
--- a/tck/cdi-embedded/src/test/resources/failing.xml
+++ b/tck/cdi-embedded/src/test/resources/failing.xml
@@ -26,7 +26,7 @@
-Dopenejb.deploymentId.format={appId}/{ejbJarId}/{ejbName}
-->
<classes>
- <class name="org.jboss.cdi.tck.tests.context.conversation.ClientConversationContextTest" />
+ <class name="org.jboss.cdi.tck.tests.decorators.builtin.http.servletcontext.BuiltinServletContextDecoratorTest" />
</classes>
</test>
</suite>