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 2015/04/01 20:21:57 UTC

tomee git commit: adding a parameter to force using getParameter to get cid param (post case)

Repository: tomee
Updated Branches:
  refs/heads/master a6e42f4f5 -> 768055ebf


adding a parameter to force using getParameter to get cid param (post case)


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/768055eb
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/768055eb
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/768055eb

Branch: refs/heads/master
Commit: 768055ebfbcaf560443651f98edd614a2992d5ec
Parents: a6e42f4
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed Apr 1 20:21:48 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed Apr 1 20:21:48 2015 +0200

----------------------------------------------------------------------
 .../org/apache/openejb/cdi/CdiAppContextsService.java    | 11 +++++++----
 tck/cdi-embedded/pom.xml                                 |  1 +
 tck/cdi-embedded/src/test/resources/failing.xml          |  3 ++-
 tck/cdi-tomee/src/test/resources/arquillian.xml          |  1 +
 4 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/768055eb/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 bda7af3..7c3077f 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
@@ -92,6 +92,8 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
 
     private volatile Object appEvent;
 
+    private final boolean useGetParameter;
+
     private static final ThreadLocal<Collection<Runnable>> endRequestRunnables = new ThreadLocal<Collection<Runnable>>() {
         @Override
         protected Collection<Runnable> initialValue() {
@@ -126,6 +128,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
         }
         applicationContext.setActive(true);
         singletonContext.setActive(true);
+        useGetParameter = "true".equalsIgnoreCase(SystemInstance.get().getProperty("openejb.cdi.conversation.http.use-get-parameter", "false"));
     }
 
     private void endRequest() {
@@ -145,7 +148,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
 
     @Override
     public String getConversationId() {
-        return getHttpParameter("cid");
+        return getHttpParameter(CID);
     }
 
     @Override
@@ -366,7 +369,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
                 //Re-initialize thread local for session
                 final HttpSession session = request.getSession(false);
 
-                final String cid = conversationService != null ? getCid(request) : null;
+                final String cid = conversationService != null ? (!useGetParameter ? getCid(request) : request.getParameter(CID)) : null;
                 if (session != null) {
                     initSessionContext(session);
                     if (autoConversationCheck && conversationService != null && !isConversationSkipped(request)) {
@@ -422,7 +425,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
         if (rc != null && rc.getServletRequest() != null && conversationService != null) {
             final HttpSession session = rc.getServletRequest().getSession(false);
             if (session != null) {
-                final String cid = getFromQuery(CID, rc.getServletRequest().getQueryString());
+                final String cid = useGetParameter ? rc.getServletRequest().getParameter(CID) : getFromQuery(CID, rc.getServletRequest().getQueryString());
                 if (cid != null) {
                     final ConversationManager conversationManager = webBeansContext.getConversationManager();
                     final ConversationImpl c = conversationManager.getPropogatedConversation(cid, session.getId());
@@ -793,7 +796,7 @@ public class CdiAppContextsService extends AbstractContextsService implements Co
     public String getHttpParameter(final String name) {
         final ServletRequestContext req = getRequestContext(false);
         if (req != null && req.getServletRequest() != null) {
-            return getFromQuery(name, req.getServletRequest().getQueryString());
+            return useGetParameter ? req.getServletRequest().getParameter(name) : getFromQuery(name, req.getServletRequest().getQueryString());
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/tomee/blob/768055eb/tck/cdi-embedded/pom.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-embedded/pom.xml b/tck/cdi-embedded/pom.xml
index e2c9e08..95f0b3e 100644
--- a/tck/cdi-embedded/pom.xml
+++ b/tck/cdi-embedded/pom.xml
@@ -202,6 +202,7 @@
             <openejb.cdi.applicationScope.cached>false</openejb.cdi.applicationScope.cached>
             <openejb.cdi.producer.interception>false</openejb.cdi.producer.interception>
             <openejb.cdi.filter.classloader>false</openejb.cdi.filter.classloader>
+            <openejb.cdi.conversation.http.use-get-parameter>true</openejb.cdi.conversation.http.use-get-parameter>
 
             <openejb.jul.forceReload>true</openejb.jul.forceReload>
             <openejb.strict.interface.declaration>true</openejb.strict.interface.declaration>

http://git-wip-us.apache.org/repos/asf/tomee/blob/768055eb/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 29ceb53..8889a6d 100644
--- a/tck/cdi-embedded/src/test/resources/failing.xml
+++ b/tck/cdi-embedded/src/test/resources/failing.xml
@@ -29,9 +29,10 @@
     -Dopenejb.cdi.debug=true
     -Dopenejb.http.mock-request=true
     -Dopenejb.embedded.try-jsp=true
+    -Dopenejb.cdi.conversation.http.use-get-parameter=true
     -->
     <classes>
-      <class name="org.jboss.cdi.tck.tests.context.conversation.event.LongRunningConversationLifecycleEventTest" />
+      <class name="org.jboss.cdi.tck.tests.context.conversation.servlet.ServletConversationTest" />
     </classes>
   </test>
 </suite>

http://git-wip-us.apache.org/repos/asf/tomee/blob/768055eb/tck/cdi-tomee/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-tomee/src/test/resources/arquillian.xml b/tck/cdi-tomee/src/test/resources/arquillian.xml
index 3b36c1b..de888b6 100644
--- a/tck/cdi-tomee/src/test/resources/arquillian.xml
+++ b/tck/cdi-tomee/src/test/resources/arquillian.xml
@@ -38,6 +38,7 @@
         openejb.cdi.producer.interception = false
         openejb.cdi.applicationScope.cached = false
         openejb.cdi.requestScope.cached = false
+        openejb.cdi.conversation.http.use-get-parameter = true
         openejb.classloader.forced-load = org.apache.webbeans.test.tck.,org.apache.openejb.tck.cdi.tomee.
 
         jmsRa = new://Resource?type=ActiveMQResourceAdapter