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:26 UTC
[1/3] tomee git commit: support of conversationPropagation
Repository: tomee
Updated Branches:
refs/heads/develop 2329bf8a4 -> cfbc84335
support of conversationPropagation
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/3b0bc941
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/3b0bc941
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/3b0bc941
Branch: refs/heads/develop
Commit: 3b0bc9418d65c7c806db1a9c434eb6ef84269a95
Parents: 2329bf8
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Dec 29 12:51:12 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Dec 29 12:51:12 2014 +0100
----------------------------------------------------------------------
.../java/org/apache/openejb/cdi/CdiAppContextsService.java | 9 +++++++--
tck/cdi-embedded/src/test/resources/failing.xml | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/3b0bc941/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 0935ce4..1a6ce55 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
@@ -338,7 +338,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
initSessionContext(session);
final ServletRequestContext rc = getRequestContext(false);
- if (rc != null && rc.getServletRequest() != null && conversationService != null) {
+ if (rc != null && rc.getServletRequest() != null && conversationService != null && !isConversationSkipped(rc)) {
final String cid = rc.getServletRequest().getParameter("cid");
if (cid != null) {
final ConversationManager conversationManager = webBeansContext.getConversationManager();
@@ -628,7 +628,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
ConversationContext context = conversationContext.get();
if (context == null && createIfPropagated && !isTimeout()) {
final ServletRequestContext rc = getRequestContext(true); // needs to exist for Conversation scope
- if (rc != null && rc.getServletRequest() != null) {
+ if (rc != null && rc.getServletRequest() != null && !isConversationSkipped(rc)) {
final HttpServletRequest servletRequest = rc.getServletRequest();
final HttpSession session = servletRequest.getSession(false);
if (session != null) {
@@ -653,6 +653,11 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
return context;
}
+ private boolean isConversationSkipped(final ServletRequestContext rc) {
+ final HttpServletRequest servletRequest = rc.getServletRequest();
+ return "none".equals(servletRequest.getParameter("conversationPropagation")) || "true".equals(servletRequest.getParameter("nocid"));
+ }
+
private boolean isTimeout() {
final ThreadContext tc = ThreadContext.getThreadContext();
return tc != null && tc.getCurrentOperation() == Operation.TIMEOUT;
http://git-wip-us.apache.org/repos/asf/tomee/blob/3b0bc941/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 3176e43..ad0858d 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.determination.ConversationDeterminationTest" />
+ <class name="org.jboss.cdi.tck.tests.context.conversation.ClientConversationContextTest" />
</classes>
</test>
</suite>
[2/3] tomee git commit: right types for HttpServletRequest
Posted by rm...@apache.org.
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>
[3/3] tomee git commit: impl ServletContext.getServerInfo
Posted by rm...@apache.org.
impl ServletContext.getServerInfo
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cfbc8433
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cfbc8433
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cfbc8433
Branch: refs/heads/develop
Commit: cfbc843359ddf940f2a43ac880a03f175ef31638
Parents: bbd6bbe
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Dec 29 14:42:14 2014 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Dec 29 14:42:14 2014 +0100
----------------------------------------------------------------------
.../apache/openejb/server/httpd/EmbeddedServletContext.java | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/cfbc8433/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EmbeddedServletContext.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EmbeddedServletContext.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EmbeddedServletContext.java
index f8ac643..a4f2674 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EmbeddedServletContext.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EmbeddedServletContext.java
@@ -16,6 +16,7 @@
*/
package org.apache.openejb.server.httpd;
+import org.apache.openejb.util.OpenEjbVersion;
import org.apache.webbeans.web.lifecycle.test.MockServletContext;
import java.io.IOException;
@@ -103,6 +104,11 @@ public class EmbeddedServletContext extends MockServletContext {
return Collections.enumeration(attributes.keySet());
}
+ @Override
+ public String getServerInfo() {
+ return "OpenEJB/" + OpenEjbVersion.get().getVersion();
+ }
+
public static interface ResourceProvider {
URL getResource(String path);
}