From d7250faaae1b8692b7654cc848a2080b14796dbe Mon Sep 17 00:00:00 2001 From: Aidan Skinner Date: Wed, 11 Feb 2009 15:55:48 +0000 Subject: 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 --- .../client/message/AMQMessageDelegate_0_10.java | 3 +- .../client/message/AMQMessageDelegate_0_8.java | 3 +- .../client/message/AbstractJMSMessageTest.java | 36 ++++++++++++++++++++++ 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 qpid/java/client/src/test/java/org/apache/qpid/client/message/AbstractJMSMessageTest.java (limited to 'qpid/java') 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"); + } + } + +} -- cgit v1.2.1