Repository: qpid-jms
Updated Branches:
  refs/heads/master da34674fe -> 72639ba7b


simplify handling of ttl field, add tests to check we reject out of range values


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

Branch: refs/heads/master
Commit: 92ad4ebc9c72ff088652de3db08023e8979bf0b3
Parents: da34674
Author: Robert Gemmell <[email protected]>
Authored: Wed Oct 1 15:05:42 2014 +0100
Committer: Robert Gemmell <[email protected]>
Committed: Wed Oct 1 15:05:56 2014 +0100

----------------------------------------------------------------------
 .../amqp/message/AmqpJmsMessageFacade.java      |  9 ++------
 .../amqp/message/AmqpJmsMessageFacadeTest.java  | 22 +++++++++++++++++++-
 2 files changed, 23 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/92ad4ebc/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 e4e7151..cc0c025 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
@@ -567,13 +567,8 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
         }
     }
 
-    public void setAmqpTimeToLive(Object value) throws MessageFormatException {
-        Long ttl = null;
-        if (value instanceof Long) {
-            ttl = (Long) value;
-        }
-
-        if (ttl != null && ttl >= 0 && ttl <= MAX_UINT) {
+    public void setAmqpTimeToLive(long ttl) throws MessageFormatException {
+        if (ttl >= 0 && ttl <= MAX_UINT) {
             userSpecifiedTTL = ttl;
         } else {
             throw new MessageFormatException(JMS_AMQP_TTL + " must be a long 
with value in range 0 to 2^32 - 1");

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/92ad4ebc/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 9b2a652..df79cbb 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
@@ -34,6 +34,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import javax.jms.JMSException;
+import javax.jms.MessageFormatException;
 
 import org.apache.qpid.jms.JmsDestination;
 import org.apache.qpid.jms.JmsQueue;
@@ -76,8 +77,27 @@ public class AmqpJmsMessageFacadeTest {
         return Mockito.mock(AmqpConnection.class);
     }
 
+    // ====== AMQP Header Section =======
+    // ==================================
+
+    // --- ttl field  ---
+
+    @Test(expected = MessageFormatException.class)
+    public void testSetAmqpTimeToLiveRejectsNegatives() throws Exception {
+        AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+
+        amqpMessageFacade.setAmqpTimeToLive(-1L);
+    }
+
+    @Test(expected = MessageFormatException.class)
+    public void testSetAmqpTimeToLiveRejectsValuesFromTwoToThirtyTwo() throws 
Exception {
+        AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade();
+        // check values over 2^32 - 1 are rejected
+        amqpMessageFacade.setAmqpTimeToLive(0X100000000L);
+    }
 
     // ====== AMQP Properties Section =======
+    // ======================================
 
     // --- message-id and correlation-id ---
 
@@ -424,8 +444,8 @@ public class AmqpJmsMessageFacadeTest {
         assertEquals("Expected creation-time field to be set on new Properties 
section", new Date(expected), 
amqpMessageFacade.getAmqpMessage().getProperties().getCreationTime());
     }
 
-
     // ====== AMQP Message Facade copy() tests =======
+    // ===============================================
 
     @Test
     public void testCopyOfEmptyMessageSucceeds() throws JMSException {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to