From 1e77d547d7b8fb2bf151b8b5c9d3083d3bceb1a3 Mon Sep 17 00:00:00 2001 From: Rajith Muditha Attapattu Date: Tue, 2 Aug 2011 21:19:07 +0000 Subject: QPID-3381 Provided the ability to retrieve the routing key from a JMS message using getStringProperty(). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1153274 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/client/message/AMQMessageDelegate_0_10.java | 9 +++++++-- .../apache/qpid/test/unit/message/JMSPropertiesTest.java | 13 ++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) (limited to 'java') diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java index c9a42638b5..182b7b65d8 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java @@ -634,11 +634,16 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate { return new String(_messageProps.getUserId()); } - else if ("x-amqp-0-10.app-id".equals(propertyName) && + else if (QpidMessageProperties.AMQP_0_10_APP_ID.equals(propertyName) && _messageProps.getAppId() != null) { return new String(_messageProps.getAppId()); } + else if (QpidMessageProperties.AMQP_0_10_ROUTING_KEY.equals(propertyName) && + _deliveryProps.getRoutingKey() != null) + { + return _deliveryProps.getRoutingKey(); + } else { checkPropertyName(propertyName); @@ -745,7 +750,7 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate { checkPropertyName(propertyName); checkWritableProperties(); - if ("x-amqp-0-10.app-id".equals(propertyName)) + if (QpidMessageProperties.AMQP_0_10_APP_ID.equals(propertyName)) { _messageProps.setAppId(value.getBytes()); } diff --git a/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java b/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java index 5721bcf4e3..97452ad1c8 100644 --- a/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java +++ b/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java @@ -25,6 +25,7 @@ import org.apache.qpid.client.AMQConnection; import org.apache.qpid.client.AMQQueue; import org.apache.qpid.client.AMQSession; import org.apache.qpid.client.message.NonQpidObjectMessage; +import org.apache.qpid.client.message.QpidMessageProperties; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.test.utils.QpidBrokerTestCase; @@ -172,7 +173,7 @@ public class JMSPropertiesTest extends QpidBrokerTestCase * Test Goal : Test if custom message properties can be set and retrieved properly with out an error. * Also test if unsupported properties are filtered out. See QPID-2930. */ - public void testApplicationProperties() throws Exception + public void testQpidExtensionProperties() throws Exception { Connection con = getConnection("guest", "guest"); Session ssn = (AMQSession) con.createSession(false, Session.CLIENT_ACKNOWLEDGE); @@ -182,8 +183,8 @@ public class JMSPropertiesTest extends QpidBrokerTestCase MessageConsumer consumer = ssn.createConsumer(topic); MessageProducer prod = ssn.createProducer(topic); Message m = ssn.createMessage(); - m.setObjectProperty("x-amqp-0-10.routing-key", "routing-key".getBytes()); - m.setObjectProperty("x-amqp-0-10.app-id", "my-app-id"); + m.setObjectProperty("foo-bar", "foobar".getBytes()); + m.setObjectProperty(QpidMessageProperties.AMQP_0_10_APP_ID, "my-app-id"); prod.send(m); Message msg = consumer.receive(1000); @@ -198,7 +199,9 @@ public class JMSPropertiesTest extends QpidBrokerTestCase map.put(name, value); } - assertFalse("Property 'x-amqp-0-10.routing-key' should have been filtered out",map.containsKey("x-amqp-0-10.routing-key")); - assertEquals("Property x-amqp-0-10.app-id should be present","my-app-id",msg.getStringProperty("x-amqp-0-10.app-id")); + assertFalse("Property 'foo-bar' should have been filtered out",map.containsKey("foo-bar")); + assertEquals("Property "+ QpidMessageProperties.AMQP_0_10_APP_ID + " should be present","my-app-id",msg.getStringProperty(QpidMessageProperties.AMQP_0_10_APP_ID)); + assertEquals("Property "+ QpidMessageProperties.AMQP_0_10_ROUTING_KEY + " should be present","test",msg.getStringProperty(QpidMessageProperties.AMQP_0_10_ROUTING_KEY)); + } } -- cgit v1.2.1