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]>

Reply via email to