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);
     }