summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2009-02-11 15:55:48 +0000
committerAidan Skinner <aidan@apache.org>2009-02-11 15:55:48 +0000
commitd7250faaae1b8692b7654cc848a2080b14796dbe (patch)
tree1f2b496f799325b8ba7db867a8d61bf414675b8f
parent45096aedbcef046740a7eb8e139f3a287c0e8e8b (diff)
downloadqpid-python-d7250faaae1b8692b7654cc848a2080b14796dbe.tar.gz
QPID-1623: Allow null as a valid destination for JMSReplyTo
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@743367 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java3
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java3
-rw-r--r--qpid/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java36
3 files changed, 40 insertions, 2 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 d064c27754..338aefbd4a 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
@@ -286,7 +286,8 @@ public class AMQMessageDelegate_0_10 implements AMQMessageDelegate
{
if (destination == null)
{
- throw new IllegalArgumentException("Null destination not allowed");
+ _messageProps.setReplyTo(null);
+ return;
}
if (!(destination instanceof AMQDestination))
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
index 4c20a44849..d053b8af80 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_8.java
@@ -196,7 +196,8 @@ public class AMQMessageDelegate_0_8 implements AMQMessageDelegate
{
if (destination == null)
{
- throw new IllegalArgumentException("Null destination not allowed");
+ getContentHeaderProperties().setReplyTo((String) null);
+ return; // We're done here
}
if (!(destination instanceof AMQDestination))
diff --git a/qpid/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java b/qpid/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java
new file mode 100644
index 0000000000..b4774113be
--- /dev/null
+++ b/qpid/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java
@@ -0,0 +1,36 @@
+package org.apache.qpid.client.message;
+
+import javax.jms.JMSException;
+
+import junit.framework.TestCase;
+
+public class AbstractJMSMessageTest extends TestCase
+{
+
+ public void testSetNullJMSReplyTo08() throws JMSException
+ {
+ JMSTextMessage message = new JMSTextMessage(AMQMessageDelegateFactory.FACTORY_0_8);
+ try
+ {
+ message.setJMSReplyTo(null);
+ }
+ catch (IllegalArgumentException e)
+ {
+ fail("Null destination should be allowed");
+ }
+ }
+
+ public void testSetNullJMSReplyTo10() throws JMSException
+ {
+ JMSTextMessage message = new JMSTextMessage(AMQMessageDelegateFactory.FACTORY_0_10);
+ try
+ {
+ message.setJMSReplyTo(null);
+ }
+ catch (IllegalArgumentException e)
+ {
+ fail("Null destination should be allowed");
+ }
+ }
+
+}