Test basic message property for AmqpJmsMessageFacade.  Fix up a few null
check issues, and use the AmqpJms facade types as covariant return types
from the copy methods to make testing easier, no casts needed.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/e7051100
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/e7051100
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/e7051100

Branch: refs/heads/master
Commit: e70511007e5fabb956c634c71d4021918d9ba68e
Parents: 8063fcb
Author: Timothy Bish <tabish...@gmail.com>
Authored: Thu Sep 25 15:53:54 2014 -0400
Committer: Timothy Bish <tabish...@gmail.com>
Committed: Thu Sep 25 15:53:54 2014 -0400

----------------------------------------------------------------------
 .../amqp/message/AmqpDestinationHelper.java     |  8 +++
 .../amqp/message/AmqpJmsBytesMessageFacade.java |  2 +-
 .../amqp/message/AmqpJmsMapMessageFacade.java   |  2 +-
 .../amqp/message/AmqpJmsMessageFacade.java      | 10 ++--
 .../message/AmqpJmsObjectMessageFacade.java     |  2 +-
 .../message/AmqpJmsStreamMessageFacade.java     |  2 +-
 .../amqp/message/AmqpJmsTextMessageFacade.java  |  2 +-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 55 ++++++++++++++++++++
 8 files changed, 75 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
index 202f5ce..2402143 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
@@ -135,6 +135,10 @@ public class AmqpDestinationHelper {
     }
 
     public void setToAddressFromDestination(AmqpJmsMessageFacade message, 
JmsDestination destination) {
+        if (destination == null) {
+            return;
+        }
+
         String address = destination.getName();
         String typeString = toTypeAnnotation(destination);
 
@@ -148,6 +152,10 @@ public class AmqpDestinationHelper {
     }
 
     public void setReplyToAddressFromDestination(AmqpJmsMessageFacade message, 
JmsDestination destination) {
+        if (destination == null) {
+            return;
+        }
+
         String replyToAddress = destination.getName();
         String typeString = toTypeAnnotation(destination);
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
index 664d414..6bf27cd 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsBytesMessageFacade.java
@@ -64,7 +64,7 @@ public class AmqpJmsBytesMessageFacade extends 
AmqpJmsMessageFacade implements J
     }
 
     @Override
-    public JmsBytesMessageFacade copy() {
+    public AmqpJmsBytesMessageFacade copy() {
         AmqpJmsBytesMessageFacade copy = new 
AmqpJmsBytesMessageFacade(connection);
         copyInto(copy);
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
index fdda9e4..75763ed 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMapMessageFacade.java
@@ -92,7 +92,7 @@ public class AmqpJmsMapMessageFacade extends 
AmqpJmsMessageFacade implements Jms
     }
 
     @Override
-    public JmsMapMessageFacade copy() {
+    public AmqpJmsMapMessageFacade copy() {
         AmqpJmsMapMessageFacade copy = new AmqpJmsMapMessageFacade(connection);
         copyInto(copy);
         copy.messageBodyMap.putAll(messageBodyMap);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/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 f9ff940..5e04f99 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
@@ -234,7 +234,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
     }
 
     @Override
-    public JmsMessageFacade copy() throws JMSException {
+    public AmqpJmsMessageFacade copy() throws JMSException {
         AmqpJmsMessageFacade copy = new AmqpJmsMessageFacade(connection);
         copyInto(copy);
         return copy;
@@ -242,8 +242,12 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 
     @SuppressWarnings("unchecked")
     protected void copyInto(AmqpJmsMessageFacade target) {
-        target.setDestination(destination);
-        target.setReplyTo(replyTo);
+        if (destination != null) {
+            target.setDestination(destination);
+        }
+        if (replyTo != null) {
+            target.setReplyTo(replyTo);
+        }
 
         Message targetMsg = target.getAmqpMessage();
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
index 1668a6c..c55e682 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsObjectMessageFacade.java
@@ -87,7 +87,7 @@ public class AmqpJmsObjectMessageFacade extends 
AmqpJmsMessageFacade implements
     }
 
     @Override
-    public JmsObjectMessageFacade copy() throws JMSException {
+    public AmqpJmsObjectMessageFacade copy() throws JMSException {
         AmqpJmsObjectMessageFacade copy = new 
AmqpJmsObjectMessageFacade(connection);
         copyInto(copy);
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
index 90cd97e..edf7ea0 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsStreamMessageFacade.java
@@ -86,7 +86,7 @@ public class AmqpJmsStreamMessageFacade extends 
AmqpJmsMessageFacade implements
     }
 
     @Override
-    public JmsStreamMessageFacade copy() {
+    public AmqpJmsStreamMessageFacade copy() {
         AmqpJmsStreamMessageFacade copy = new 
AmqpJmsStreamMessageFacade(connection);
         copyInto(copy);
         copy.list.addAll(list);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
index c2d6fc2..53359a6 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsTextMessageFacade.java
@@ -87,7 +87,7 @@ public class AmqpJmsTextMessageFacade extends 
AmqpJmsMessageFacade implements Jm
     }
 
     @Override
-    public JmsTextMessageFacade copy() throws JMSException {
+    public AmqpJmsTextMessageFacade copy() throws JMSException {
         AmqpJmsTextMessageFacade copy = new 
AmqpJmsTextMessageFacade(connection);
         copyInto(copy);
         copy.setText(getText());

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/e7051100/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
----------------------------------------------------------------------
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
index 1bb94c8..8ae2a39 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 import java.nio.ByteBuffer;
@@ -31,7 +32,11 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
+import javax.jms.JMSException;
+
 import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsTemporaryQueue;
 import org.apache.qpid.jms.JmsTopic;
 import org.apache.qpid.jms.provider.amqp.AmqpConnection;
 import org.apache.qpid.jms.provider.amqp.AmqpConsumer;
@@ -401,4 +406,54 @@ public class AmqpJmsMessageFacadeTest {
         return new Binary(idBytes);
     }
 
+    @Test
+    public void testBasicMessageCopy() throws JMSException {
+        AmqpJmsMessageFacade source = createNewMessageFacade();
+
+        JmsQueue aQueue = new JmsQueue("Test-Queue");
+        JmsTemporaryQueue tempQueue = new JmsTemporaryQueue("Test-Temp-Queue");
+
+        source.setDestination(aQueue);
+        source.setReplyTo(tempQueue);
+
+        source.setContentType("Test-ContentType");
+        source.setCorrelationId("MY-APP-ID");
+        source.setExpiration(42L);
+        source.setGroupId("TEST-GROUP");
+        source.setGroupSequence(23);
+        source.setMessageId("ID:TEST-MESSAGEID");
+        source.setPriority((byte) 1);
+        source.setPersistent(false);
+        source.setRedeliveryCounter(12);
+        source.setTimestamp(150L);
+        source.setUserId("Cookie-Monster");
+
+        source.setProperty("APP-Prop-1", "APP-Prop-1-Value");
+        source.setProperty("APP-Prop-2", "APP-Prop-2-Value");
+
+        AmqpJmsMessageFacade copy = source.copy();
+
+        assertSame(source.getConnection(), copy.getConnection());
+
+        assertEquals(source.getDestination(), copy.getDestination());
+        assertEquals(source.getReplyTo(), copy.getReplyTo());
+
+        assertEquals(source.getContentType(), copy.getContentType());
+        assertEquals(source.getCorrelationId(), copy.getCorrelationId());
+        assertEquals(source.getExpiration(), copy.getExpiration());
+        assertEquals(source.getGroupId(), copy.getGroupId());
+        assertEquals(source.getGroupSequence(), copy.getGroupSequence());
+        assertEquals(source.getMessageId(), copy.getMessageId());
+        assertEquals(source.getPriority(), copy.getPriority());
+        assertEquals(source.isPersistent(), copy.isPersistent());
+        assertEquals(source.getRedeliveryCounter(), 
copy.getRedeliveryCounter());
+        assertEquals(source.getTimestamp(), copy.getTimestamp());
+        assertEquals(source.getUserId(), copy.getUserId());
+
+        assertNotNull(copy.getProperty("APP-Prop-1"));
+        assertNotNull(copy.getProperty("APP-Prop-2"));
+
+        assertEquals("APP-Prop-1-Value", copy.getProperty("APP-Prop-1"));
+        assertEquals("APP-Prop-2-Value", copy.getProperty("APP-Prop-2"));
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to