Repository: qpid-jms Updated Branches: refs/heads/master cd51c357f -> 19b378bee
Start a bit of cleanup around delivery / redelivery count, keep all logic in the facade and just call into it from property intercepter and JMS message objects. Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/19b378be Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/19b378be Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/19b378be Branch: refs/heads/master Commit: 19b378bee95c6fa62874790e4280596cafdf8aa4 Parents: cd51c35 Author: Timothy Bish <[email protected]> Authored: Tue Sep 30 12:15:14 2014 -0400 Committer: Timothy Bish <[email protected]> Committed: Tue Sep 30 12:15:14 2014 -0400 ---------------------------------------------------------------------- .../org/apache/qpid/jms/message/JmsMessage.java | 12 ++---------- .../message/JmsMessagePropertyIntercepter.java | 4 ++-- .../jms/message/facade/JmsMessageFacade.java | 20 ++++++++++++++++++-- .../defaults/JmsDefaultMessageFacade.java | 18 ++++++++++++++---- .../amqp/message/AmqpJmsMessageFacade.java | 20 +++++++++++++++----- .../JmsMessagePropertyIntercepterTest.java | 12 ++++++------ .../amqp/message/AmqpJmsMessageFacadeTest.java | 4 ++-- 7 files changed, 59 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java index a914204..180a2b7 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessage.java @@ -553,7 +553,7 @@ public class JmsMessage implements javax.jms.Message { } public void incrementRedeliveryCount() { - facade.setRedeliveryCounter(facade.getRedeliveryCounter() + 1); + facade.setRedeliveryCount(facade.getRedeliveryCount() + 1); } public JmsMessageFacade getFacade() { @@ -565,15 +565,7 @@ public class JmsMessage implements javax.jms.Message { } public void setRedelivered(boolean redelivered) throws JMSException { - if (redelivered) { - if (!isRedelivered()) { - facade.setRedeliveryCounter(1); - } - } else { - if (isRedelivered()) { - facade.setRedeliveryCounter(0); - } - } + facade.setRedelivered(redelivered); } protected void checkReadOnlyProperties() throws MessageNotWriteableException { http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java index 123f04d..d8295c5 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepter.java @@ -108,12 +108,12 @@ public class JmsMessagePropertyIntercepter { if (rc == null) { throw new JMSException("Property JMSXDeliveryCount cannot be set from a " + value.getClass().getName() + "."); } - message.setRedeliveryCounter(rc.intValue() - 1); + message.setDeliveryCount(rc.intValue()); } @Override public Object getProperty(JmsMessageFacade message) throws JMSException { - return Integer.valueOf(message.getRedeliveryCounter() + 1); + return Integer.valueOf(message.getDeliveryCount()); } @Override http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java index fb998dc..3dd174b 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/JmsMessageFacade.java @@ -213,12 +213,28 @@ public interface JmsMessageFacade { void setPersistent(boolean value); /** + * Returns the current delivery count of the Message as set in the underlying + * message instance. + * + * @return the current delivery count. + */ + int getDeliveryCount(); + + /** + * Sets the delivery count on the message. + * + * @param deliveryCount + * the new delivery count to assign the Message. + */ + void setDeliveryCount(int deliveryCount); + + /** * Returns the current redelivery count of the Message as set in the underlying * message instance. * * @return the current redelivery count. */ - int getRedeliveryCounter(); + int getRedeliveryCount(); /** * Used to update the message redelivery after a local redelivery of the Message @@ -227,7 +243,7 @@ public interface JmsMessageFacade { * @param redeliveryCount * the new redelivery count to assign the Message. */ - void setRedeliveryCounter(int redeliveryCount); + void setRedeliveryCount(int redeliveryCount); /** * Used to quickly check if a message has been redelivered. http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java index 7b99f7d..eff3ad7 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java @@ -203,12 +203,22 @@ public class JmsDefaultMessageFacade implements JmsMessageFacade { } @Override - public int getRedeliveryCounter() { + public int getDeliveryCount() { + return this.redeliveryCount + 1; + } + + @Override + public void setDeliveryCount(int deliveryCount) { + this.redeliveryCount = deliveryCount - 1; + } + + @Override + public int getRedeliveryCount() { return this.redeliveryCount; } @Override - public void setRedeliveryCounter(int redeliveryCount) { + public void setRedeliveryCount(int redeliveryCount) { this.redeliveryCount = redeliveryCount; } @@ -221,11 +231,11 @@ public class JmsDefaultMessageFacade implements JmsMessageFacade { public void setRedelivered(boolean redelivered) { if (redelivered) { if (!isRedelivered()) { - setRedeliveryCounter(1); + setRedeliveryCount(1); } } else { if (isRedelivered()) { - setRedeliveryCounter(0); + setRedeliveryCount(0); } } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/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 7aecbaa..e4e7151 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 @@ -457,7 +457,17 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { } @Override - public int getRedeliveryCounter() { + public int getDeliveryCount() { + return getRedeliveryCount() + 1; + } + + @Override + public void setDeliveryCount(int deliveryCount) { + setRedeliveryCount(deliveryCount - 1); + } + + @Override + public int getRedeliveryCount() { if (message.getHeader() != null) { UnsignedInteger count = message.getHeader().getDeliveryCount(); if (count != null) { @@ -469,7 +479,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { } @Override - public void setRedeliveryCounter(int redeliveryCount) { + public void setRedeliveryCount(int redeliveryCount) { if (redeliveryCount == 0) { if (message.getHeader() != null) { message.getHeader().setDeliveryCount(null); @@ -481,18 +491,18 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { @Override public boolean isRedelivered() { - return getRedeliveryCounter() > 0; + return getRedeliveryCount() > 0; } @Override public void setRedelivered(boolean redelivered) { if (redelivered) { if (!isRedelivered()) { - setRedeliveryCounter(1); + setRedeliveryCount(1); } } else { if (isRedelivered()) { - setRedeliveryCounter(0); + setRedeliveryCount(0); } } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java index a5d53e7..f232747 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessagePropertyIntercepterTest.java @@ -592,28 +592,28 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testGetJMSXDeliveryCountWhenNotSet() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); - assertEquals(Integer.valueOf(1), JmsMessagePropertyIntercepter.getProperty(message, JMSX_DELIVERY_COUNT)); - Mockito.verify(message).getRedeliveryCounter(); + assertEquals(Integer.valueOf(0), JmsMessagePropertyIntercepter.getProperty(message, JMSX_DELIVERY_COUNT)); + Mockito.verify(message).getDeliveryCount(); } @Test public void testGetJMSXDeliverCountWhenSet() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); - Mockito.when(message.getRedeliveryCounter()).thenReturn(2); - assertEquals(3, JmsMessagePropertyIntercepter.getProperty(message, JMSX_DELIVERY_COUNT)); + Mockito.when(message.getDeliveryCount()).thenReturn(2); + assertEquals(2, JmsMessagePropertyIntercepter.getProperty(message, JMSX_DELIVERY_COUNT)); } @Test public void testSetJMSXDeliveryCount() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); JmsMessagePropertyIntercepter.setProperty(message, JMSX_DELIVERY_COUNT, 32768); - Mockito.verify(message).setRedeliveryCounter(32767); + Mockito.verify(message).setDeliveryCount(32768); } @Test public void testJMSXDeliveryCountInGetPropertyNamesWhenSet() throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); - Mockito.when(message.getRedeliveryCounter()).thenReturn(2); + Mockito.when(message.getDeliveryCount()).thenReturn(2); assertTrue(JmsMessagePropertyIntercepter.getPropertyNames(message).contains(JMSX_DELIVERY_COUNT)); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/19b378be/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 d5a73e3..9b2a652 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 @@ -452,7 +452,7 @@ public class AmqpJmsMessageFacadeTest { source.setMessageId("ID:TEST-MESSAGEID"); source.setPriority((byte) 1); source.setPersistent(false); - source.setRedeliveryCounter(12); + source.setRedeliveryCount(12); source.setTimestamp(150L); source.setUserId("Cookie-Monster"); @@ -474,7 +474,7 @@ public class AmqpJmsMessageFacadeTest { assertEquals(source.getMessageId(), copy.getMessageId()); assertEquals(source.getPriority(), copy.getPriority()); assertEquals(source.isPersistent(), copy.isPersistent()); - assertEquals(source.getRedeliveryCounter(), copy.getRedeliveryCounter()); + assertEquals(source.getRedeliveryCount(), copy.getRedeliveryCount()); assertEquals(source.getTimestamp(), copy.getTimestamp()); assertEquals(source.getUserId(), copy.getUserId()); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
