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:30:29 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql SqlQueryStatement.java
brj 2005/12/01 13:30:29
Modified: src/java/org/apache/ojb/broker/query Tag: OJB_1_0_RELEASE
QueryByCriteria.java
src/java/org/apache/ojb/broker/accesslayer/sql Tag:
OJB_1_0_RELEASE SqlQueryStatement.java
Log:
-use path instead of attribute to determine if it's an outer join
-minor refactoring of pathOuterJoin
Revision Changes Path
No revision
No revision
1.26.2.1 +7 -25 db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteria.java
Index: QueryByCriteria.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/query/QueryByCriteria.java,v
retrieving revision 1.26
retrieving revision 1.26.2.1
diff -u -r1.26 -r1.26.2.1
--- QueryByCriteria.java 9 Jun 2004 20:00:44 -0000 1.26
+++ QueryByCriteria.java 1 Dec 2005 21:30:29 -0000 1.26.2.1
@@ -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 = null;
- private Map m_pathOuterJoin;
+ private Collection m_pathOuterJoins = null;
/**
* handy criteria that can be used to select all instances of
@@ -86,7 +87,7 @@
m_groupby = new ArrayList();
m_orderby = new ArrayList();
m_prefetchedRelationships = new ArrayList();
- m_pathOuterJoin = new HashMap();
+ m_pathOuterJoins = new HashSet();
}
/**
@@ -241,16 +242,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);
}
/**
@@ -260,7 +252,7 @@
*/
public void setPathOuterJoin(String aPath)
{
- getPathOuterJoinMap().put(aPath, Boolean.TRUE);
+ getOuterJoinPaths().add(aPath);
}
/* (non-Javadoc)
@@ -505,22 +497,12 @@
}
/**
- * 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;
- }
-
- /**
* Get a Collection containing all Paths having an Outer-Joins-Setting
* @return a Collection containing the Paths
*/
public Collection getOuterJoinPaths()
{
- return getPathOuterJoinMap().keySet();
+ return m_pathOuterJoins;
}
public String getObjectProjectionAttribute()
No revision
No revision
1.75.2.18 +2 -2 db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java
Index: SqlQueryStatement.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/accesslayer/sql/SqlQueryStatement.java,v
retrieving revision 1.75.2.17
retrieving revision 1.75.2.18
diff -u -r1.75.2.17 -r1.75.2.18
--- SqlQueryStatement.java 19 Nov 2005 08:46:33 -0000 1.75.2.17
+++ SqlQueryStatement.java 1 Dec 2005 21:30:29 -0000 1.75.2.18
@@ -1072,7 +1072,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