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/07/29 19:13:30 UTC

svn commit: r980513 [8/15] - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-server: chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/dummy/ chemistry-opencmis-server-bindings/src/main/java/org/apache...

Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java?rev=980513&r1=980512&r2=980513&view=diff
==============================================================================
--- incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java (original)
+++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java Thu Jul 29 17:13:28 2010
@@ -1,203 +1,203 @@
-/*
- * 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.chemistry.opencmis.inmemory.query;
-
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.antlr.runtime.ANTLRInputStream;
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.CommonTokenStream;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.TokenSource;
-import org.antlr.runtime.TokenStream;
-import org.antlr.runtime.tree.CommonTree;
-import org.antlr.runtime.tree.CommonTreeNodeStream;
-import org.antlr.runtime.tree.Tree;
-import org.apache.chemistry.opencmis.commons.definitions.PropertyBooleanDefinition;
-import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
-import org.apache.chemistry.opencmis.commons.definitions.PropertyStringDefinition;
-import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
-import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
-import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl;
-import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl;
-import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition;
-import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
-import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictLexer;
-import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictParser;
-import org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker;
-import org.apache.chemistry.opencmis.server.support.query.QueryObject;
-import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictParser_CmisBaseGrammar.query_return;
-
-public abstract class AbstractQueryTest {
-
-    protected CommonTree parserTree; // the ANTLR tree after parsing phase
-    protected CommonTree walkerTree; // the ANTLR tree after walking phase
-    protected QueryObject queryObj;
-    protected TypeDefinition myType, myTypeCopy, bookType;
-
-    protected static final String MY_DOC_TYPE = "MyDocType";
-    protected static final String MY_DOC_TYPE_COPY = "MyDocTypeCopy";
-    protected static final String BOOL_PROP = "MyBooleanProp";
-    protected static final String STRING_PROP = "MyStringProp";
-    protected static final String INT_PROP = "MyIntegerProp";
-
-    protected static final String BOOK_TYPE = "BookType";
-    protected static final String TITLE_PROP = "Title";
-    protected static final String AUTHOR_PROP = "Author";
-    protected static final String ISBN_PROP = "ISBN";
-    protected static final String PUB_DATE_PROP = "PublishingDate";
-    
-    protected void setUp(QueryObject qo) throws Exception {
-            queryObj = qo;
-    }
-
-    protected void tearDown() throws Exception {
-    }
-
-    protected CmisQueryWalker getWalker(String statement) throws UnsupportedEncodingException, IOException, RecognitionException {
-        CharStream input = new ANTLRInputStream(new ByteArrayInputStream(statement.getBytes("UTF-8")));
-        TokenSource lexer = new CmisQlStrictLexer(input);
-        TokenStream tokens = new CommonTokenStream(lexer);
-        CmisQlStrictParser parser = new CmisQlStrictParser(tokens);
-
-        query_return parsedStatement = parser.query();
-//        if (parser.errorMessage != null) {
-//            throw new RuntimeException("Cannot parse query: " + statement + " (" + parser.errorMessage + ")");
-//        }
-        parserTree = (CommonTree) parsedStatement.getTree();            
-        // printTree(tree);
-
-        CommonTreeNodeStream nodes = new CommonTreeNodeStream(parserTree);
-        nodes.setTokenStream(tokens);
-        CmisQueryWalker walker = new CmisQueryWalker(nodes);
-        return walker;
-    }
-
-    protected CmisQueryWalker traverseStatement(String statement) throws UnsupportedEncodingException, IOException, RecognitionException {
-        CmisQueryWalker walker = getWalker(statement);
-        walker.query(queryObj);
-        String errMsg = walker.getErrorMessageString();
-        if (null != errMsg) {
-            fail("Walking of statement failed with error: \n   " + errMsg + 
-                    "\n   Statement was: " + statement);
-        }
-        walkerTree = (CommonTree) walker.getTreeNodeStream().getTreeSource();
-        return walker;
-    }
-
-    protected CmisQueryWalker traverseStatementAndCatchExc(String statement) {
-        try {
-            return traverseStatement(statement);
-        } catch (RecognitionException e) {
-            fail("Walking of statement failed with RecognitionException error: \n   " + e); 
-            return null;
-        } catch (Exception e) {
-            fail("Walking of statement failed with other exception: \n   " + e); 
-            return null;
-        }
-    }
-    
-    protected Tree getWhereTree(Tree root) {
-        int count = root.getChildCount();
-        for (int i=0; i<count; i++) {
-            Tree child = root.getChild(i);
-            if (child.getType() == CmisQlStrictLexer.WHERE) {
-                return child;
-            }
-        }
-        return null;
-    }
-
-    // Helper to create some types for testing
-
-    protected  List<TypeDefinition> createTypes() {
-
-        List<TypeDefinition> typeDefs = new ArrayList<TypeDefinition>();
-        
-        // First test type
-        InMemoryDocumentTypeDefinition cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE,
-                "Document Type for Validation", InMemoryDocumentTypeDefinition.getRootDocumentType());
-
-        Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>();
-
-        PropertyBooleanDefinition prop1 = PropertyCreationHelper.createBooleanDefinition(BOOL_PROP,
-        "Sample Boolean Property");
-        ((PropertyBooleanDefinitionImpl) prop1).setIsRequired(true);
-        propertyDefinitions.put(prop1.getId(), prop1);
-
-        PropertyStringDefinition prop2 = PropertyCreationHelper.createStringDefinition(STRING_PROP,
-        "Sample String Property");
-        propertyDefinitions.put(prop2.getId(), prop2);
-
-        PropertyIntegerDefinitionImpl prop3 = PropertyCreationHelper.createIntegerDefinition(INT_PROP,
-        "Sample Integer Property");
-        propertyDefinitions.put(prop2.getId(), prop2);
-
-        cmisType.setPropertyDefinitions(propertyDefinitions);
-
-        typeDefs.add(cmisType);
-        myType = cmisType;
-        
-        // add another type definition with exactly the same properties
-        cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE_COPY,
-                "Document Type Duplicated", InMemoryDocumentTypeDefinition.getRootDocumentType());
-        cmisType.setPropertyDefinitions(propertyDefinitions); // add same properties
-        typeDefs.add(cmisType);
-        myTypeCopy = cmisType;
-
-
-        // Second test type
-
-        cmisType = new InMemoryDocumentTypeDefinition(BOOK_TYPE,
-                "Book Document Type", InMemoryDocumentTypeDefinition.getRootDocumentType());
-
-        propertyDefinitions = new HashMap<String, PropertyDefinition<?>>();
-
-        prop2 = PropertyCreationHelper.createStringDefinition(TITLE_PROP, "Title of Book");
-        propertyDefinitions.put(prop2.getId(), prop2);
-
-        prop2 = PropertyCreationHelper.createStringDefinition(AUTHOR_PROP, "Author of Book");
-        propertyDefinitions.put(prop2.getId(), prop2);
-
-        prop3 = PropertyCreationHelper.createIntegerDefinition(ISBN_PROP,
-        "ISBN of Book");
-        propertyDefinitions.put(prop3.getId(), prop3);
-
-        PropertyDateTimeDefinitionImpl prop4 = PropertyCreationHelper.createDateTimeDefinition(PUB_DATE_PROP,
-        "Publishing Date of Book");
-        propertyDefinitions.put(prop4.getId(), prop4);
-
-        cmisType.setPropertyDefinitions(propertyDefinitions);
-        
-        typeDefs.add(cmisType);
-        bookType = cmisType;
-        
-        return typeDefs;
-    }
-
-
-}
+/*
+ * 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.chemistry.opencmis.inmemory.query;
+
+import static org.junit.Assert.fail;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.antlr.runtime.ANTLRInputStream;
+import org.antlr.runtime.CharStream;
+import org.antlr.runtime.CommonTokenStream;
+import org.antlr.runtime.RecognitionException;
+import org.antlr.runtime.TokenSource;
+import org.antlr.runtime.TokenStream;
+import org.antlr.runtime.tree.CommonTree;
+import org.antlr.runtime.tree.CommonTreeNodeStream;
+import org.antlr.runtime.tree.Tree;
+import org.apache.chemistry.opencmis.commons.definitions.PropertyBooleanDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.PropertyStringDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl;
+import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl;
+import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition;
+import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
+import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictLexer;
+import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictParser;
+import org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker;
+import org.apache.chemistry.opencmis.server.support.query.QueryObject;
+import org.apache.chemistry.opencmis.server.support.query.CmisQlStrictParser_CmisBaseGrammar.query_return;
+
+public abstract class AbstractQueryTest {
+
+    protected CommonTree parserTree; // the ANTLR tree after parsing phase
+    protected CommonTree walkerTree; // the ANTLR tree after walking phase
+    protected QueryObject queryObj;
+    protected TypeDefinition myType, myTypeCopy, bookType;
+
+    protected static final String MY_DOC_TYPE = "MyDocType";
+    protected static final String MY_DOC_TYPE_COPY = "MyDocTypeCopy";
+    protected static final String BOOL_PROP = "MyBooleanProp";
+    protected static final String STRING_PROP = "MyStringProp";
+    protected static final String INT_PROP = "MyIntegerProp";
+
+    protected static final String BOOK_TYPE = "BookType";
+    protected static final String TITLE_PROP = "Title";
+    protected static final String AUTHOR_PROP = "Author";
+    protected static final String ISBN_PROP = "ISBN";
+    protected static final String PUB_DATE_PROP = "PublishingDate";
+    
+    protected void setUp(QueryObject qo) throws Exception {
+            queryObj = qo;
+    }
+
+    protected void tearDown() throws Exception {
+    }
+
+    protected CmisQueryWalker getWalker(String statement) throws UnsupportedEncodingException, IOException, RecognitionException {
+        CharStream input = new ANTLRInputStream(new ByteArrayInputStream(statement.getBytes("UTF-8")));
+        TokenSource lexer = new CmisQlStrictLexer(input);
+        TokenStream tokens = new CommonTokenStream(lexer);
+        CmisQlStrictParser parser = new CmisQlStrictParser(tokens);
+
+        query_return parsedStatement = parser.query();
+//        if (parser.errorMessage != null) {
+//            throw new RuntimeException("Cannot parse query: " + statement + " (" + parser.errorMessage + ")");
+//        }
+        parserTree = (CommonTree) parsedStatement.getTree();            
+        // printTree(tree);
+
+        CommonTreeNodeStream nodes = new CommonTreeNodeStream(parserTree);
+        nodes.setTokenStream(tokens);
+        CmisQueryWalker walker = new CmisQueryWalker(nodes);
+        return walker;
+    }
+
+    protected CmisQueryWalker traverseStatement(String statement) throws UnsupportedEncodingException, IOException, RecognitionException {
+        CmisQueryWalker walker = getWalker(statement);
+        walker.query(queryObj);
+        String errMsg = walker.getErrorMessageString();
+        if (null != errMsg) {
+            fail("Walking of statement failed with error: \n   " + errMsg + 
+                    "\n   Statement was: " + statement);
+        }
+        walkerTree = (CommonTree) walker.getTreeNodeStream().getTreeSource();
+        return walker;
+    }
+
+    protected CmisQueryWalker traverseStatementAndCatchExc(String statement) {
+        try {
+            return traverseStatement(statement);
+        } catch (RecognitionException e) {
+            fail("Walking of statement failed with RecognitionException error: \n   " + e); 
+            return null;
+        } catch (Exception e) {
+            fail("Walking of statement failed with other exception: \n   " + e); 
+            return null;
+        }
+    }
+    
+    protected Tree getWhereTree(Tree root) {
+        int count = root.getChildCount();
+        for (int i=0; i<count; i++) {
+            Tree child = root.getChild(i);
+            if (child.getType() == CmisQlStrictLexer.WHERE) {
+                return child;
+            }
+        }
+        return null;
+    }
+
+    // Helper to create some types for testing
+
+    protected  List<TypeDefinition> createTypes() {
+
+        List<TypeDefinition> typeDefs = new ArrayList<TypeDefinition>();
+        
+        // First test type
+        InMemoryDocumentTypeDefinition cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE,
+                "Document Type for Validation", InMemoryDocumentTypeDefinition.getRootDocumentType());
+
+        Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>();
+
+        PropertyBooleanDefinition prop1 = PropertyCreationHelper.createBooleanDefinition(BOOL_PROP,
+        "Sample Boolean Property");
+        ((PropertyBooleanDefinitionImpl) prop1).setIsRequired(true);
+        propertyDefinitions.put(prop1.getId(), prop1);
+
+        PropertyStringDefinition prop2 = PropertyCreationHelper.createStringDefinition(STRING_PROP,
+        "Sample String Property");
+        propertyDefinitions.put(prop2.getId(), prop2);
+
+        PropertyIntegerDefinitionImpl prop3 = PropertyCreationHelper.createIntegerDefinition(INT_PROP,
+        "Sample Integer Property");
+        propertyDefinitions.put(prop2.getId(), prop2);
+
+        cmisType.setPropertyDefinitions(propertyDefinitions);
+
+        typeDefs.add(cmisType);
+        myType = cmisType;
+        
+        // add another type definition with exactly the same properties
+        cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE_COPY,
+                "Document Type Duplicated", InMemoryDocumentTypeDefinition.getRootDocumentType());
+        cmisType.setPropertyDefinitions(propertyDefinitions); // add same properties
+        typeDefs.add(cmisType);
+        myTypeCopy = cmisType;
+
+
+        // Second test type
+
+        cmisType = new InMemoryDocumentTypeDefinition(BOOK_TYPE,
+                "Book Document Type", InMemoryDocumentTypeDefinition.getRootDocumentType());
+
+        propertyDefinitions = new HashMap<String, PropertyDefinition<?>>();
+
+        prop2 = PropertyCreationHelper.createStringDefinition(TITLE_PROP, "Title of Book");
+        propertyDefinitions.put(prop2.getId(), prop2);
+
+        prop2 = PropertyCreationHelper.createStringDefinition(AUTHOR_PROP, "Author of Book");
+        propertyDefinitions.put(prop2.getId(), prop2);
+
+        prop3 = PropertyCreationHelper.createIntegerDefinition(ISBN_PROP,
+        "ISBN of Book");
+        propertyDefinitions.put(prop3.getId(), prop3);
+
+        PropertyDateTimeDefinitionImpl prop4 = PropertyCreationHelper.createDateTimeDefinition(PUB_DATE_PROP,
+        "Publishing Date of Book");
+        propertyDefinitions.put(prop4.getId(), prop4);
+
+        cmisType.setPropertyDefinitions(propertyDefinitions);
+        
+        typeDefs.add(cmisType);
+        bookType = cmisType;
+        
+        return typeDefs;
+    }
+
+
+}

Propchange: incubator/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native