summaryrefslogtreecommitdiff
path: root/java/client
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-06-20 22:30:35 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-06-20 22:30:35 +0000
commit927caa28e0570cf2b223388a4290ff899ce5a358 (patch)
tree175e1ad00d0d115fde3f733ebc69786c75ac45df /java/client
parent3eecaff063207e66d72c08754143069cb977d0c5 (diff)
downloadqpid-python-927caa28e0570cf2b223388a4290ff899ce5a358.tar.gz
QPID-3273 The JMS delivery mode is now used evaluated as a string instead of an integer.
Added a test case to cover the JIRA. There was an existing test case (testUsingOnMessage) that had delivery mode in it's selector, but for some reason it was commented out. I decided to add a new one as I was not sure why the delivery mode was taken out of the selector in that test case. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1137804 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client')
-rw-r--r--java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java b/java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java
index b7b6bd57bc..574a1b3888 100644
--- a/java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java
+++ b/java/client/src/main/java/org/apache/qpid/filter/PropertyExpression.java
@@ -19,6 +19,7 @@ package org.apache.qpid.filter;
import java.util.HashMap;
+import javax.jms.DeliveryMode;
import javax.jms.JMSException;
import org.apache.qpid.AMQInternalException;
@@ -32,7 +33,7 @@ import org.slf4j.LoggerFactory;
public class PropertyExpression implements Expression
{
// Constants - defined the same as JMS
- private static final int NON_PERSISTENT = 1;
+ private static enum JMSDeliveryMode { NON_PERSISTENT, PERSISTENT }
private static final int DEFAULT_PRIORITY = 4;
private static final Logger _logger = LoggerFactory.getLogger(PropertyExpression.class);
@@ -79,22 +80,24 @@ public class PropertyExpression implements Expression
{
public Object evaluate(AbstractJMSMessage message)
{
+
+ JMSDeliveryMode mode = JMSDeliveryMode.NON_PERSISTENT;
try
{
- int mode = message.getJMSDeliveryMode();
+ mode = message.getJMSDeliveryMode() == DeliveryMode.PERSISTENT ?
+ JMSDeliveryMode.PERSISTENT : JMSDeliveryMode.NON_PERSISTENT;
+
if (_logger.isDebugEnabled())
{
_logger.debug("JMSDeliveryMode is :" + mode);
}
-
- return mode;
}
catch (JMSException e)
{
_logger.warn("Error evaluating property",e);
}
- return NON_PERSISTENT;
+ return mode.toString();
}
});