jmcnally 01/05/30 15:27:54
Modified: src/java/org/apache/turbine/util/db Criteria.java
src/java/org/apache/turbine/services/security/db
DBUserManager.java
Log:
patch by Eric Dobbs to keep chained Criterion when converting User constants into
table names. Modified slightly to allow joins to other tables.
Revision Changes Path
1.35 +11 -1
jakarta-turbine/src/java/org/apache/turbine/util/db/Criteria.java
Index: Criteria.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/Criteria.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- Criteria.java 2001/05/13 20:54:27 1.34
+++ Criteria.java 2001/05/30 22:27:49 1.35
@@ -94,7 +94,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Brett McLaughlin</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Eric Dobbs</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Henning P. Schmiedehausen</a>
- * @version $Id: Criteria.java,v 1.34 2001/05/13 20:54:27 jon Exp $
+ * @version $Id: Criteria.java,v 1.35 2001/05/30 22:27:49 jmcnally Exp $
*/
public class Criteria extends Hashtable
{
@@ -3248,6 +3248,16 @@
return this.column;
}
+ /**
+ * Set the table name.
+ *
+ * @param name A String with the table name.
+ */
+ public void setTable(String name)
+ {
+ this.table=name;
+ }
+
/**
* Get the table name.
*
1.6 +13 -5
jakarta-turbine/src/java/org/apache/turbine/services/security/db/DBUserManager.java
Index: DBUserManager.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine/src/java/org/apache/turbine/services/security/db/DBUserManager.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DBUserManager.java 2001/04/26 23:25:06 1.5
+++ DBUserManager.java 2001/05/30 22:27:53 1.6
@@ -87,7 +87,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Frank Y. Kim</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Craig D. Berry</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Rafal Krzewski</a>
- * @version $Id: DBUserManager.java,v 1.5 2001/04/26 23:25:06 jmcnally Exp $
+ * @version $Id: DBUserManager.java,v 1.6 2001/05/30 22:27:53 jmcnally Exp $
*/
public class DBUserManager implements UserManager
{
@@ -195,18 +195,26 @@
public User[] retrieve( Criteria criteria )
throws DataBackendException
{
- Criteria dbCriteria = new Criteria();
Iterator keys = criteria.keySet().iterator();
while(keys.hasNext())
{
String key = (String)keys.next();
- dbCriteria.add(TurbineUserPeer.getColumnName(key),
- criteria.get(key), criteria.getComparison(key));
+ // set the table name for all attached criterion
+ Criteria.Criterion[] criterion = criteria
+ .getCriterion(key).getAttachedCriterion();
+ for (int i=0;i<criterion.length;i++)
+ {
+ String table = criterion[i].getTable();
+ if ( table == null || "".equals(table) )
+ {
+ criterion[i].setTable(TurbineUserPeer.getTableName());
+ }
+ }
}
Vector users = new Vector(0);
try
{
- users = TurbineUserPeer.doSelect(dbCriteria);
+ users = TurbineUserPeer.doSelect(criteria);
}
catch(Exception e)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]