You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2017/10/09 13:52:49 UTC

qpid-broker-j git commit: QPID-7944: [Java Broker] [Message Conversion] Work around for JDK-8148463 when handling application properties with null values.

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master bd5b95147 -> 37209c589


QPID-7944: [Java Broker] [Message Conversion] Work around for JDK-8148463 when handling application properties with null values.


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/37209c58
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/37209c58
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/37209c58

Branch: refs/heads/master
Commit: 37209c5890e43841ab4c9abe8870392dbe27a010
Parents: bd5b951
Author: Lorenz Quack <lq...@apache.org>
Authored: Mon Oct 9 14:50:07 2017 +0100
Committer: Lorenz Quack <lq...@apache.org>
Committed: Mon Oct 9 14:50:07 2017 +0100

----------------------------------------------------------------------
 .../message/internal/InternalMessageHeader.java  | 19 ++++++++++++++-----
 .../PropertyConverter_0_10_to_InternalTest.java  |  1 +
 .../PropertyConverter_v1_0_to_InternalTest.java  |  1 +
 3 files changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/37209c58/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageHeader.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageHeader.java b/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageHeader.java
index a353a93..46f4a2e 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageHeader.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessageHeader.java
@@ -26,8 +26,6 @@ import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
-import java.util.function.Function;
-import java.util.stream.Collectors;
 
 import org.apache.qpid.server.message.AMQMessageHeader;
 
@@ -89,9 +87,7 @@ public final class InternalMessageHeader implements AMQMessageHeader, Serializab
 
     public InternalMessageHeader(final AMQMessageHeader header, long arrivalTime)
     {
-        this(header.getHeaderNames()
-                   .stream()
-                   .collect(Collectors.toMap(Function.identity(), header::getHeader)),
+        this(buildHeaders(header),
              header.getCorrelationId(),
              header.getExpiration(),
              header.getUserId(),
@@ -219,4 +215,17 @@ public final class InternalMessageHeader implements AMQMessageHeader, Serializab
     {
         return Collections.unmodifiableMap(new LinkedHashMap<>(_headers));
     }
+
+    private static Map<String, Object> buildHeaders(final AMQMessageHeader header)
+    {
+        Map<String, Object> map = new LinkedHashMap<>();
+        for (String s : header.getHeaderNames())
+        {
+            if (map.put(s, header.getHeader(s)) != null)
+            {
+                throw new IllegalStateException("Duplicate key");
+            }
+        }
+        return map;
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/37209c58/broker-plugins/amqp-0-10-protocol/src/test/java/org/apache/qpid/server/protocol/v0_10/PropertyConverter_0_10_to_InternalTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/src/test/java/org/apache/qpid/server/protocol/v0_10/PropertyConverter_0_10_to_InternalTest.java b/broker-plugins/amqp-0-10-protocol/src/test/java/org/apache/qpid/server/protocol/v0_10/PropertyConverter_0_10_to_InternalTest.java
index a7b9a19..d6a5156 100644
--- a/broker-plugins/amqp-0-10-protocol/src/test/java/org/apache/qpid/server/protocol/v0_10/PropertyConverter_0_10_to_InternalTest.java
+++ b/broker-plugins/amqp-0-10-protocol/src/test/java/org/apache/qpid/server/protocol/v0_10/PropertyConverter_0_10_to_InternalTest.java
@@ -72,6 +72,7 @@ public class PropertyConverter_0_10_to_InternalTest extends QpidTestCase
         Map<String, Object> headers = new HashMap<>();
         headers.put("testProperty1", "testProperty1Value");
         headers.put("intProperty", 1);
+        headers.put("nullProperty", null);
         final MessageProperties messageProperties = new MessageProperties();
         messageProperties.setApplicationHeaders(headers);
         MessageTransferMessage message = createTestMessage(messageProperties);

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/37209c58/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
index ed7e5e6..dea495a 100644
--- a/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
+++ b/broker-plugins/amqp-1-0-protocol/src/test/java/org/apache/qpid/server/protocol/v1_0/PropertyConverter_v1_0_to_InternalTest.java
@@ -313,6 +313,7 @@ public class PropertyConverter_v1_0_to_InternalTest extends QpidTestCase
         Map<String, Object> properties = new HashMap<>();
         properties.put("testProperty1", "testProperty1Value");
         properties.put("intProperty", 1);
+        properties.put("nullProperty", null);
         ApplicationProperties applicationProperties = new ApplicationProperties(properties);
         Message_1_0 originalMessage = createTestMessage(applicationProperties);
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org