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]
