You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2010/09/29 19:03:41 UTC

svn commit: r1002737 - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-server: chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/ chemistry-opencmis-server-support/src/main/java/org/apache/chemistry...

Author: fguillaume
Date: Wed Sep 29 17:03:41 2010
New Revision: 1002737

URL: http://svn.apache.org/viewvc?rev=1002737&view=rev
Log:
Rename ClauseWalker to PredicateWalker

Added:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java   (contents, props changed)
      - copied, changed from r1002590, incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractClauseWalker.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java   (contents, props changed)
      - copied, changed from r1002590, incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ClauseWalker.java
Removed:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractClauseWalker.java
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ClauseWalker.java
Modified:
    incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java?rev=1002737&r1=1002736&r2=1002737&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/query/InMemoryQueryProcessor.java Wed Sep 29 17:03:41 2010
@@ -55,7 +55,7 @@ import org.apache.chemistry.opencmis.inm
 import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
 import org.apache.chemistry.opencmis.server.support.TypeManager;
 import org.apache.chemistry.opencmis.server.support.query.AbstractQueryConditionProcessor;
-import org.apache.chemistry.opencmis.server.support.query.AbstractClauseWalker;
+import org.apache.chemistry.opencmis.server.support.query.AbstractPredicateWalker;
 import org.apache.chemistry.opencmis.server.support.query.CalendarHelper;
 import org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker;
 import org.apache.chemistry.opencmis.server.support.query.CmisSelector;
@@ -269,10 +269,10 @@ public class InMemoryQueryProcessor {
      * @return true if it matches, false if it not matches
      */
     boolean evalWhereNode(StoredObject so, Tree node) {
-        return new InMemoryWhereClauseWalker(so).walkClause(node);
+        return new InMemoryWhereClauseWalker(so).walkPredicate(node);
     }
 
-    public class InMemoryWhereClauseWalker extends AbstractClauseWalker {
+    public class InMemoryWhereClauseWalker extends AbstractPredicateWalker {
 
         protected StoredObject so;
 
@@ -282,21 +282,21 @@ public class InMemoryQueryProcessor {
 
         @Override
         public boolean walkNot(Tree opNode, Tree node) {
-            boolean matches = walkClause(node);
+            boolean matches = walkPredicate(node);
             return !matches;
         }
 
         @Override
         public boolean walkAnd(Tree opNode, Tree leftNode, Tree rightNode) {
-            boolean matches1 = walkClause(leftNode);
-            boolean matches2 = walkClause(rightNode);
+            boolean matches1 = walkPredicate(leftNode);
+            boolean matches2 = walkPredicate(rightNode);
             return matches1 && matches2;
         }
 
         @Override
         public boolean walkOr(Tree opNode, Tree leftNode, Tree rightNode) {
-            boolean matches1 = walkClause(leftNode);
-            boolean matches2 = walkClause(rightNode);
+            boolean matches1 = walkPredicate(leftNode);
+            boolean matches2 = walkPredicate(rightNode);
             return matches1 || matches2;
         }
 
@@ -432,7 +432,7 @@ public class InMemoryQueryProcessor {
             TypeDefinition td = colRef.getTypeDefinition();
             PropertyDefinition<?> pd = td.getPropertyDefinitions().get(colRef.getPropertyId());
             PropertyData<?> lVal = so.getProperties().get(colRef.getPropertyId());
-            Object literal = walkValue(literalNode);
+            Object literal = walkExpr(literalNode);
             if (pd.getCardinality() != Cardinality.MULTI)
                 throw new RuntimeException("Operator = ANY only is allowed on multi-value properties ");
             else if (lVal == null)
@@ -460,7 +460,7 @@ public class InMemoryQueryProcessor {
 
         @Override
         public boolean walkLike(Tree opNode, Tree colNode, Tree stringNode) {
-            Object rVal = walkValue(stringNode);
+            Object rVal = walkExpr(stringNode);
             if (!(rVal instanceof String))
                 throw new RuntimeException("LIKE operator requires String literal on right hand side.");
 
@@ -488,18 +488,18 @@ public class InMemoryQueryProcessor {
         }
 
         @Override
-        public boolean walkContains(Tree opNode, Tree colNode, Tree queryNode) {
+        public boolean walkContains(Tree qualNode, Tree colNode, Tree queryNode) {
             throw new RuntimeException("Operator CONTAINS not supported in InMemory server.");
         }
 
         @Override
-        public boolean walkInFolder(Tree opNode, Tree colNode, Tree paramNode) {
-            if (null != colNode) {
-                getTableReference(colNode);
+        public boolean walkInFolder(Tree opNode, Tree qualNode, Tree paramNode) {
+            if (null != qualNode) {
+                getTableReference(qualNode);
                 // just for error checking we do not evaluate this, there is
                 // only one from without join support
             }
-            Object lit = walkValue(paramNode);
+            Object lit = walkExpr(paramNode);
             if (!(lit instanceof String))
                 throw new RuntimeException("Folder id in IN_FOLDER must be of type String");
             String folderId = (String) lit;
@@ -512,14 +512,13 @@ public class InMemoryQueryProcessor {
         }
 
         @Override
-        public boolean walkInTree(Tree opNode, Tree colNode, Tree paramNode) {
-            if (null != colNode) {
-                getTableReference(colNode);
+        public boolean walkInTree(Tree opNode, Tree qualNode, Tree paramNode) {
+            if (null != qualNode) {
+                getTableReference(qualNode);
                 // just for error checking we do not evaluate this, there is
-                // only
-                // one from without join support
+                // only one from without join support
             }
-            Object lit = walkValue(paramNode);
+            Object lit = walkExpr(paramNode);
             if (!(lit instanceof String))
                 throw new RuntimeException("Folder id in IN_FOLDER must be of type String");
             String folderId = (String) lit;
@@ -531,48 +530,8 @@ public class InMemoryQueryProcessor {
                 return false;
         }
 
-        @Override
-        public Object walkBoolean(Tree node) {
-            String s = node.getText();
-            return Boolean.valueOf(s);
-        }
-
-        @Override
-        public Object walkNumber(Tree node) {
-            String s = node.getText();
-            if (s.contains(".") || s.contains("e") || s.contains("E")) {
-                return Double.valueOf(s);
-            } else {
-                return Long.valueOf(s);
-            }
-        }
-
-        @Override
-        public Object walkString(Tree node) {
-            String s = node.getText();
-            s = s.substring(1, s.length() - 1);
-            s = s.replace("''", "'"); // unescape quotes
-            return s;
-        }
-
-        @Override
-        public Object walkTimestamp(Tree node) {
-            String s = node.getText();
-            s = s.substring(s.indexOf('\'') + 1, s.length() - 1);
-            return CalendarHelper.fromString(s);
-        }
-
-        @Override
-        public Object walkInList(Tree node) {
-            List<Object> res = new ArrayList<Object>(node.getChildCount());
-            for (int i = 0; i < node.getChildCount(); i++) {
-                res.add(walkValue(node.getChild(i)));
-            }
-            return res;
-        }
-
         protected Integer compareTo(Tree leftChild, Tree rightChild) {
-            Object rVal = walkValue(rightChild);
+            Object rVal = walkExpr(rightChild);
 
             // log.debug("retrieve node from where: " +
             // System.identityHashCode(leftChild) + " is " + leftChild);
@@ -588,7 +547,7 @@ public class InMemoryQueryProcessor {
 
         @SuppressWarnings("unchecked")
         public List<Object> onLiteralList(Tree node) {
-            return (List<Object>) walkValue(node);
+            return (List<Object>) walkExpr(node);
         }
     }
 

Copied: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java (from r1002590, incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractClauseWalker.java)
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java?p2=incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java&p1=incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractClauseWalker.java&r1=1002590&r2=1002737&rev=1002737&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractClauseWalker.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java Wed Sep 29 17:03:41 2010
@@ -21,17 +21,20 @@
  */
 package org.apache.chemistry.opencmis.server.support.query;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.antlr.runtime.tree.Tree;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
 
 /**
- * Basic implementation walking a WHERE clause in lexical order.
+ * Basic implementation walking a predicate in lexical order.
  * <p>
  * The {@code walkXYZ} methods can be overridden to change the walking order.
  */
-public abstract class AbstractClauseWalker implements ClauseWalker {
+public abstract class AbstractPredicateWalker implements PredicateWalker {
 
-    public boolean walkClause(Tree node) {
+    public boolean walkPredicate(Tree node) {
         switch (node.getType()) {
         case CmisQlStrictLexer.NOT:
             return walkNot(node, node.getChild(0));
@@ -88,33 +91,33 @@ public abstract class AbstractClauseWalk
                 return walkInTree(node, node.getChild(0), node.getChild(1));
             }
         default:
-            return walkOtherClause(node);
+            return walkOtherPredicate(node);
         }
     }
 
     /** For extensibility. */
-    protected boolean walkOtherClause(Tree node) {
+    protected boolean walkOtherPredicate(Tree node) {
         throw new CmisRuntimeException("Unknown node type: " + node.getType() + " (" + node.getText() + ")");
     }
 
     public boolean walkNot(Tree opNode, Tree node) {
-        walkClause(node);
+        walkPredicate(node);
         return false;
     }
 
     public boolean walkAnd(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkClause(leftNode);
-        walkClause(rightNode);
+        walkPredicate(leftNode);
+        walkPredicate(rightNode);
         return false;
     }
 
     public boolean walkOr(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkClause(leftNode);
-        walkClause(rightNode);
+        walkPredicate(leftNode);
+        walkPredicate(rightNode);
         return false;
     }
 
-    public Object walkValue(Tree node) {
+    public Object walkExpr(Tree node) {
         switch (node.getType()) {
         case CmisQlStrictLexer.BOOL_LIT:
             return walkBoolean(node);
@@ -125,143 +128,162 @@ public abstract class AbstractClauseWalk
         case CmisQlStrictLexer.TIME_LIT:
             return walkTimestamp(node);
         case CmisQlStrictLexer.IN_LIST:
-            return walkInList(node);
+            return walkList(node);
         case CmisQlStrictLexer.COL:
             return walkCol(node);
         default:
-            return walkOtherValue(node);
+            return walkOtherExpr(node);
         }
     }
 
     /** For extensibility. */
-    protected Object walkOtherValue(Tree node) {
+    protected Object walkOtherExpr(Tree node) {
         throw new CmisRuntimeException("Unknown node type: " + node.getType() + " (" + node.getText() + ")");
     }
 
     public boolean walkEquals(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkNotEquals(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkGreaterThan(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkGreaterOrEquals(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkLessThan(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkLessOrEquals(Tree opNode, Tree leftNode, Tree rightNode) {
-        walkValue(leftNode);
-        walkValue(rightNode);
+        walkExpr(leftNode);
+        walkExpr(rightNode);
         return false;
     }
 
     public boolean walkIn(Tree opNode, Tree colNode, Tree listNode) {
-        walkValue(colNode);
-        walkValue(listNode);
+        walkExpr(colNode);
+        walkExpr(listNode);
         return false;
     }
 
     public boolean walkNotIn(Tree opNode, Tree colNode, Tree listNode) {
-        walkValue(colNode);
-        walkValue(listNode);
+        walkExpr(colNode);
+        walkExpr(listNode);
         return false;
     }
 
     public boolean walkInAny(Tree opNode, Tree colNode, Tree listNode) {
-        walkValue(colNode);
-        walkValue(listNode);
+        walkExpr(colNode);
+        walkExpr(listNode);
         return false;
     }
 
     public boolean walkNotInAny(Tree opNode, Tree colNode, Tree listNode) {
-        walkValue(colNode);
-        walkValue(listNode);
+        walkExpr(colNode);
+        walkExpr(listNode);
         return false;
     }
 
     public boolean walkEqAny(Tree opNode, Tree literalNode, Tree colNode) {
-        walkValue(literalNode);
-        walkValue(colNode);
+        walkExpr(literalNode);
+        walkExpr(colNode);
         return false;
     }
 
     public boolean walkIsNull(Tree opNode, Tree colNode) {
-        walkValue(colNode);
+        walkExpr(colNode);
         return false;
     }
 
     public boolean walkIsNotNull(Tree opNode, Tree colNode) {
-        walkValue(colNode);
+        walkExpr(colNode);
         return false;
     }
 
     public boolean walkLike(Tree opNode, Tree colNode, Tree stringNode) {
-        walkValue(colNode);
-        walkValue(stringNode);
+        walkExpr(colNode);
+        walkExpr(stringNode);
         return false;
     }
 
     public boolean walkNotLike(Tree opNode, Tree colNode, Tree stringNode) {
-        walkValue(colNode);
-        walkValue(stringNode);
+        walkExpr(colNode);
+        walkExpr(stringNode);
         return false;
     }
 
-    public boolean walkContains(Tree opNode, Tree colNode, Tree queryNode) {
-        walkValue(colNode);
-        walkValue(queryNode);
+    public boolean walkContains(Tree opNode, Tree qualNode, Tree queryNode) {
+        if (qualNode != null)
+            walkExpr(qualNode);
+        walkExpr(queryNode);
         return false;
     }
 
-    public boolean walkInFolder(Tree opNode, Tree colNode, Tree paramNode) {
-        walkValue(colNode);
-        walkValue(paramNode);
+    public boolean walkInFolder(Tree opNode, Tree qualNode, Tree paramNode) {
+        if (qualNode != null)
+            walkExpr(qualNode);
+        walkExpr(paramNode);
         return false;
     }
 
-    public boolean walkInTree(Tree opNode, Tree colNode, Tree paramNode) {
-        walkValue(colNode);
-        walkValue(paramNode);
+    public boolean walkInTree(Tree opNode, Tree qualNode, Tree paramNode) {
+        if (qualNode != null)
+            walkExpr(qualNode);
+        walkExpr(paramNode);
         return false;
     }
 
+    public Object walkList(Tree node) {
+        int n = node.getChildCount();
+        List<Object> res = new ArrayList<Object>(n);
+        for (int i = 0; i < n; i++) {
+            res.add(walkExpr(node.getChild(i)));
+        }
+        return res;
+    }
+
     public Object walkBoolean(Tree node) {
-        return null;
+        String s = node.getText();
+        return Boolean.valueOf(s);
     }
 
     public Object walkNumber(Tree node) {
-        return null;
+        String s = node.getText();
+        if (s.contains(".") || s.contains("e") || s.contains("E")) {
+            return Double.valueOf(s);
+        } else {
+            return Long.valueOf(s);
+        }
     }
 
     public Object walkString(Tree node) {
-        return null;
+        String s = node.getText();
+        s = s.substring(1, s.length() - 1);
+        s = s.replace("''", "'"); // unescape quotes
+        return s;
     }
 
     public Object walkTimestamp(Tree node) {
-        return null;
-    }
-
-    public Object walkInList(Tree node) {
-        return null;
+        String s = node.getText();
+        s = s.substring(s.indexOf('\'') + 1, s.length() - 1);
+        return CalendarHelper.fromString(s);
     }
 
     public Object walkCol(Tree node) {

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/AbstractPredicateWalker.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java (from r1002590, incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ClauseWalker.java)
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java?p2=incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java&p1=incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ClauseWalker.java&r1=1002590&r2=1002737&rev=1002737&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/ClauseWalker.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java Wed Sep 29 17:03:41 2010
@@ -31,9 +31,9 @@ import org.antlr.runtime.tree.Tree;
  * <p>
  * The method {@link walkClause} is the entry point.
  */
-public interface ClauseWalker {
+public interface PredicateWalker {
 
-    boolean walkClause(Tree node);
+    boolean walkPredicate(Tree node);
 
     boolean walkNot(Tree opNode, Tree leftNode);
 
@@ -41,7 +41,7 @@ public interface ClauseWalker {
 
     boolean walkOr(Tree opNode, Tree leftNode, Tree rightNode);
 
-    Object walkValue(Tree node);
+    Object walkExpr(Tree node);
 
     boolean walkEquals(Tree eqNode, Tree leftNode, Tree rightNode);
 
@@ -73,11 +73,13 @@ public interface ClauseWalker {
 
     boolean walkNotLike(Tree node, Tree colNode, Tree stringNode);
 
-    boolean walkContains(Tree node, Tree colNode, Tree paramNode);
+    boolean walkContains(Tree node, Tree qualNode, Tree paramNode);
 
-    boolean walkInFolder(Tree node, Tree colNode, Tree paramNode);
+    boolean walkInFolder(Tree node, Tree qualNode, Tree paramNode);
 
-    boolean walkInTree(Tree node, Tree colNode, Tree paramNode);
+    boolean walkInTree(Tree node, Tree qualNode, Tree paramNode);
+
+    Object walkList(Tree node);
 
     Object walkBoolean(Tree node);
 
@@ -87,8 +89,6 @@ public interface ClauseWalker {
 
     Object walkTimestamp(Tree node);
 
-    Object walkInList(Tree node);
-
     Object walkCol(Tree node);
 
 }

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/query/PredicateWalker.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain