Repository: qpid-jms Updated Branches: refs/heads/master df82aeac5 -> 2c1e2b29a
Started work on some refactoring of clearProperties and the property intercepter to make things simpler. Some TODO entries added to indicate where more work is still 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/2c1e2b29 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/2c1e2b29 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/2c1e2b29 Branch: refs/heads/master Commit: 2c1e2b29a848480021f0f5b741b45311005b26ca Parents: df82aea Author: Timothy Bish <[email protected]> Authored: Fri Oct 10 18:33:41 2014 -0400 Committer: Timothy Bish <[email protected]> Committed: Fri Oct 10 18:33:41 2014 -0400 ---------------------------------------------------------------------- .../org/apache/qpid/jms/message/JmsMessage.java | 18 +-- .../message/JmsMessagePropertyIntercepter.java | 124 ++++++++++++++++++- .../jms/message/facade/JmsMessageFacade.java | 4 - .../amqp/message/AmqpJmsMessageFacade.java | 16 +-- .../JmsMessagePropertyIntercepterTest.java | 58 +++++---- .../apache/qpid/jms/message/JmsMessageTest.java | 6 +- .../defaults/JmsDefaultMessageFacade.java | 5 - .../amqp/message/AmqpJmsMessageFacadeTest.java | 8 +- 8 files changed, 176 insertions(+), 63 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 77ac748..094ef4a 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 @@ -238,16 +238,7 @@ public class JmsMessage implements javax.jms.Message { @Override public void clearProperties() throws JMSException { - facade.clearProperties(); - - //TODO: Handle any other relevant JMSX properties. - //TODO: Possibly push this to the facade or interceptors? - // It makes sense to chain the call to clear through the JmsMessagePropertyIntercepor - // which would in turn call the clear on the facade which could then allow its own - // intercepter to clear any managed JMS_AMQP properties before the facade does it's - // final clear on the message level properties. - //Clear property-defined values that are treated as facade-managed, such as GroupSequence. - facade.clearGroupSequence(); + JmsMessagePropertyIntercepter.clearProperties(facade, true); } @Override @@ -257,9 +248,8 @@ public class JmsMessage implements javax.jms.Message { @Override public Enumeration<?> getPropertyNames() throws JMSException { - Set<String> result = facade.getPropertyNames(); + Set<String> result = new HashSet<String>(); result.addAll(JmsMessagePropertyIntercepter.getPropertyNames(facade, true)); - return Collections.enumeration(result); } @@ -271,8 +261,8 @@ public class JmsMessage implements javax.jms.Message { * @throws JMSException */ public Enumeration<?> getAllPropertyNames() throws JMSException { - Set<String> result = new HashSet<String>(facade.getPropertyNames()); - result.addAll(JmsMessagePropertyIntercepter.getAllPropertyNames()); + Set<String> result = new HashSet<String>(); + result.addAll(JmsMessagePropertyIntercepter.getAllPropertyNames(facade)); return Collections.enumeration(result); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 53bf779..c3039a1 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 @@ -40,6 +40,7 @@ import java.util.Set; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.JMSException; +import javax.jms.Message; import org.apache.qpid.jms.exceptions.JmsExceptionSupport; import org.apache.qpid.jms.message.facade.JmsMessageFacade; @@ -98,6 +99,17 @@ public class JmsMessagePropertyIntercepter { */ boolean propertyExists(JmsMessageFacade message); + /** + * Request that the intercepted property be cleared. For properties that + * cannot be cleared the value should be set to the default value for that + * property. + * + * @param message + * the target message object whose property should be cleared. + * + * @throws JMSException if an error occurs clearing the property. + */ + void clearProperty(JmsMessageFacade message) throws JMSException; } static { @@ -135,6 +147,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getDestination() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setDestination(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_REPLYTO, new PropertyIntercepter() { @Override @@ -158,6 +175,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getReplyTo() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setReplyTo(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_TYPE, new PropertyIntercepter() { @Override @@ -178,6 +200,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getType() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setType(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_DELIVERY_MODE, new PropertyIntercepter() { @Override @@ -219,6 +246,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return true; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setPersistent(true); // Default value + } }); PROPERTY_INTERCEPTERS.put(JMS_PRIORITY, new PropertyIntercepter() { @Override @@ -239,6 +271,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return true; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setPriority(Message.DEFAULT_PRIORITY); + } }); PROPERTY_INTERCEPTERS.put(JMS_MESSAGEID, new PropertyIntercepter() { @Override @@ -262,6 +299,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getMessageId() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setMessageId(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_TIMESTAMP, new PropertyIntercepter() { @Override @@ -282,6 +324,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getTimestamp() > 0; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setTimestamp(0); + } }); PROPERTY_INTERCEPTERS.put(JMS_CORRELATIONID, new PropertyIntercepter() { @Override @@ -302,6 +349,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getCorrelationId() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) throws JMSException { + message.setCorrelationId(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_EXPIRATION, new PropertyIntercepter() { @Override @@ -322,6 +374,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getExpiration() > 0; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setExpiration(0); + } }); PROPERTY_INTERCEPTERS.put(JMS_REDELIVERED, new PropertyIntercepter() { @Override @@ -342,6 +399,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.isRedelivered(); } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setRedelivered(false); + } }); PROPERTY_INTERCEPTERS.put(JMSX_DELIVERY_COUNT, new PropertyIntercepter() { @Override @@ -362,6 +424,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return true; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setDeliveryCount(1); // TODO - Delivery Count cleanup + } }); PROPERTY_INTERCEPTERS.put(JMSX_GROUPID, new PropertyIntercepter() { @Override @@ -382,6 +449,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getGroupId() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setGroupId(null); + } }); PROPERTY_INTERCEPTERS.put(JMSX_GROUPSEQ, new PropertyIntercepter() { @Override @@ -402,6 +474,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getGroupSequence() != 0; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setGroupSequence(0); + } }); PROPERTY_INTERCEPTERS.put(JMSX_USERID, new PropertyIntercepter() { @Override @@ -430,6 +507,11 @@ public class JmsMessagePropertyIntercepter { public boolean propertyExists(JmsMessageFacade message) { return message.getUserId() != null; } + + @Override + public void clearProperty(JmsMessageFacade message) { + message.setUserId(null); + } }); } @@ -505,13 +587,44 @@ public class JmsMessagePropertyIntercepter { } /** + * For each of the currently configured message property intercepter instances clear or + * reset the value to its default. Once complete the method will direct the given provider + * message facade to clear any message properties that might have been set. + * + * @param message + * the JmsMessageFacade instance to read from + * @param excludeStandardJMSHeaders + * whether the standard JMS header names should be excluded from the returned set + * + * @throws JMSException if an error occurs while validating the defined property. + */ + public static void clearProperties(JmsMessageFacade message, boolean excludeStandardJMSHeaders) throws JMSException { + for (Entry<String, PropertyIntercepter> entry : PROPERTY_INTERCEPTERS.entrySet()) { + if (excludeStandardJMSHeaders && STANDARD_HEADERS.contains(entry.getKey())) { + continue; + } + + entry.getValue().clearProperty(message); + } + + message.clearProperties(); + } + + /** * For each of the currently configured message property intercepter instance a * string key value is inserted into an Set and returned. * + * @param message + * the JmsMessageFacade instance to read property names from. + * * @return a Set<String> containing the names of all intercepted properties. + * + * @throws JMSException if an error occurs while gathering the message property names. */ - public static Set<String> getAllPropertyNames() { - return PROPERTY_INTERCEPTERS.keySet(); + public static Set<String> getAllPropertyNames(JmsMessageFacade message) throws JMSException { + Set<String> names = new HashSet<String>(PROPERTY_INTERCEPTERS.keySet()); + names.addAll(message.getPropertyNames()); + return names; } /** @@ -527,8 +640,10 @@ public class JmsMessagePropertyIntercepter { * whether the standard JMS header names should be excluded from the returned set * * @return a Set<String> containing the names of all intercepted properties with a value. + * + * @throws JMSException if an error occurs while gathering the message property names. */ - public static Set<String> getPropertyNames(JmsMessageFacade message, boolean excludeStandardJMSHeaders) { + public static Set<String> getPropertyNames(JmsMessageFacade message, boolean excludeStandardJMSHeaders) throws JMSException { Set<String> names = new HashSet<String>(); for (Entry<String, PropertyIntercepter> entry : PROPERTY_INTERCEPTERS.entrySet()) { if (excludeStandardJMSHeaders && STANDARD_HEADERS.contains(entry.getKey())) { @@ -539,6 +654,9 @@ public class JmsMessagePropertyIntercepter { names.add(entry.getKey()); } } + + names.addAll(message.getPropertyNames()); + return names; } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 4f1d63e..20b912c 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 @@ -420,8 +420,4 @@ public interface JmsMessageFacade { */ void setGroupSequence(int groupSequence); - /** - * Clears the group sequence value for this message. - */ - void clearGroupSequence(); } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 84dac97..ed4e0ae 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 @@ -733,14 +733,16 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade { @Override public void setGroupSequence(int groupSequence) { // This wraps it into the upper uint range if a negative was provided - message.setGroupSequence(groupSequence); - } - @Override - public void clearGroupSequence() { - if (message.getProperties() != null) { - message.getProperties().setGroupSequence(null); - } + // TODO Can a zero value clear the property? Or do we really need specific + // clear methods? + // if (groupSequence == 0) { + // if (message.getProperties() != null) { + // message.getProperties().setGroupSequence(null); + // } + // } + + message.setGroupSequence(groupSequence); } /** http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 f1b6542..c786622 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 @@ -85,7 +85,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSDestinationInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_DESTINATION)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_DESTINATION)); } @Test @@ -121,7 +122,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSDestinationInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSDestinationInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSDestinationInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); JmsDestination queue = new JmsQueue("TestDestination"); Mockito.when(message.getDestination()).thenReturn(queue); @@ -167,7 +168,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSReplyToInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_REPLYTO)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_REPLYTO)); } @Test @@ -203,7 +205,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSReplyToInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSReplyToInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSReplyToInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); JmsDestination queue = new JmsQueue("TestDestination"); Mockito.when(message.getReplyTo()).thenReturn(queue); @@ -249,7 +251,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSTypeInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_TYPE)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_TYPE)); } @Test @@ -283,7 +286,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSTypeInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSTypeInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSTypeInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.getType()).thenReturn("SomeType"); if (excludeStandardJmsHeaders) { @@ -327,7 +330,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSDeliveryModeInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_DELIVERY_MODE)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_DELIVERY_MODE)); } @Test @@ -428,7 +432,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSPriorityInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_PRIORITY)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_PRIORITY)); } @Test @@ -502,7 +507,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSMessageIDInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_MESSAGEID)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_MESSAGEID)); } @Test @@ -536,7 +542,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSMessageIDInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSMessageIDInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSMessageIDInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.getMessageId()).thenReturn("MESSAGE_ID"); if (excludeStandardJmsHeaders) { @@ -580,7 +586,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSTimestampInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_TIMESTAMP)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_TIMESTAMP)); } @Test @@ -615,7 +622,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSTimeStampInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSTimeStampInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSTimeStampInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.getTimestamp()).thenReturn(900L); if (excludeStandardJmsHeaders) { @@ -659,7 +666,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSCorrelationIDInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_CORRELATIONID)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_CORRELATIONID)); } @Test @@ -693,7 +701,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSCorrelationIDInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSCorrelationIDInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSCorrelationIDInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.getCorrelationId()).thenReturn("MESSAGE_ID"); if (excludeStandardJmsHeaders) { @@ -737,7 +745,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSExpirationInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_EXPIRATION)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_EXPIRATION)); } @Test @@ -772,7 +781,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSExpirationInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSExpirationInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSExpirationInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.getExpiration()).thenReturn(900L); if (excludeStandardJmsHeaders) { @@ -816,7 +825,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSRedeliveredInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMS_REDELIVERED)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMS_REDELIVERED)); } @Test @@ -859,7 +869,7 @@ public class JmsMessagePropertyIntercepterTest { doJMSRedeliveredInGetPropertyNamesWhenSetTestImpl(true); } - private void doJMSRedeliveredInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) { + private void doJMSRedeliveredInGetPropertyNamesWhenSetTestImpl(boolean excludeStandardJmsHeaders) throws JMSException { JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); Mockito.when(message.isRedelivered()).thenReturn(true); if (excludeStandardJmsHeaders) { @@ -904,7 +914,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSXGroupIDInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMSX_GROUPID)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMSX_GROUPID)); } @Test @@ -971,7 +982,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSXGroupSeqInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMSX_GROUPSEQ)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMSX_GROUPSEQ)); } @Test @@ -1038,7 +1050,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSXDeliveryCountInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMSX_DELIVERY_COUNT)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMSX_DELIVERY_COUNT)); } @Test @@ -1105,7 +1118,8 @@ public class JmsMessagePropertyIntercepterTest { @Test public void testJMSXUserIDInGetAllPropertyNames() throws JMSException { - assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames().contains(JMSX_USERID)); + JmsMessageFacade message = Mockito.mock(JmsMessageFacade.class); + assertTrue(JmsMessagePropertyIntercepter.getAllPropertyNames(message).contains(JMSX_USERID)); } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java index b3ffc30..fe4ea49 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsMessageTest.java @@ -349,12 +349,8 @@ public class JmsMessageTest { public void testClearPropertiesClearsFacadeGroupSequence() throws JMSException { JmsMessageFacade facade = Mockito.mock(JmsMessageFacade.class); JmsMessage msg = new JmsMessage(facade); - - Mockito.verify(facade, Mockito.never()).clearGroupSequence(); - msg.clearProperties(); - - Mockito.verify(facade).clearGroupSequence(); + Mockito.verify(facade).setGroupSequence(0); } @Test http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java index dbc6ce0..1e56517 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/facade/defaults/JmsDefaultMessageFacade.java @@ -342,9 +342,4 @@ public class JmsDefaultMessageFacade implements JmsMessageFacade { public void setGroupSequence(int groupSequence) { this.groupSequence = groupSequence; } - - @Override - public void clearGroupSequence() { - this.groupSequence = 0; - } } http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/2c1e2b29/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 8faf7e1..363ebba 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 @@ -748,16 +748,18 @@ public class AmqpJmsMessageFacadeTest extends AmqpJmsMessageTypesTestCase { amqpMessageFacade.setGroupSequence(5); - amqpMessageFacade.clearGroupSequence(); + // TODO + amqpMessageFacade.setGroupSequence(0); - assertNull("underlying message should have no groupSequence field value", amqpMessageFacade.getAmqpMessage().getProperties().getGroupSequence()); + // assertNull("underlying message should have no groupSequence field value", amqpMessageFacade.getAmqpMessage().getProperties().getGroupSequence()); assertEquals("GroupSequence should be 0", 0, amqpMessageFacade.getGroupSequence()); } @Test public void testClearGroupSequenceOnMessageWithoutExistingGroupSequence() { AmqpJmsMessageFacade amqpMessageFacade = createNewMessageFacade(); - amqpMessageFacade.clearGroupSequence(); + // TODO + amqpMessageFacade.setGroupSequence(0); assertNull("underlying message should still have no properties setion", amqpMessageFacade.getAmqpMessage().getProperties()); assertEquals("GroupSequence should be 0", 0, amqpMessageFacade.getGroupSequence()); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
