You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2007/06/04 13:41:58 UTC
svn commit: r544126 - in
/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql:
EJBQLCompiledExpression.java parser/CompiledExpression.java
parser/Compiler.java
Author: aadamchik
Date: Mon Jun 4 04:41:57 2007
New Revision: 544126
URL: http://svn.apache.org/viewvc?view=rev&rev=544126
Log:
trying a different strategy with implicit joins - removed them from compiled expression
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/EJBQLCompiledExpression.java
cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/CompiledExpression.java
cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/EJBQLCompiledExpression.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/EJBQLCompiledExpression.java?view=diff&rev=544126&r1=544125&r2=544126
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/EJBQLCompiledExpression.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/EJBQLCompiledExpression.java Mon Jun 4 04:41:57 2007
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.cayenne.ejbql;
-import java.util.Collection;
-
import org.apache.cayenne.map.ObjRelationship;
import org.apache.cayenne.reflect.ClassDescriptor;
@@ -35,15 +33,6 @@
* Returns a tree representation of an EJBQL expression.
*/
EJBQLExpression getExpression();
-
- /**
- * Returns a collection of EJBQLExpressions, each representing an implicit join in the
- * query. The most common example of implicit joins are joins introduced by
- * relationships in the WHERE clause. Some implicit joins may also have matching
- * explicit joins in the same query. Such joins are not included in the returned
- * collection.
- */
- Collection getImplicitJoins();
/**
* Returns a descriptor of the root of this expression such as entity being fetched or
Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/CompiledExpression.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/CompiledExpression.java?view=diff&rev=544126&r1=544125&r2=544126
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/CompiledExpression.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/CompiledExpression.java Mon Jun 4 04:41:57 2007
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.cayenne.ejbql.parser;
-import java.util.Collection;
-import java.util.Collections;
import java.util.Map;
import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
@@ -40,11 +38,6 @@
private Map descriptorsById;
private Map incomingById;
private EJBQLExpression expression;
- private Collection implicitJoins;
-
- public Collection getImplicitJoins() {
- return implicitJoins != null ? implicitJoins : Collections.EMPTY_SET;
- }
public ClassDescriptor getEntityDescriptor(String idVariable) {
if (idVariable == null) {
@@ -91,9 +84,5 @@
void setRootId(String rootId) {
this.rootId = rootId;
- }
-
- void setImplicitJoins(Collection implicitJoins) {
- this.implicitJoins = implicitJoins;
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java?view=diff&rev=544126&r1=544125&r2=544126
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.4-unpublished/src/main/java/org/apache/cayenne/ejbql/parser/Compiler.java Mon Jun 4 04:41:57 2007
@@ -18,12 +18,11 @@
****************************************************************/
package org.apache.cayenne.ejbql.parser;
-import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.apache.cayenne.ejbql.EJBQLBaseVisitor;
+import org.apache.cayenne.ejbql.EJBQLCompiledExpression;
import org.apache.cayenne.ejbql.EJBQLDelegatingVisitor;
import org.apache.cayenne.ejbql.EJBQLException;
import org.apache.cayenne.ejbql.EJBQLExpression;
@@ -35,7 +34,7 @@
import org.apache.cayenne.reflect.Property;
/**
- * A visitor that compiles an EJBQL expression.
+ * Produces an {@link EJBQLCompiledExpression} out of an EJBQL expression tree.
*
* @since 3.0
* @author Andrus Adamchik
@@ -46,7 +45,6 @@
private EntityResolver resolver;
private Map descriptorsById;
private Map incomingById;
- private Collection implicitJoins;
private EJBQLExpressionVisitor fromItemVisitor;
private EJBQLExpressionVisitor joinVisitor;
private EJBQLExpressionVisitor whereClauseVisitor;
@@ -56,8 +54,7 @@
this.resolver = resolver;
this.descriptorsById = new HashMap();
this.incomingById = new HashMap();
- this.implicitJoins = new ArrayList(2);
-
+
this.rootDescriptorVisitor = new SelectExpressionVisitor();
this.fromItemVisitor = new FromItemVisitor();
this.joinVisitor = new JoinVisitor();
@@ -73,7 +70,6 @@
compiled.setRootId(rootId);
compiled.setDescriptorsById(descriptorsById);
- compiled.setImplicitJoins(implicitJoins);
compiled.setIncomingById(incomingById);
return compiled;