Repository: qpid-jms Updated Branches: refs/heads/master cf38f9b0c -> 1e0d838f3
Delegate the work of creating a proper JMS Destination when setting the destination or reply to address via a Message object's setStringProperty or setObjectProperty methods. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1e0d838f Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1e0d838f Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1e0d838f Branch: refs/heads/master Commit: 1e0d838f346d75def1682dc6fdaaf43091d3f58c Parents: cf38f9b Author: Timothy Bish <tabish...@gmail.com> Authored: Wed Oct 1 16:41:38 2014 -0400 Committer: Timothy Bish <tabish...@gmail.com> Committed: Wed Oct 1 16:41:38 2014 -0400 ---------------------------------------------------------------------- .../jms/message/JmsMessagePropertyIntercepter.java | 9 ++++----- .../qpid/jms/message/facade/JmsMessageFacade.java | 16 ++++++++++++++++ .../provider/amqp/message/AmqpJmsMessageFacade.java | 11 +++++++++++ .../message/JmsMessagePropertyIntercepterTest.java | 12 ++++++------ .../facade/defaults/JmsDefaultMessageFacade.java | 11 +++++++++++ 5 files changed, 48 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java index d8295c5..9f703a0 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java @@ -41,7 +41,6 @@ import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; -import org.apache.qpid.jms.JmsDestination; import org.apache.qpid.jms.exceptions.JmsExceptionSupport; import org.apache.qpid.jms.message.facade.JmsMessageFacade; import org.apache.qpid.jms.util.TypeConversionSupport; @@ -124,11 +123,11 @@ public class JmsMessagePropertyIntercepter { PROPERTY_INTERCEPTERS.put(JMS_DESTINATION, new PropertyIntercepter() { @Override public void setProperty(JmsMessageFacade message, Object value) throws JMSException { - JmsDestination rc = (JmsDestination) TypeConversionSupport.convert(value, JmsDestination.class); + String rc = (String) TypeConversionSupport.convert(value, String.class); if (rc == null) { throw new JMSException("Property JMSDestination cannot be set from a " + value.getClass().getName() + "."); } - message.setDestination(rc); + message.setDestinationFromString(rc); } @Override @@ -148,11 +147,11 @@ public class JmsMessagePropertyIntercepter { PROPERTY_INTERCEPTERS.put(JMS_REPLYTO, new PropertyIntercepter() { @Override public void setProperty(JmsMessageFacade message, Object value) throws JMSException { - JmsDestination rc = (JmsDestination) TypeConversionSupport.convert(value, JmsDestination.class); + String rc = (String) TypeConversionSupport.convert(value, String.class); if (rc == null) { throw new JMSException("Property JMSReplyTo cannot be set from a " + value.getClass().getName() + "."); } - message.setReplyTo(rc); + message.setReplyToFromString(rc); } @Override http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java index 3bd3b55..3bbea29 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java @@ -342,6 +342,14 @@ public interface JmsMessageFacade { void setDestination(JmsDestination destination); /** + * Sets the Destination that this message is being sent to via a string. + * + * @param destination + * the string destination name that this message is being sent to. + */ + void setDestinationFromString(String destination); + + /** * Gets the Destination where replies for this Message are to be sent to. * * @return the reply to destination for this message or null if none set. @@ -357,6 +365,14 @@ public interface JmsMessageFacade { void setReplyTo(JmsDestination replyTo); /** + * Sets the Destination where replies to this Message are to be sent via a string. + * + * @param destination + * the string Destination name where replies should be sent, or null to clear. + */ + void setReplyToFromString(String destination); + + /** * Returns the ID of the user that sent this message if available. * * @return the user ID that was in use when this message was sent or null if not set. http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java index 295122b..f48bd24 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java @@ -34,6 +34,7 @@ import javax.jms.JMSException; import javax.jms.MessageFormatException; import org.apache.qpid.jms.JmsDestination; +import org.apache.qpid.jms.JmsQueue; import org.apache.qpid.jms.exceptions.IdConversionException; import org.apache.qpid.jms.message.facade.JmsMessageFacade; import org.apache.qpid.jms.provider.amqp.AmqpConnection; @@ -630,6 +631,11 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { } @Override + public void setDestinationFromString(String destination) { + setDestination(new JmsQueue(destination)); + } + + @Override public JmsDestination getReplyTo() { if (replyTo == null) { replyTo = AmqpDestinationHelper.INSTANCE.getJmsReplyTo(this, consumerDestination); @@ -645,6 +651,11 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { AmqpDestinationHelper.INSTANCE.setReplyToAddressFromDestination(this, replyTo); } + @Override + public void setReplyToFromString(String destination) { + setReplyTo(new JmsQueue(destination)); + } + public void setReplyToGroupId(String replyToGroupId) { message.setReplyToGroupId(replyToGroupId); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java index f232747..d9ed2b3 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java @@ -71,9 +71,9 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testSetJMSDestination() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); - JmsDestination queue = new JmsQueue("TestDestination"); - JmsMessagePropertyIntercepter.setProperty(message, JMS_DESTINATION, "TestDestination"); - Mockito.verify(message).setDestination(queue); + String destinationName = new String("TestDestination"); + JmsMessagePropertyIntercepter.setProperty(message, JMS_DESTINATION, destinationName); + Mockito.verify(message).setDestinationFromString(destinationName); } @Test @@ -115,9 +115,9 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testSetJMSReplyTo() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); - JmsDestination queue = new JmsQueue("TestDestination"); - JmsMessagePropertyIntercepter.setProperty(message, JMS_REPLYTO, "TestDestination"); - Mockito.verify(message).setReplyTo(queue); + String destinationName = new String("TestDestination"); + JmsMessagePropertyIntercepter.setProperty(message, JMS_REPLYTO, destinationName); + Mockito.verify(message).setReplyToFromString(destinationName); } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1e0d838f/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java index a6852ab..7972e72 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java @@ -23,6 +23,7 @@ import java.util.Map; import javax.jms.JMSException; import org.apache.qpid.jms.JmsDestination; +import org.apache.qpid.jms.JmsQueue; import org.apache.qpid.jms.message.facade.JmsMessageFacade; /** @@ -281,6 +282,11 @@ public class JmsDefaultMessageFacade implements JmsMessageFacade { } @Override + public void setDestinationFromString(String destination) { + this.destination = new JmsQueue(destination); + } + + @Override public JmsDestination getReplyTo() { return this.replyTo; } @@ -291,6 +297,11 @@ public class JmsDefaultMessageFacade implements JmsMessageFacade { } @Override + public void setReplyToFromString(String destination) { + this.replyTo = new JmsQueue(destination); + } + + @Override public String getUserId() { return this.userId; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org