jmcnally 02/05/17 10:04:19
Modified: src/java/org/apache/torque/adapter DB.java DBPostgres.java
src/java/org/apache/torque/util SqlExpression.java
src/test/org/apache/torque/util CriteriaTest.java
Log:
added a DB adapter method to give a valid boolean value, used it in SqlExpression,
and added tests for the couple variations.
Revision Changes Path
1.24 +11 -1
jakarta-turbine-torque/src/java/org/apache/torque/adapter/DB.java
Index: DB.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/adapter/DB.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- DB.java 18 Mar 2002 19:27:49 -0000 1.23
+++ DB.java 17 May 2002 17:04:19 -0000 1.24
@@ -90,7 +90,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Jon S. Stevens</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Brett McLaughlin</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
- * @version $Id: DB.java,v 1.23 2002/03/18 19:27:49 dlr Exp $
+ * @version $Id: DB.java,v 1.24 2002/05/17 17:04:19 jmcnally Exp $
*/
public abstract class DB implements Serializable, IDMethod
{
@@ -417,5 +417,15 @@
}
return ("{ts '" + ts + "'}");
+ }
+
+ /**
+ * This method is used to format a boolean string.
+ *
+ * @return The proper date formatted String.
+ */
+ public String getBooleanString(Boolean b)
+ {
+ return b.equals(Boolean.TRUE) ? "1" : "0";
}
}
1.8 +6 -1
jakarta-turbine-torque/src/java/org/apache/torque/adapter/DBPostgres.java
Index: DBPostgres.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/adapter/DBPostgres.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- DBPostgres.java 12 Apr 2002 05:58:32 -0000 1.7
+++ DBPostgres.java 17 May 2002 17:04:19 -0000 1.8
@@ -63,7 +63,7 @@
* <a href="http://www.pgsql.org">http://www.pgsql.org</a>
*
* @author <a href="mailto:[EMAIL PROTECTED]">Hakan Tandogan</a>
- * @version $Id: DBPostgres.java,v 1.7 2002/04/12 05:58:32 mpoeschl Exp $
+ * @version $Id: DBPostgres.java,v 1.8 2002/05/17 17:04:19 jmcnally Exp $
*/
public class DBPostgres extends DB
{
@@ -185,5 +185,10 @@
public int getLimitStyle()
{
return DB.LIMIT_STYLE_POSTGRES;
+ }
+
+ public String getBooleanString(Boolean b)
+ {
+ return (b == null) ? "false" : b.toString();
}
}
1.16 +2 -2
jakarta-turbine-torque/src/java/org/apache/torque/util/SqlExpression.java
Index: SqlExpression.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/util/SqlExpression.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- SqlExpression.java 29 Apr 2002 19:47:47 -0000 1.15
+++ SqlExpression.java 17 May 2002 17:04:19 -0000 1.16
@@ -78,7 +78,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">John D. McNally</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Fedor Karpelevitch</a>
- * @version $Id: SqlExpression.java,v 1.15 2002/04/29 19:47:47 jon Exp $
+ * @version $Id: SqlExpression.java,v 1.16 2002/05/17 17:04:19 jmcnally Exp $
*/
public class SqlExpression
{
@@ -288,7 +288,7 @@
}
else if( criteria instanceof Boolean )
{
- criteria = criteria.equals(Boolean.TRUE) ? "1" : "0";
+ criteria = db.getBooleanString((Boolean)criteria);
}
}
1.7 +46 -1
jakarta-turbine-torque/src/test/org/apache/torque/util/CriteriaTest.java
Index: CriteriaTest.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/test/org/apache/torque/util/CriteriaTest.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- CriteriaTest.java 7 May 2002 05:18:41 -0000 1.6
+++ CriteriaTest.java 17 May 2002 17:04:19 -0000 1.7
@@ -62,12 +62,16 @@
import org.apache.torque.util.BasePeer;
import org.apache.torque.util.Criteria;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.BaseConfiguration;
+import org.apache.torque.adapter.DBFactory;
+
/**
* Test class for Criteria.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Christopher Elkins</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Sam Joseph</a>
- * @version $Id: CriteriaTest.java,v 1.6 2002/05/07 05:18:41 dobbs Exp $
+ * @version $Id: CriteriaTest.java,v 1.7 2002/05/17 17:04:19 jmcnally Exp $
*/
public class CriteriaTest extends BaseTestCase
{
@@ -241,4 +245,45 @@
assertEquals(expect,result);
}
+
+ public void testBoolean()
+ {
+ Criteria c = new Criteria()
+ .add("TABLE.COLUMN", true);
+
+ String expect = "SELECT FROM TABLE WHERE TABLE.COLUMN=1";
+
+ String result = null;
+ try
+ {
+ result = BasePeer.createQueryString(c);
+ System.out.println(result);
+ }
+ catch (TorqueException e)
+ {
+ fail("TorqueException thrown in BasePeer.createQueryString()");
+ }
+
+ assertEquals(expect,result);
+
+ // test the postgresql variation
+ c = new Criteria();
+ Criteria.Criterion cc =
+ c.getNewCriterion("TABLE.COLUMN", Boolean.TRUE, Criteria.EQUAL);
+
+ Configuration conf = new BaseConfiguration();
+ conf.addProperty("driver", "org.postgresql.Driver");
+ DBFactory.init(conf);
+ try
+ {
+ cc.setDB(DBFactory.create("org.postgresql.Driver"));
+ }
+ catch (Exception e)
+ {
+ fail("Exception thrown in DBFactory");
+ }
+
+ assertEquals("TABLE.COLUMN=true", cc.toString());
+ }
}
+
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>