You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2005/12/01 22:32:21 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql TableAliasHandler.java
brj 2005/12/01 13:32:21
Modified: src/java/org/apache/ojb/broker/query
QueryByCriteriaImpl.java
src/java/org/apache/ojb/broker/accesslayer/sql
TableAliasHandler.java
Log:
-use path instead of attribute to determine if it's an outer join
-minor refactoring of pathOuterJoin
Revision Changes Path
1.2 +7 -25 db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteriaImpl.java
Index: QueryByCriteriaImpl.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteriaImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- QueryByCriteriaImpl.java 1 Apr 2005 20:28:08 -0000 1.1
+++ QueryByCriteriaImpl.java 1 Dec 2005 21:32:21 -0000 1.2
@@ -18,6 +18,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -62,7 +63,7 @@
// list of names of prefetchable relationships
private List m_prefetchedRelationships = new ArrayList();
- private Map m_pathOuterJoin = new HashMap();
+ private Collection m_pathOuterJoins = new HashSet();
/**
* handy criteria that can be used to select all instances of
@@ -161,7 +162,7 @@
m_orderby = aQuery.getOrderBy();
m_objectProjectionAttribute = aQuery.getObjectProjectionAttribute();
m_pathClasses = aQuery.getPathClasses();
- m_pathOuterJoin = aQuery.getPathOuterJoinMap();
+ m_pathOuterJoins = aQuery.getOuterJoinPaths();
m_prefetchedRelationships = aQuery.getPrefetchedRelationships();
}
@@ -206,16 +207,7 @@
*/
public boolean isPathOuterJoin(String aPath)
{
- Boolean result = (Boolean)getPathOuterJoinMap().get(aPath);
-
- if (result != null)
- {
- return result.booleanValue();
- }
- else
- {
- return false;
- }
+ return getOuterJoinPaths().contains(aPath);
}
/**
@@ -223,7 +215,7 @@
*/
public void setPathOuterJoin(String aPath)
{
- getPathOuterJoinMap().put(aPath, Boolean.TRUE);
+ getOuterJoinPaths().add(aPath);
}
/* (non-Javadoc)
@@ -491,21 +483,11 @@
}
/**
- * Get a Map containing hints about the Outer-Join-Setting
- * of a Path, key is the Path value a Boolean
- * @return a Map containing Outer-Join-Settings for the Paths.
- */
- protected Map getPathOuterJoinMap()
- {
- return m_pathOuterJoin;
- }
-
- /**
* @see org.apache.ojb.broker.query.QueryByCriteria#getOuterJoinPaths()
*/
public Collection getOuterJoinPaths()
{
- return getPathOuterJoinMap().keySet();
+ return m_pathOuterJoins;
}
/**
1.16 +2 -2 db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/TableAliasHandler.java
Index: TableAliasHandler.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/TableAliasHandler.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- TableAliasHandler.java 14 Nov 2005 17:45:54 -0000 1.15
+++ TableAliasHandler.java 1 Dec 2005 21:32:21 -0000 1.16
@@ -422,7 +422,7 @@
}
// look for outer join hint
- outer = outer || getQuery().isPathOuterJoin(attr);
+ outer = outer || getQuery().isPathOuterJoin(attrPath);
// look for 1:n or m:n
if (ord instanceof CollectionDescriptor)
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org