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

Reply via email to