qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rob...@apache.org
Subject [1/2] qpid-jms git commit: remove the 'hyphenated parser' and related escape sequences, we dont use them
Date Mon, 02 Mar 2015 18:12:23 GMT
Repository: qpid-jms
Updated Branches:
  refs/heads/master 7a5b6f3a5 -> fd2139c27


remove the 'hyphenated parser' and related escape sequences, we dont use them


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/fa5f720f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/fa5f720f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/fa5f720f

Branch: refs/heads/master
Commit: fa5f720ffdf57bcad6b1e4cee2e31196c992b68c
Parents: 7a5b6f3
Author: Robert Gemmell <robbie@apache.org>
Authored: Mon Mar 2 17:19:47 2015 +0000
Committer: Robert Gemmell <robbie@apache.org>
Committed: Mon Mar 2 18:01:54 2015 +0000

----------------------------------------------------------------------
 .../qpid/jms/selector/SelectorParser.java       |  23 +-
 .../src/main/javacc/HyphenatedParser.jj         | 563 -------------------
 2 files changed, 2 insertions(+), 584 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fa5f720f/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
index c0d588d..87cfd6c 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
@@ -21,16 +21,13 @@ import java.io.StringReader;
 import org.apache.qpid.jms.selector.filter.BooleanExpression;
 import org.apache.qpid.jms.selector.filter.ComparisonExpression;
 import org.apache.qpid.jms.selector.filter.FilterException;
-import org.apache.qpid.jms.selector.hyphenated.HyphenatedParser;
 import org.apache.qpid.jms.selector.strict.StrictParser;
 
 public class SelectorParser {
 
     private static final LRUCache<Object, Object> cache = new LRUCache<Object, Object>(100);
     private static final String CONVERT_STRING_EXPRESSIONS_PREFIX = "convert_string_expressions:";
-    private static final String HYPHENATED_PROPS_PREFIX = "hyphenated_props:";
     private static final String NO_CONVERT_STRING_EXPRESSIONS_PREFIX = "no_convert_string_expressions:";
-    private static final String NO_HYPHENATED_PROPS_PREFIX = "no_hyphenated_props:";
 
     public static BooleanExpression parse(String sql) throws FilterException {
         Object result = cache.get(sql);
@@ -41,28 +38,17 @@ public class SelectorParser {
         } else {
             String actual = sql;
             boolean convertStringExpressions = false;
-            boolean hyphenatedProps = false;
             while (true) {
                 if (actual.startsWith(CONVERT_STRING_EXPRESSIONS_PREFIX)) {
                     convertStringExpressions = true;
                     actual = actual.substring(CONVERT_STRING_EXPRESSIONS_PREFIX.length());
                     continue;
                 }
-                if (actual.startsWith(HYPHENATED_PROPS_PREFIX)) {
-                    hyphenatedProps = true;
-                    actual = actual.substring(HYPHENATED_PROPS_PREFIX.length());
-                    continue;
-                }
                 if (actual.startsWith(NO_CONVERT_STRING_EXPRESSIONS_PREFIX)) {
                     convertStringExpressions = false;
                     actual = actual.substring(NO_CONVERT_STRING_EXPRESSIONS_PREFIX.length());
                     continue;
                 }
-                if (actual.startsWith(NO_HYPHENATED_PROPS_PREFIX)) {
-                    hyphenatedProps = false;
-                    actual = actual.substring(NO_HYPHENATED_PROPS_PREFIX.length());
-                    continue;
-                }
                 break;
             }
 
@@ -71,13 +57,8 @@ public class SelectorParser {
             }
             try {
                 BooleanExpression e = null;
-                if (hyphenatedProps) {
-                    HyphenatedParser parser = new HyphenatedParser(new StringReader(actual));
-                    e = parser.JmsSelector();
-                } else {
-                    StrictParser parser = new StrictParser(new StringReader(actual));
-                    e = parser.JmsSelector();
-                }
+                StrictParser parser = new StrictParser(new StringReader(actual));
+                e = parser.JmsSelector();
                 cache.put(sql, e);
                 return e;
             } catch (Throwable e) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fa5f720f/qpid-jms-client/src/main/javacc/HyphenatedParser.jj
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/javacc/HyphenatedParser.jj b/qpid-jms-client/src/main/javacc/HyphenatedParser.jj
deleted file mode 100755
index 5966027..0000000
--- a/qpid-jms-client/src/main/javacc/HyphenatedParser.jj
+++ /dev/null
@@ -1,563 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// ----------------------------------------------------------------------------
-// OPTIONS
-// ----------------------------------------------------------------------------
-options {
-  STATIC = false;
-  UNICODE_INPUT = true;
-  // some performance optimizations
-  ERROR_REPORTING = false;
-}
-
-// ----------------------------------------------------------------------------
-// PARSER
-// ----------------------------------------------------------------------------
-
-PARSER_BEGIN(HyphenatedParser)
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.qpid.jms.selector.hyphenated;
-
-import java.io.*;
-import java.util.*;
-
-import org.apache.qpid.jms.selector.filter.*;
-
-/**
- * JMS Selector Parser generated by JavaCC
- *
- * Do not edit this .java file directly - it is autogenerated from HyphenatedParser.jj
- */
-public class HyphenatedParser {
-    private BooleanExpression asBooleanExpression(Expression value) throws ParseException
 {
-        if (value instanceof BooleanExpression) {
-            return (BooleanExpression) value;
-        }
-        if (value instanceof PropertyExpression) {
-            return UnaryExpression.createBooleanCast( value );
-        }
-        throw new ParseException("Expression will not result in a boolean value: " + value);
-    }
-}
-
-PARSER_END(HyphenatedParser)
-
-// ----------------------------------------------------------------------------
-// Tokens
-// ----------------------------------------------------------------------------
-
-/* White Space */
-SPECIAL_TOKEN :
-{
-  " " | "\t" | "\n" | "\r" | "\f"
-}
-
-/* Comments */
-SKIP:
-{
-  <LINE_COMMENT: "--" (~["\n","\r"])* ("\n"|"\r"|"\r\n") >
-}
-
-SKIP:
-{
-  <BLOCK_COMMENT: "/*" (~["*"])* "*" ("*" | (~["*","/"] (~["*"])* "*"))* "/">
-}
-
-/* Reserved Words */
-TOKEN [IGNORE_CASE] :
-{
-    <  NOT     : "NOT">
-  | <  AND     : "AND">
-  | <  OR      : "OR">
-  | <  BETWEEN : "BETWEEN">
-  | <  LIKE    : "LIKE">
-  | <  ESCAPE  : "ESCAPE">
-  | <  IN      : "IN">
-  | <  IS      : "IS">
-  | <  TRUE    : "TRUE" >
-  | <  FALSE   : "FALSE" >
-  | <  NULL    : "NULL" >
-  | <  XPATH   : "XPATH" >
-  | <  XQUERY  : "XQUERY" >
-}
-
-/* Literals */
-TOKEN [IGNORE_CASE] :
-{
-
-    < DECIMAL_LITERAL: ["1"-"9"] (["0"-"9"])* (["l","L"])? >
-  | < HEX_LITERAL: "0" ["x","X"] (["0"-"9","a"-"f","A"-"F"])+ >
-  | < OCTAL_LITERAL: "0" (["0"-"7"])* >
-  | < FLOATING_POINT_LITERAL:
-          (["0"-"9"])+ "." (["0"-"9"])* (<EXPONENT>)? // matches: 5.5 or 5. or 5.5E10
or 5.E10
-        | "." (["0"-"9"])+ (<EXPONENT>)?              // matches: .5 or .5E10
-        | (["0"-"9"])+ <EXPONENT>                     // matches: 5E10
-    >
-  | < #EXPONENT: "E" (["+","-"])? (["0"-"9"])+ >
-  | < STRING_LITERAL: "'" ( ("''") | ~["'"] )*  "'" >
-}
-
-TOKEN [IGNORE_CASE] :
-{
-    < ID : ["a"-"z", "_", "$"] (["a"-"z","0"-"9","_", "$", "-"])* >
-}
-
-// ----------------------------------------------------------------------------
-// Grammer
-// ----------------------------------------------------------------------------
-BooleanExpression JmsSelector() :
-{
-    Expression left=null;
-}
-{
-    (
-        left = orExpression()
-    )
-    {
-        return asBooleanExpression(left);
-    }
-
-}
-
-Expression orExpression() :
-{
-    Expression left;
-    Expression right;
-}
-{
-    (
-        left = andExpression()
-        (
-            <OR> right = andExpression()
-            {
-                left = LogicExpression.createOR(asBooleanExpression(left), asBooleanExpression(right));
-            }
-        )*
-    )
-    {
-        return left;
-    }
-
-}
-
-
-Expression andExpression() :
-{
-    Expression left;
-    Expression right;
-}
-{
-    (
-        left = equalityExpression()
-        (
-            <AND> right = equalityExpression()
-            {
-                left = LogicExpression.createAND(asBooleanExpression(left), asBooleanExpression(right));
-            }
-        )*
-    )
-    {
-        return left;
-    }
-}
-
-Expression equalityExpression() :
-{
-    Expression left;
-    Expression right;
-}
-{
-    (
-        left = comparisonExpression()
-        (
-
-            "=" right = comparisonExpression()
-            {
-                left = ComparisonExpression.createEqual(left, right);
-            }
-            |
-            "<>" right = comparisonExpression()
-            {
-                left = ComparisonExpression.createNotEqual(left, right);
-            }
-            |
-            LOOKAHEAD(2)
-            <IS> <NULL>
-            {
-                left = ComparisonExpression.createIsNull(left);
-            }
-            |
-            <IS> <NOT> <NULL>
-            {
-                left = ComparisonExpression.createIsNotNull(left);
-            }
-        )*
-    )
-    {
-        return left;
-    }
-}
-
-Expression comparisonExpression() :
-{
-    Expression left;
-    Expression right;
-    Expression low;
-    Expression high;
-    String t, u;
-    boolean not;
-    ArrayList list;
-}
-{
-    (
-        left = addExpression()
-        (
-
-                ">" right = addExpression()
-                {
-                    left = ComparisonExpression.createGreaterThan(left, right);
-                }
-            |
-                ">=" right = addExpression()
-                {
-                    left = ComparisonExpression.createGreaterThanEqual(left, right);
-                }
-            |
-                "<" right = addExpression()
-                {
-                    left = ComparisonExpression.createLessThan(left, right);
-                }
-            |
-                "<=" right = addExpression()
-                {
-                    left = ComparisonExpression.createLessThanEqual(left, right);
-                }
-           |
-                {
-                    u=null;
-                }
-                <LIKE> t = stringLitteral()
-                    [ <ESCAPE> u = stringLitteral() ]
-                {
-                    left = ComparisonExpression.createLike(left, t, u);
-                }
-           |
-                LOOKAHEAD(2)
-                {
-                    u=null;
-                }
-                <NOT> <LIKE> t = stringLitteral() [ <ESCAPE> u = stringLitteral()
]
-                {
-                    left = ComparisonExpression.createNotLike(left, t, u);
-                }
-            |
-                <BETWEEN> low = addExpression() <AND> high = addExpression()
-                {
-                    left = ComparisonExpression.createBetween(left, low, high);
-                }
-            |
-                LOOKAHEAD(2)
-                <NOT> <BETWEEN> low = addExpression() <AND> high = addExpression()
-                {
-                    left = ComparisonExpression.createNotBetween(left, low, high);
-                }
-            |
-                <IN>
-                "("
-                    t = stringLitteral()
-                    {
-                        list = new ArrayList();
-                        list.add( t );
-                    }
-                    (
-                        ","
-                        t = stringLitteral()
-                        {
-                            list.add( t );
-                        }
-
-                    )*
-                ")"
-                {
-                   left = ComparisonExpression.createInFilter(left, list);
-                }
-            |
-                LOOKAHEAD(2)
-                <NOT> <IN>
-                "("
-                    t = stringLitteral()
-                    {
-                        list = new ArrayList();
-                        list.add( t );
-                    }
-                    (
-                        ","
-                        t = stringLitteral()
-                        {
-                            list.add( t );
-                        }
-
-                    )*
-                ")"
-                {
-                   left = ComparisonExpression.createNotInFilter(left, list);
-                }
-
-        )*
-    )
-    {
-        return left;
-    }
-}
-
-Expression addExpression() :
-{
-    Expression left;
-    Expression right;
-}
-{
-    left = multExpr()
-    (
-        LOOKAHEAD( ("+"|"-") multExpr())
-        (
-            "+" right = multExpr()
-            {
-                left = ArithmeticExpression.createPlus(left, right);
-            }
-            |
-            "-" right = multExpr()
-            {
-                left = ArithmeticExpression.createMinus(left, right);
-            }
-        )
-
-    )*
-    {
-        return left;
-    }
-}
-
-Expression multExpr() :
-{
-    Expression left;
-    Expression right;
-}
-{
-    left = unaryExpr()
-    (
-        "*" right = unaryExpr()
-        {
-            left = ArithmeticExpression.createMultiply(left, right);
-        }
-        |
-        "/" right = unaryExpr()
-        {
-            left = ArithmeticExpression.createDivide(left, right);
-        }
-        |
-        "%" right = unaryExpr()
-        {
-            left = ArithmeticExpression.createMod(left, right);
-        }
-
-    )*
-    {
-        return left;
-    }
-}
-
-
-Expression unaryExpr() :
-{
-    String s=null;
-    Expression left=null;
-}
-{
-    (
-        LOOKAHEAD( "+" unaryExpr() )
-        "+" left=unaryExpr()
-        |
-        "-" left=unaryExpr()
-        {
-            left = UnaryExpression.createNegate(left);
-        }
-        |
-        <NOT> left=unaryExpr()
-        {
-            left = UnaryExpression.createNOT( asBooleanExpression(left) );
-        }
-        |
-        <XPATH> s=stringLitteral()
-        {
-            left = UnaryExpression.createXPath( s );
-        }
-        |
-        <XQUERY> s=stringLitteral()
-        {
-            left = UnaryExpression.createXQuery( s );
-        }
-        |
-        left = primaryExpr()
-    )
-    {
-        return left;
-    }
-
-}
-
-Expression primaryExpr() :
-{
-    Expression left=null;
-}
-{
-    (
-        left = literal()
-        |
-        left = variable()
-        |
-        "(" left = orExpression() ")"
-    )
-    {
-        return left;
-    }
-}
-
-
-
-ConstantExpression literal() :
-{
-    Token t;
-    String s;
-    ConstantExpression left=null;
-}
-{
-    (
-        (
-            s = stringLitteral()
-            {
-                left = new ConstantExpression(s);
-            }
-        )
-        |
-        (
-            t = <DECIMAL_LITERAL>
-            {
-                left = ConstantExpression.createFromDecimal(t.image);
-            }
-        )
-        |
-        (
-            t = <HEX_LITERAL>
-            {
-                left = ConstantExpression.createFromHex(t.image);
-            }
-        )
-        |
-        (
-            t = <OCTAL_LITERAL>
-            {
-                left = ConstantExpression.createFromOctal(t.image);
-            }
-        )
-        |
-        (
-            t = <FLOATING_POINT_LITERAL>
-            {
-                left = ConstantExpression.createFloat(t.image);
-            }
-        )
-        |
-        (
-            <TRUE>
-            {
-                left = ConstantExpression.TRUE;
-            }
-        )
-        |
-        (
-            <FALSE>
-            {
-                left = ConstantExpression.FALSE;
-            }
-        )
-        |
-        (
-            <NULL>
-            {
-                left = ConstantExpression.NULL;
-            }
-        )
-    )
-    {
-        return left;
-    }
-}
-
-String stringLitteral() :
-{
-    Token t;
-    StringBuffer rc = new StringBuffer();
-    boolean first=true;
-}
-{
-    t = <STRING_LITERAL>
-    {
-        // Decode the sting value.
-        String image = t.image;
-        for( int i=1; i < image.length()-1; i++ ) {
-            char c = image.charAt(i);
-            if( c == '\'' )
-                i++;
-               rc.append(c);
-        }
-        return rc.toString();
-    }
-}
-
-PropertyExpression variable() :
-{
-    Token t;
-    PropertyExpression left=null;
-}
-{
-    (
-        t=<ID>
-        {
-            left = new PropertyExpression(t.image);
-        }
-    )
-    {
-        return left;
-    }
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message