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