summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-08-02 21:19:07 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-08-02 21:19:07 +0000
commitf94c88c2044088d6857f6f2cc02545fc25dd8b85 (patch)
treec083e584feb38b1937348bc6df9c950020b36632
parent437670e7ae583cbf62458096ac7a8253eea2e6de (diff)
downloadqpid-python-f94c88c2044088d6857f6f2cc02545fc25dd8b85.tar.gz
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@1153274 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java9
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java13
2 files changed, 15 insertions, 7 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
index c9a42638b5..182b7b65d8 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
+++ b/qpid/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/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java
index 5721bcf4e3..97452ad1c8 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/message/JMSPropertiesTest.java
+++ b/qpid/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));
+
}
}