Repository: qpid-jms Updated Branches: refs/heads/master 2c1e2b29a -> 94febc97f
Started adding in the clear bits to the AMQP intercetper 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/94febc97 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/94febc97 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/94febc97 Branch: refs/heads/master Commit: 94febc97fc7609f0d419f653af54940dde839cd9 Parents: 2c1e2b2 Author: Timothy Bish <tabish...@gmail.com> Authored: Fri Oct 10 19:34:51 2014 -0400 Committer: Timothy Bish <tabish...@gmail.com> Committed: Fri Oct 10 19:34:51 2014 -0400 ---------------------------------------------------------------------- .../AmqpJmsMessagePropertyIntercepter.java | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/94febc97/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 1a676de..8b354c1 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 @@ -82,6 +82,18 @@ public class AmqpJmsMessagePropertyIntercepter { */ boolean propertyExists(AmqpJmsMessageFacade 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(AmqpJmsMessageFacade message) throws JMSException; + } static { @@ -107,6 +119,11 @@ public class AmqpJmsMessagePropertyIntercepter { public boolean propertyExists(AmqpJmsMessageFacade message) { return message.hasAmqpTimeToLiveOverride(); } + + @Override + public void clearProperty(AmqpJmsMessageFacade message) throws JMSException { + message.setAmqpTimeToLiveOverride(0); + } }); PROPERTY_INTERCEPTERS.put(JMS_AMQP_REPLY_TO_GROUP_ID, new PropertyIntercepter() { @Override @@ -128,6 +145,11 @@ public class AmqpJmsMessagePropertyIntercepter { String replyToGroupId = message.getReplyToGroupId(); return replyToGroupId != null && !replyToGroupId.equals(""); } + + @Override + public void clearProperty(AmqpJmsMessageFacade message) throws JMSException { + message.setReplyToGroupId(null); + } }); PROPERTY_INTERCEPTERS.put(JMS_AMQP_TYPED_ENCODING, new PropertyIntercepter() { @Override @@ -161,6 +183,11 @@ public class AmqpJmsMessagePropertyIntercepter { return false; } + + @Override + public void clearProperty(AmqpJmsMessageFacade message) throws JMSException { + // TODO - Should we leave encoding intact or change to the default. + } }); } @@ -263,4 +290,19 @@ public class AmqpJmsMessagePropertyIntercepter { } return names; } + + /** + * For each of the currently configured message property intercepter instances clear or + * reset the value to its default. + * + * @param message + * the AmqpJmsMessageFacade instance to read from + * + * @throws JMSException if an error occurs while validating the defined property. + */ + public static void clearProperties(AmqpJmsMessageFacade message) throws JMSException { + for (Entry<String, PropertyIntercepter> entry : PROPERTY_INTERCEPTERS.entrySet()) { + entry.getValue().clearProperty(message); + } + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org