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

Reply via email to