You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2018/09/06 07:52:07 UTC

[cxf] branch master updated: [CXF-7832]WrappedMessageContext containsKey not consistent with get/put

This is an automated email from the ASF dual-hosted git repository.

ffang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new 01ec97b  [CXF-7832]WrappedMessageContext containsKey not consistent with get/put
01ec97b is described below

commit 01ec97bfcfd6ba59687da128b31d3995194c3bfc
Author: Freeman Fang <fr...@gmail.com>
AuthorDate: Thu Sep 6 15:51:51 2018 +0800

    [CXF-7832]WrappedMessageContext containsKey not consistent with get/put
---
 .../apache/cxf/jaxws/context/WrappedMessageContext.java   |  3 ++-
 .../cxf/jaxws/context/WrappedMessageContextTest.java      | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
index d35cb0b..5f4bac8 100644
--- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
+++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/context/WrappedMessageContext.java
@@ -193,7 +193,8 @@ public class WrappedMessageContext implements MessageContext {
     }
 
     public final boolean containsKey(Object key) {
-        return message.containsKey(mapKey((String)key));
+        return message.containsKey(mapKey((String)key))
+            || get(key) != null;
     }
 
     public final boolean containsValue(Object value) {
diff --git a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedMessageContextTest.java b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedMessageContextTest.java
index da19e9c..1cc9e2f 100644
--- a/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedMessageContextTest.java
+++ b/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/context/WrappedMessageContextTest.java
@@ -20,6 +20,7 @@
 package org.apache.cxf.jaxws.context;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -81,4 +82,18 @@ public class WrappedMessageContextTest extends Assert {
             }
         }
     }
+    
+    
+    @Test
+    public void testContainsKey() throws Exception {
+        WrappedMessageContext context =
+            new WrappedMessageContext(new HashMap<String, Object>(), null, Scope.APPLICATION);
+
+        Map<String, List<String>> headers = new HashMap<>();
+        context.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
+
+        assertNotNull(context.get(MessageContext.HTTP_REQUEST_HEADERS));
+
+        assertTrue(context.containsKey(MessageContext.HTTP_REQUEST_HEADERS));
+    }
 }