diff options
author | Aidan Skinner <aidan@apache.org> | 2009-02-11 15:55:48 +0000 |
---|---|---|
committer | Aidan Skinner <aidan@apache.org> | 2009-02-11 15:55:48 +0000 |
commit | d7250faaae1b8692b7654cc848a2080b14796dbe (patch) | |
tree | 1f2b496f799325b8ba7db867a8d61bf414675b8f | |
parent | 45096aedbcef046740a7eb8e139f3a287c0e8e8b (diff) | |
download | qpid-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
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"); + } + } + +} |