Repository: qpid-jms Updated Branches: refs/heads/master 6e1f4f672 -> 21baa2277
QPIDJMS-184 Fix selector parsing for case of invalid text following valid expression Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/21baa227 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/21baa227 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/21baa227 Branch: refs/heads/master Commit: 21baa2277ec55bcf37b67d0d2891bdb7e5481ce9 Parents: 6e1f4f6 Author: Timothy Bish <[email protected]> Authored: Tue Jun 14 11:08:33 2016 -0400 Committer: Timothy Bish <[email protected]> Committed: Tue Jun 14 11:08:33 2016 -0400 ---------------------------------------------------------------------- .../apache/qpid/jms/selector/parser/SelectorParserImpl.java | 1 + qpid-jms-client/src/main/javacc/SelectorParserImpl.jj | 2 +- .../java/org/apache/qpid/jms/selector/SelectorParserTest.java | 6 ++++-- 3 files changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/21baa227/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/parser/SelectorParserImpl.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/parser/SelectorParserImpl.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/parser/SelectorParserImpl.java index fdd87ea..0611164 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/parser/SelectorParserImpl.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/parser/SelectorParserImpl.java @@ -53,6 +53,7 @@ public class SelectorParserImpl implements SelectorParserImplConstants { final public BooleanExpression JmsSelector() throws ParseException { Expression left = null; left = orExpression(); + jj_consume_token(0); { if (true) return asBooleanExpression(left); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/21baa227/qpid-jms-client/src/main/javacc/SelectorParserImpl.jj ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/main/javacc/SelectorParserImpl.jj b/qpid-jms-client/src/main/javacc/SelectorParserImpl.jj index 994641b..bc6faed 100755 --- a/qpid-jms-client/src/main/javacc/SelectorParserImpl.jj +++ b/qpid-jms-client/src/main/javacc/SelectorParserImpl.jj @@ -142,7 +142,7 @@ BooleanExpression JmsSelector() : } { ( - left = orExpression() + left = orExpression() <EOF> ) { return asBooleanExpression(left); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/21baa227/qpid-jms-client/src/test/java/org/apache/qpid/jms/selector/SelectorParserTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/selector/SelectorParserTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/selector/SelectorParserTest.java index 1de574c..68e5f58 100755 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/selector/SelectorParserTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/selector/SelectorParserTest.java @@ -18,8 +18,6 @@ package org.apache.qpid.jms.selector; import java.util.HashMap; -import junit.framework.TestCase; - import org.apache.qpid.jms.selector.filter.BooleanExpression; import org.apache.qpid.jms.selector.filter.ComparisonExpression; import org.apache.qpid.jms.selector.filter.Expression; @@ -30,6 +28,8 @@ import org.apache.qpid.jms.selector.filter.PropertyExpression; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import junit.framework.TestCase; + public class SelectorParserTest extends TestCase { private static final Logger LOG = LoggerFactory.getLogger(SelectorParserTest.class); @@ -339,6 +339,8 @@ public class SelectorParserTest extends TestCase { assertInvalidSelector(message, "3+5"); assertInvalidSelector(message, "True AND 3+5"); assertInvalidSelector(message, "=TEST 'test'"); + assertInvalidSelector(message, "prop1 = prop2 foo AND string = 'Test'"); + assertInvalidSelector(message, "a = 1 AMD b = 2"); } public void testHyphenatedProperty() throws Exception { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
