You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/09/04 17:23:48 UTC

[2/2] activemq-artemis git commit: ARTEMIS-2058 Support any kind of extraProperties in AmqpCoreConverter

ARTEMIS-2058 Support any kind of extraProperties in AmqpCoreConverter


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/fab96c4b
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/fab96c4b
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/fab96c4b

Branch: refs/heads/master
Commit: fab96c4b1c65e2cf552d3bf89d24b7b414a6a980
Parents: 2f63260
Author: Carsten Lohmann <ca...@bosch-si.com>
Authored: Tue Aug 28 15:38:40 2018 +0200
Committer: Clebert Suconic <cl...@apache.org>
Committed: Tue Sep 4 13:17:22 2018 -0400

----------------------------------------------------------------------
 .../amqp/converter/AmqpCoreConverter.java       |  2 +-
 .../amqp/converter/TestConversions.java         | 34 ++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/fab96c4b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AmqpCoreConverter.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AmqpCoreConverter.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AmqpCoreConverter.java
index e199d1f..45ba931 100644
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AmqpCoreConverter.java
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/AmqpCoreConverter.java
@@ -199,7 +199,7 @@ public class AmqpCoreConverter {
             if (str.equals(AMQPMessage.ADDRESS_PROPERTY)) {
                continue;
             }
-            result.getInnerMessage().putBytesProperty(str, properties.getBytesProperty(str));
+            result.getInnerMessage().putObjectProperty(str, properties.getProperty(str));
          }
       }
 

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/fab96c4b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java
----------------------------------------------------------------------
diff --git a/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java
index 8ced348..94df3a5 100644
--- a/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java
+++ b/artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/TestConversions.java
@@ -22,12 +22,14 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.activemq.artemis.api.core.ICoreMessage;
+import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage;
 import org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSBytesMessage;
 import org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMapMessage;
 import org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMessage;
 import org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSStreamMessage;
 import org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSTextMessage;
+import org.apache.activemq.artemis.utils.collections.TypedProperties;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.messaging.AmqpSequence;
 import org.apache.qpid.proton.amqp.messaging.AmqpValue;
@@ -112,6 +114,14 @@ public class TestConversions extends Assert {
       return mapprop;
    }
 
+   private TypedProperties createTypedPropertiesMap() {
+      TypedProperties typedProperties = new TypedProperties();
+      typedProperties.putBooleanProperty(new SimpleString("true"), Boolean.TRUE);
+      typedProperties.putBooleanProperty(new SimpleString("false"), Boolean.FALSE);
+      typedProperties.putSimpleStringProperty(new SimpleString("foo"), new SimpleString("bar"));
+      return typedProperties;
+   }
+
    @Test
    public void testSimpleConversionMap() throws Exception {
       Map<String, Object> mapprop = createPropertiesMap();
@@ -192,4 +202,28 @@ public class TestConversions extends Assert {
 
    }
 
+   @Test
+   public void testSimpleConversionWithExtraProperties() throws Exception {
+      MessageImpl message = (MessageImpl) Message.Factory.create();
+
+      String text = "someText";
+      message.setBody(new AmqpValue(text));
+
+      AMQPMessage encodedMessage = new AMQPMessage(message);
+      TypedProperties extraProperties = createTypedPropertiesMap();
+      extraProperties.putBytesProperty(new SimpleString("bytesProp"), "value".getBytes());
+      encodedMessage.setExtraProperties(extraProperties);
+
+      ICoreMessage serverMessage = encodedMessage.toCore();
+
+      ServerJMSTextMessage textMessage = (ServerJMSTextMessage) ServerJMSMessage.wrapCoreMessage(serverMessage);
+      textMessage.decode();
+
+      verifyProperties(textMessage);
+      assertEquals("value", new String(((byte[]) textMessage.getObjectProperty("bytesProp"))));
+
+      Assert.assertEquals(text, textMessage.getText());
+
+   }
+
 }