You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/06/14 15:08:56 UTC
qpid-jms git commit: QPIDJMS-184 Fix selector parsing for case of
invalid text following valid expression
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 <ta...@gmail.com>
Authored: Tue Jun 14 11:08:33 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org