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