You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2014/09/26 00:45:26 UTC

[1/5] git commit: Add some additional tests to validate handling null values behaves as expected.

Repository: qpid-jms
Updated Branches:
  refs/heads/master 38299e760 -> 44d6e320c


Add some additional tests to validate handling null values behaves as
expected.

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

Branch: refs/heads/master
Commit: 8063fcb88025058147c3c1fa549002d515d2e48b
Parents: 38299e7
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 15:38:51 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 15:38:51 2014 -0400

----------------------------------------------------------------------
 .../amqp/message/AmqpDestinationHelperTest.java | 40 ++++++++++++++++++++
 1 file changed, 40 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8063fcb8/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
index 6564583..fbd0948 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelperTest.java
@@ -325,6 +325,26 @@ public class AmqpDestinationHelperTest {
     //--------------- Test setToAddressFromDestination method ----------------//
 
     @Test
+    public void testSetToAddressFromDestinationWithNullDestination() {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        helper.setToAddressFromDestination(message, null);
+        Mockito.verifyZeroInteractions(message);
+    }
+
+    @Test
+    public void testSetToAddressFromDestinationWithNullDestinationAndNullMessage() {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        helper.setToAddressFromDestination(null, null);
+        Mockito.verifyZeroInteractions(message);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testSetToAddressFromDestinationWithNullMessage() {
+        JmsDestination destination = new JmsQueue("testAddress");
+        helper.setToAddressFromDestination(null, destination);
+    }
+
+    @Test
     public void testSetToAddressFromDestinationWithQueue() {
         String testAddress = "testAddress";
         JmsDestination destination = new JmsQueue("testAddress");
@@ -375,6 +395,26 @@ public class AmqpDestinationHelperTest {
     //--------------- Test setReplyToAddressFromDestination method -----------//
 
     @Test
+    public void testSetReplyToAddressFromDestinationWithNullDestination() {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        helper.setReplyToAddressFromDestination(message, null);
+        Mockito.verifyZeroInteractions(message);
+    }
+
+    @Test
+    public void testSetReplyToAddressFromDestinationWithNullDestinationAndNullMessage() {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        helper.setReplyToAddressFromDestination(null, null);
+        Mockito.verifyZeroInteractions(message);
+    }
+
+    @Test(expected=NullPointerException.class)
+    public void testSetReplyToAddressFromDestinationWithNullMessage() {
+        JmsDestination destination = new JmsQueue("testAddress");
+        helper.setReplyToAddressFromDestination(null, destination);
+    }
+
+    @Test
     public void testSetReplyToAddressFromDestinationWithQueue() {
         String testAddress = "testAddress";
         JmsDestination destination = new JmsQueue("testAddress");


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


[2/5] git commit: 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.

Posted by ta...@apache.org.
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 <ta...@gmail.com>
Authored: Thu Sep 25 15:53:54 2014 -0400
Committer: Timothy Bish <ta...@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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[3/5] git commit: Additional check to filter out replyToGroupId if its an empty string also.

Posted by ta...@apache.org.
Additional check to filter out replyToGroupId if its an empty string
also.

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

Branch: refs/heads/master
Commit: 540298601f1db8aac54a5d17c9394d00f32616d5
Parents: e705110
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 16:31:20 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 16:31:20 2014 -0400

----------------------------------------------------------------------
 .../amqp/message/AmqpJmsMessagePropertyIntercepter.java        | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/54029860/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
index 11d10a3..7af0a85 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
@@ -102,7 +102,7 @@ public class AmqpJmsMessagePropertyIntercepter {
 
             @Override
             public boolean propertyExists(AmqpJmsMessageFacade message) {
-                return message.getAmqpTimeToLive() != 0;
+                return message.hasUserSpecifiedTimeToLive();
             }
         });
         PROPERTY_INTERCEPTERS.put(JMS_AMQP_REPLY_TO_GROUP_ID, new PropertyIntercepter() {
@@ -122,7 +122,8 @@ public class AmqpJmsMessagePropertyIntercepter {
 
             @Override
             public boolean propertyExists(AmqpJmsMessageFacade message) {
-                return message.getReplyToGroupId() != null;
+                String replyToGroupId = message.getReplyToGroupId();
+                return replyToGroupId != null && !replyToGroupId.equals("");
             }
         });
         PROPERTY_INTERCEPTERS.put(JMS_AMQP_TYPED_ENCODING, new PropertyIntercepter() {
@@ -142,7 +143,6 @@ public class AmqpJmsMessagePropertyIntercepter {
                     throw new JMSException("Property " + JMS_AMQP_TYPED_ENCODING + " cannot be set from a " + value.getClass().getName() + ".");
                 }
 
-                // TODO - Finished Typed encoding work.
                 if (message instanceof AmqpJmsObjectMessageFacade) {
                     // ((AmqpJmsSerializedObjectMessageFacade) message)
                 } else {


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


[4/5] git commit: Test for number of message properties and fix copy incorrectly mapping replyTo into the replyToGroupId feild.

Posted by ta...@apache.org.
Test for number of message properties and fix copy incorrectly mapping
replyTo into the replyToGroupId feild.

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

Branch: refs/heads/master
Commit: 0546ace6ea8f9611b898e480d92996cb765b025e
Parents: 5402986
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 16:50:50 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 16:50:50 2014 -0400

----------------------------------------------------------------------
 .../jms/provider/amqp/message/AmqpJmsMessageFacade.java |  8 ++++++--
 .../provider/amqp/message/AmqpJmsMessageFacadeTest.java | 12 ++++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0546ace6/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 5e04f99..c0d4d9f 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
@@ -282,7 +282,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
             properties.setCreationTime(message.getProperties().getCreationTime());
             properties.setGroupId(message.getProperties().getGroupId());
             properties.setGroupSequence(message.getProperties().getGroupSequence());
-            properties.setReplyToGroupId(message.getProperties().getReplyTo());
+            properties.setReplyToGroupId(message.getProperties().getReplyToGroupId());
 
             targetMsg.setProperties(properties);
         }
@@ -561,8 +561,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
         }
     }
 
+    public boolean hasUserSpecifiedTimeToLive() {
+        return userSpecifiedTTL != null;
+    }
+
     public long getAmqpTimeToLive() {
-        return userSpecifiedTTL;
+        return userSpecifiedTTL != null ? userSpecifiedTTL : 0;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0546ace6/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 8ae2a39..a1247a1 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
@@ -406,6 +406,15 @@ public class AmqpJmsMessageFacadeTest {
         return new Binary(idBytes);
     }
 
+    // ====== AMQP Message Facade copy() tests =======
+
+    @Test
+    public void testCopyOfEmptyMessageSucceeds() throws JMSException {
+        AmqpJmsMessageFacade empty = createNewMessageFacade();
+        AmqpJmsMessageFacade copy = empty.copy();
+        assertNotNull(copy);
+    }
+
     @Test
     public void testBasicMessageCopy() throws JMSException {
         AmqpJmsMessageFacade source = createNewMessageFacade();
@@ -450,6 +459,9 @@ public class AmqpJmsMessageFacadeTest {
         assertEquals(source.getTimestamp(), copy.getTimestamp());
         assertEquals(source.getUserId(), copy.getUserId());
 
+        // There should be two since none of the extended options were set
+        assertEquals(2, copy.getPropertyNames().size());
+
         assertNotNull(copy.getProperty("APP-Prop-1"));
         assertNotNull(copy.getProperty("APP-Prop-2"));
 


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


[5/5] git commit: Start testing the AmqpJmsMessagePropertIntercepter. Work in progress as the object message type bits are complete.

Posted by ta...@apache.org.
Start testing the AmqpJmsMessagePropertIntercepter.  Work in progress as
the object message type bits are complete.

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

Branch: refs/heads/master
Commit: 44d6e320cfe55249e9459551a0ae124cfdf3c2fb
Parents: 0546ace
Author: Timothy Bish <ta...@gmail.com>
Authored: Thu Sep 25 18:45:13 2014 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Thu Sep 25 18:45:13 2014 -0400

----------------------------------------------------------------------
 .../AmqpJmsMessagePropertyIntercepter.java      |   9 +-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  |   1 -
 .../AmqpJmsMessagePropertyIntercepterTest.java  | 152 +++++++++++++++++++
 3 files changed, 158 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
index 7af0a85..c5eb0d9 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepter.java
@@ -88,7 +88,10 @@ public class AmqpJmsMessagePropertyIntercepter {
         PROPERTY_INTERCEPTERS.put(JMS_AMQP_TTL, new PropertyIntercepter() {
             @Override
             public Object getProperty(AmqpJmsMessageFacade message) throws JMSException {
-                return message.getAmqpTimeToLive();
+                if (message.hasUserSpecifiedTimeToLive()) {
+                    return message.getAmqpTimeToLive();
+                }
+                return null;
             }
 
             @Override
@@ -133,12 +136,12 @@ public class AmqpJmsMessagePropertyIntercepter {
                     return ((AmqpJmsObjectMessageFacade) message).isAmqpTypedEncoding();
                 }
 
-                return false;
+                return null;
             }
 
             @Override
             public void setProperty(AmqpJmsMessageFacade message, Object value) throws JMSException {
-                Integer rc = (Integer) TypeConversionSupport.convert(value, Boolean.class);
+                Boolean rc = (Boolean) TypeConversionSupport.convert(value, Boolean.class);
                 if (rc == null) {
                     throw new JMSException("Property " + JMS_AMQP_TYPED_ENCODING + " cannot be set from a " + value.getClass().getName() + ".");
                 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/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 a1247a1..c536d90 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
@@ -64,7 +64,6 @@ public class AmqpJmsMessageFacadeTest {
         return new AmqpJmsMessageFacade(amqpConsumer, message);
     }
 
-
     private AmqpConsumer createMockAmqpConsumer() {
         AmqpConsumer consumer = Mockito.mock(AmqpConsumer.class);
         Mockito.when(consumer.getConnection()).thenReturn(createMockAmqpConnection());

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/44d6e320/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
new file mode 100644
index 0000000..1059e7b
--- /dev/null
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessagePropertyIntercepterTest.java
@@ -0,0 +1,152 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.qpid.jms.provider.amqp.message;
+
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_REPLY_TO_GROUP_ID;
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TTL;
+import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TYPED_ENCODING;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import javax.jms.JMSException;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class AmqpJmsMessagePropertyIntercepterTest {
+
+    //-------- JMS_AMQP_TTL --------------------------------------------------//
+
+    @Test
+    public void testJmsAmqpTtlInGetAllPropertyNames() throws JMSException {
+        assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TTL));
+    }
+
+    @Test
+    public void testGetJmsAmqpTtlWhenNotSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+    }
+
+    @Test
+    public void testSetJmsAmqpTtl() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TTL, 65536L);
+        Mockito.verify(message).setAmqpTimeToLive(65536L);
+    }
+
+    @Test
+    public void testGetJmsAmqpTtlWhenSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true);
+        Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L);
+
+        assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+        assertEquals(65536L, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+    }
+
+    @Test
+    public void testJmsAmqpTtlNotInPropertyNamesWhenNotSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TTL));
+        assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
+    }
+
+    @Test
+    public void testJmsAmqpTtlInPropertyNamesWhenSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        Mockito.when(message.hasUserSpecifiedTimeToLive()).thenReturn(true);
+        Mockito.when(message.getAmqpTimeToLive()).thenReturn(65536L);
+        assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_TTL));
+    }
+
+    //-------- JMS_AMQP_REPLY_TO_GROUP_ID ------------------------------------//
+
+    @Test
+    public void testJmsAmqpReplyToGroupIdInGetAllPropertyNames() throws JMSException {
+        assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+    }
+
+    @Test
+    public void testSetJmsAmqpReplyToGroupId() throws JMSException {
+        String testValue = "ReplyToGroupId";
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID, testValue);
+        Mockito.verify(message).setReplyToGroupId(testValue);
+    }
+
+    @Test
+    public void testGetJmsAmqpReplyToGroupIdWhenNotSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+    }
+
+    @Test
+    public void testGetJmsAmqpReplyToGroupIdWhenSet() throws JMSException {
+        String testValue = "ReplyToGroupId";
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
+        assertNotNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+        assertEquals(testValue, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+    }
+
+    @Test
+    public void testJmsJmsAmqpReplyToGroupIdNotInPropertyNamesWhenNotSet() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_REPLY_TO_GROUP_ID));
+        assertFalse(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+    }
+
+    @Test
+    public void testJmsAmqpReplyToGroupIdInPropertyNamesWhenSet() throws JMSException {
+        String testValue = "ReplyToGroupId";
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        Mockito.when(message.getReplyToGroupId()).thenReturn(testValue);
+        assertTrue(AmqpJmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMS_AMQP_REPLY_TO_GROUP_ID));
+    }
+
+    //-------- JMS_AMQP_TYPED_ENCODING ---------------------------------------//
+
+    @Test
+    public void testJmsAmqpTypedEncodingInGetAllPropertyNames() throws JMSException {
+        assertTrue(AmqpJmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_AMQP_TYPED_ENCODING));
+    }
+
+    @Test
+    public void testSetJmsAmqpTypedEncoding() throws JMSException {
+        AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+        AmqpJmsMessagePropertyIntercepter.setProperty(message, JMS_AMQP_TYPED_ENCODING, true);
+        // TODO
+    }
+
+    @Test
+    public void testGetJmsAmqpTypedEncodingWithNonObjectMessage() throws JMSException {
+        AmqpJmsMessageFacade message = Mockito.mock(AmqpJmsMessageFacade.class);
+        assertNull(AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
+    }
+
+    @Test
+    public void testGetJmsAmqpTypedEncodingWhenUsingSerializatio() throws JMSException {
+        AmqpJmsObjectMessageFacade message = Mockito.mock(AmqpJmsObjectMessageFacade.class);
+        Mockito.when(message.isAmqpTypedEncoding()).thenReturn(false);
+        assertEquals(false, AmqpJmsMessagePropertyIntercepter.getProperty(message, JMS_AMQP_TYPED_ENCODING));
+    }
+
+}


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