You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2009/11/13 05:55:56 UTC

svn commit: r835741 - in /ofbiz/trunk/framework/entity: build.xml src/org/ofbiz/entity/sql/Parser.jj src/org/ofbiz/entity/sql/Parser.jjt src/org/ofbiz/entity/sql/SQLSelect.java src/org/ofbiz/entity/sql/SQLUtil.java

Author: doogie
Date: Fri Nov 13 04:55:55 2009
New Revision: 835741

URL: http://svn.apache.org/viewvc?rev=835741&view=rev
Log:
No longer use jjtree to implement parsing.  As a consequence of this,
SQLSelect no longer depended on Parser, so javac wouldn't compile the
generated code.  SQLUtil was added to deal with this(this class will
get more helpers later).

Added:
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jj
      - copied, changed from r835737, ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jjt
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLUtil.java
Removed:
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jjt
Modified:
    ofbiz/trunk/framework/entity/build.xml
    ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLSelect.java

Modified: ofbiz/trunk/framework/entity/build.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/build.xml?rev=835741&r1=835740&r2=835741&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/build.xml (original)
+++ ofbiz/trunk/framework/entity/build.xml Fri Nov 13 04:55:55 2009
@@ -53,7 +53,7 @@
     <!-- ================================================================== -->
 
     <target name="gen-src">
-        <ofbiz-jjtree dir="org/ofbiz/entity/sql" file="Parser"/>
+        <ofbiz-javacc dir="org/ofbiz/entity/sql" file="Parser"/>
     </target>
 
     <target name="classes" depends="prepare,gen-src">

Copied: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jj (from r835737, ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jjt)
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jj?p2=ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jj&p1=ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jjt&r1=835737&r2=835741&rev=835741&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jjt (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/Parser.jj Fri Nov 13 04:55:55 2009
@@ -2,14 +2,14 @@
   JAVA_UNICODE_ESCAPE = false;
   ERROR_REPORTING = true;
   STATIC = false;
-  MULTI = true;
+//  MULTI = true;
   JDK_VERSION = "1.5";
-  VISITOR = true;
-  BUILD_NODE_FILES = true;
-  NODE_FACTORY = false;
-  NODE_USES_PARSER = true;
+//  VISITOR = true;
+//  BUILD_NODE_FILES = true;
+//  NODE_FACTORY = false;
+//  NODE_USES_PARSER = true;
 //  NODE_SCOPE_HOOK = true;
-  NODE_PREFIX = "SQL";
+//  NODE_PREFIX = "SQL";
 //  DEBUG_PARSER = true;
 //  DEBUG_LOOKAHEAD = true;
 //  DEBUG_TOKEN_MANAGER = true;
@@ -148,21 +148,22 @@
 	EntityCondition condition;
 	int i;
 	DynamicViewEntity dve = new DynamicViewEntity();
-	jjtThis.setDynamicViewEntity(dve);
+	SQLSelect sqlSelect = new SQLSelect();
+	sqlSelect.setDynamicViewEntity(dve);
 	List<String> fieldList;
 	List<String> orderBy;
 }
 {
 	<SELECT> FieldDefs(dve)
 	<FROM> Table(dve)
-	( <WHERE> condition=ConditionExpression() { jjtThis.setWhereCondition(condition); } )?
-	( <HAVING> condition=ConditionExpression() { jjtThis.setHavingCondition(condition); } )?
+	( <WHERE> condition=ConditionExpression() { sqlSelect.setWhereCondition(condition); } )?
+	( <HAVING> condition=ConditionExpression() { sqlSelect.setHavingCondition(condition); } )?
 	( <GROUP> <BY> fieldList=FieldList() { dve.setGroupBy(fieldList); } )?
-	( <ORDER> <BY> orderBy=OrderByList() { jjtThis.setOrderBy(orderBy); } )?
-	( <OFFSET> i=Integer() { jjtThis.setOffset(i); } )?
-	( <LIMIT> i=Integer() { jjtThis.setLimit(i); } )?
+	( <ORDER> <BY> orderBy=OrderByList() { sqlSelect.setOrderBy(orderBy); } )?
+	( <OFFSET> i=Integer() { sqlSelect.setOffset(i); } )?
+	( <LIMIT> i=Integer() { sqlSelect.setLimit(i); } )?
 	<SEMI>
-	{ return jjtThis; }
+	{ return sqlSelect; }
 }
 /*
 CSSUpdate Update():
@@ -185,7 +186,7 @@
 }
 */
 
-private void Table(DynamicViewEntity dve) #void:
+private void Table(DynamicViewEntity dve):
 {
 	String leftAlias, rightAlias;
 	Boolean relOptional;
@@ -204,7 +205,7 @@
 
 }
 
-private List<ModelKeyMap> KeyMaps(String leftAlias, String rightAlias) #void:
+private List<ModelKeyMap> KeyMaps(String leftAlias, String rightAlias):
 {
 	List<ModelKeyMap> keyMaps = FastList.newInstance();
 	ModelKeyMap keyMap;
@@ -215,7 +216,7 @@
 	{ return keyMaps; }
 }
 
-private ModelKeyMap KeyMap(String leftAlias, String rightAlias) #void:
+private ModelKeyMap KeyMap(String leftAlias, String rightAlias):
 {
 	String alias1, field1;
 	String alias2, field2;
@@ -239,7 +240,7 @@
 	}
 }
 
-private String TableName(DynamicViewEntity dve) #void:
+private String TableName(DynamicViewEntity dve):
 {
 	String name, alias = null;
 }
@@ -252,27 +253,27 @@
 	}
 }
 
-private Boolean Joiner() #void:
+private Boolean Joiner():
 {}
 {
 	<LEFT> <JOIN> { return Boolean.TRUE; }
 |	<JOIN> { return Boolean.FALSE; }
 }
 
-private void FieldDefs(DynamicViewEntity dve) #void:
+private void FieldDefs(DynamicViewEntity dve):
 {}
 {
 	FieldDef(dve) ( <COMMA> FieldDef(dve) )*
 }
 
-private void FieldDef(DynamicViewEntity dve) #void:
+private void FieldDef(DynamicViewEntity dve):
 {}
 {
 	LOOKAHEAD(AllField()) AllField(dve)
 |	FieldSpec(dve)
 }
 
-private void AllField(DynamicViewEntity dve) #void:
+private void AllField(DynamicViewEntity dve):
 {
 	String n;
 }
@@ -282,13 +283,13 @@
 	{ dve.addAliasAll(n, null); }
 }
 
-private String NamePart() #void:
+private String NamePart():
 {}
 {
 	<NAME> { return getToken(0).image; }
 }
 
-private void FieldSpec(DynamicViewEntity dve) #void:
+private void FieldSpec(DynamicViewEntity dve):
 {
 	List<String> fieldUse;
 	String tableAlias, fieldName, fieldAlias = null;
@@ -305,14 +306,14 @@
 	}
 }
 
-private String DQuoted() #void:
+private String DQuoted():
 { StringBuilder sb = new StringBuilder(); }
 {
 	<START_DQUOTE> (<TEXT> { sb.append(getToken(0).image); } | <ESCAPED> { sb.append(getToken(0).image); })* <END_DQUOTE>
 	{ return sb.toString(); }
 }
 
-private String SQuoted() #void:
+private String SQuoted():
 { StringBuilder sb = new StringBuilder(); }
 {
 	<START_SQUOTE> (
@@ -323,7 +324,7 @@
 	{ return sb.toString(); }
 }
 
-private List<String> FieldList() #void:
+private List<String> FieldList():
 {
 	List<String> list = FastList.newInstance();
 	String n;
@@ -334,7 +335,7 @@
 	{ return list; }
 }
 
-private EntityConditionValue FieldUse() #void:
+private EntityConditionValue FieldUse():
 {
 	String tableAlias = null, fieldName, s;
 }
@@ -344,7 +345,7 @@
 	{ return EntityFieldValue.makeFieldValue(fieldName, tableAlias, null, null); }
 }
 
-private List<String> OrderByList() #void:
+private List<String> OrderByList():
 {
 	List<String> orderBy = FastList.newInstance();
 	String obi;
@@ -355,7 +356,7 @@
 	{ return orderBy; }
 }
 
-private String OrderByItem() #void:
+private String OrderByItem():
 {
 	StringBuilder sb = new StringBuilder();
 	String n;
@@ -369,7 +370,7 @@
 	{ return sb.toString(); }
 }
 
-private Integer Integer() #void:
+private Integer Integer():
 {}
 {
 	<INTEGER> {
@@ -384,7 +385,7 @@
 	}
 }
 
-private Object Expression() #void:
+private Object Expression():
 {
 	EntityConditionValue ecv;
 	String s;
@@ -396,13 +397,13 @@
 |	s=SQuoted() { return s; }
 }
 
-private EntityCondition ConditionExpression() #void:
+private EntityCondition ConditionExpression():
 { EntityCondition ec; }
 {
 	ec=AndExpression() { return ec; }
 }
 
-private EntityCondition AndExpression() #void:
+private EntityCondition AndExpression():
 {
 	List<EntityCondition> list = FastList.newInstance();
 	EntityCondition ec;
@@ -416,7 +417,7 @@
 	}
 }
 
-private EntityCondition OrExpression() #void:
+private EntityCondition OrExpression():
 {
 	List<EntityCondition> list = FastList.newInstance();
 	EntityCondition ec;
@@ -430,7 +431,7 @@
 	}
 }
 
-private EntityCondition BooleanExpression() #void:
+private EntityCondition BooleanExpression():
 {
 	Object v1, v2;
 	EntityComparisonOperator op;
@@ -440,7 +441,7 @@
 	{ return EntityCondition.makeCondition(v1, op, v2); }
 }
 
-private EntityComparisonOperator ComparisonOperator() #void:
+private EntityComparisonOperator ComparisonOperator():
 {}
 {
 	( <TEXT> )+ { return EntityOperator.lookupComparison(getToken(0).image); }

Modified: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLSelect.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLSelect.java?rev=835741&r1=835740&r2=835741&view=diff
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLSelect.java (original)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLSelect.java Fri Nov 13 04:55:55 2009
@@ -31,7 +31,7 @@
 import org.ofbiz.entity.model.ModelKeyMap;
 import org.ofbiz.entity.util.EntityListIterator;
 
-public class SQLSelect extends SimpleNode {
+public class SQLSelect {
     private DynamicViewEntity dve;
     private EntityCondition whereCondition;
     private EntityCondition havingCondition;
@@ -39,20 +39,6 @@
     private int limit = -1;
     private List<String> orderBy;
 
-    public SQLSelect(int id) {
-        super(id);
-    }
-
-    public SQLSelect(Parser p, int id) {
-        super(p, id);
-    }
-
-
-    /** Accept the visitor. **/
-    public Object jjtAccept(ParserVisitor visitor, Object data) {
-        return visitor.visit(this, data);
-    }
-
     public EntityListIterator getEntityListIterator(Delegator delegator) throws GenericEntityException {
         return delegator.findListIteratorByCondition(dve, whereCondition, havingCondition, null, orderBy, null);
     }

Added: ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLUtil.java?rev=835741&view=auto
==============================================================================
--- ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLUtil.java (added)
+++ ofbiz/trunk/framework/entity/src/org/ofbiz/entity/sql/SQLUtil.java Fri Nov 13 04:55:55 2009
@@ -0,0 +1,27 @@
+/*
+ * 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.ofbiz.entity.sql;
+
+import java.io.StringReader;
+
+public class SQLUtil {
+    public static SQLSelect parseSelect(String sql) throws ParseException {
+       return new Parser(new StringReader(sql)).Select();
+    }
+}