You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by Jason van Zyl <jv...@apache.org> on 2001/08/06 06:52:59 UTC

Re: cvs commit: jakarta-turbine/src/java/org/apache/turbine/util/db/adapter DB.java DBOracle.java

On 8/6/01 12:48 AM, "djpolito@apache.org" <dj...@apache.org> wrote:

> djpolito    01/08/05 21:48:27
> 
> Modified:    src/java/org/apache/turbine/util/db Tag: T_2_1_BRANCH
>                       Criteria.java SqlExpression.java
>              src/java/org/apache/turbine/util/db/adapter Tag:
                       T_2_1_BRANCH DB.java DBOracle.java

Please make sure these changes are made in the HEAD branch too.

> Log:
> Criteria.java:                Added static strings for ISNULL and ISNOTNULL;
> SqlExpression.java: Fixed a problem when ignoreCase was used with ISNULL
>                                          or ISNOTNULL.
>                                          Fixed date formating problem with
> Oracle.  A new method
>                                          was added to DB.java and
> DBOracle.java that does the
>                                          date format.
> DB.java:                        Added getDateString() method to format date
> fields.
> DBOracle.java            Added getDateString() method with proper date format.
>                                          Changed escapeText() to false.
> 
> Revision  Changes    Path
> No                   revision
> 
> 
> No                   revision
> 
> 
> 1.29.4.11 +11 -1 
> jakarta-turbine/src/java/org/apache/turbine/util/db/Attic/Criteria.java
> 
> Index: Criteria.java
> ===================================================================
> RCS file: 
> /home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/Attic/Criteria.j
> ava,v
> retrieving revision 1.29.4.10
> retrieving revision 1.29.4.11
> diff -u -r1.29.4.10 -r1.29.4.11
> --- Criteria.java    2001/07/28 01:40:21    1.29.4.10
> +++ Criteria.java    2001/08/06 04:48:27    1.29.4.11
> @@ -91,7 +91,7 @@
>   * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
>   * @author <a href="mailto:eric@dobbse.net">Eric Dobbs</a>
>   * @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
> - * @version $Id: Criteria.java,v 1.29.4.10 2001/07/28 01:40:21 mpoeschl Exp $
> + * @version $Id: Criteria.java,v 1.29.4.11 2001/08/06 04:48:27 djpolito Exp $
>   */
>  public class Criteria extends Hashtable
>  {
> @@ -178,6 +178,16 @@
>       * "Order by" qualifier - descending
>       */
>      private static final String DESC = "DESC";
> +
> +    /**
> +     * "IS NULL" null comparison
> +     */
> +    public static final String ISNULL = " IS NULL ";
> +  
> +    /**
> +     * "IS NOT NULL" null comparison
> +     */
> +    public static final String ISNOTNULL = " IS  NOT NULL ";
>  
>      private static final int DEFAULT_CAPACITY = 10;
>  
> 
> 
> 
> 1.18.4.4  +22 -8 
> jakarta-turbine/src/java/org/apache/turbine/util/db/Attic/SqlExpression.java
> 
> Index: SqlExpression.java
> ===================================================================
> RCS file: 
> /home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/Attic/SqlExpress
> ion.java,v
> retrieving revision 1.18.4.3
> retrieving revision 1.18.4.4
> diff -u -r1.18.4.3 -r1.18.4.4
> --- SqlExpression.java    2001/06/04 23:53:31    1.18.4.3
> +++ SqlExpression.java    2001/08/06 04:48:27    1.18.4.4
> @@ -79,7 +79,7 @@
>   *
>   * @author <a href="mailto:john.mcnally@clearink.com">John D. McNally</a>
>   * @author <a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a>
> - * @version $Id: SqlExpression.java,v 1.18.4.3 2001/06/04 23:53:31 jvanzyl
> Exp $
> + * @version $Id: SqlExpression.java,v 1.18.4.4 2001/08/06 04:48:27 djpolito
> Exp $
>   */
>  public class SqlExpression
>  {
> @@ -269,26 +269,29 @@
>              criteria = "null";
>              if (comparison.equals(Criteria.EQUAL))
>              {
> -                comparison = " IS ";
> +                comparison = Criteria.ISNULL;
>              }
>              else if (comparison.equals(Criteria.NOT_EQUAL))
>              {
> -                comparison = " IS NOT ";
> +                comparison = Criteria.ISNOTNULL;
>              }
>              else if (comparison.equals(Criteria.ALT_NOT_EQUAL))
>              {
> -                comparison = " IS NOT ";
> +                comparison = Criteria.ISNOTNULL;
>              }
>          }
>          else 
>          {
>             if (criteria instanceof String ||
> -               criteria instanceof java.util.Date ||
> -               criteria instanceof StringKey ||
> -               criteria instanceof DateKey)
> +               criteria instanceof StringKey)
>             {
>                 criteria = quoteAndEscapeText(criteria.toString(), db);
>             }
> +           else if( criteria instanceof java.util.Date ||
> +                    criteria instanceof DateKey)
> +           {
> +               criteria = db.getDateString(criteria.toString());
> +           }
>             else if( criteria instanceof Boolean )
>             {
>                 criteria = criteria.equals(Boolean.TRUE) ? "1" : "0";
> @@ -308,6 +311,16 @@
>          }
>          else
>          {
> +          // Do not put the upper/lower keyword around IS NULL
> +          //  or IS NOT NULL
> +          if ( comparison.equals(Criteria.ISNULL) ||
> +               comparison.equals(Criteria.ISNOTNULL))
> +          {
> +            whereClause.append(columnName)
> +            .append(comparison);
> +          }
> +          else
> +          {
>              String columnValue = criteria.toString();
>              if (ignoreCase && db != null)
>              {
> @@ -317,6 +330,7 @@
>              whereClause.append(columnName)
>                  .append(comparison)
>                  .append(columnValue);
> +           }
>          }
>      }
>  
> @@ -596,7 +610,7 @@
>                  buf.append(SINGLE_QUOTE).append(SINGLE_QUOTE);
>                  break;
>              case BACKSLASH:
> -                buf.append(BACKSLASH).append(BACKSLASH);
> +                buf.append(escapeString);
>                  break;
>              default:
>                  buf.append(data[i]);
> 
> 
> 
> No                   revision
> 
> 
> No                   revision
> 
> 
> 1.4.10.5  +12 -1 
> jakarta-turbine/src/java/org/apache/turbine/util/db/adapter/Attic/DB.java
> 
> Index: DB.java
> ===================================================================
> RCS file: 
> /home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/adapter/Attic/DB
> .java,v
> retrieving revision 1.4.10.4
> retrieving revision 1.4.10.5
> diff -u -r1.4.10.4 -r1.4.10.5
> --- DB.java    2001/07/30 20:08:47    1.4.10.4
> +++ DB.java    2001/08/06 04:48:27    1.4.10.5
> @@ -100,7 +100,7 @@
>   *
>   * @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>
>   * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
> - * @version $Id: DB.java,v 1.4.10.4 2001/07/30 20:08:47 mpoeschl Exp $
> + * @version $Id: DB.java,v 1.4.10.5 2001/08/06 04:48:27 djpolito Exp $
>   */
>  public abstract class DB implements Serializable
>  {
> @@ -372,5 +372,16 @@
>      public int getLimitStyle()
>      {
>          return LIMIT_STYLE_NONE;
> +    }
> +
> +    /**
> +     * This method is used to format any date string.
> +     * Database can use different default date formats.
> +     *
> +     * @return The proper date formated String.
> +     */
> +    public String getDateString(String dateString)
> +    {
> +       return "\'" + dateString + "\'";
>      }
>  }
> 
> 
> 
> 1.5.10.2  +24 -1 
> 
jakarta-turbine/src/java/org/apache/turbine/util/db/adapter/Attic/DBOracle.j
av> a
> 
> Index: DBOracle.java
> ===================================================================
> RCS file: 
> /home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/adapter/Attic/DB
> Oracle.java,v
> retrieving revision 1.5.10.1
> retrieving revision 1.5.10.2
> diff -u -r1.5.10.1 -r1.5.10.2
> --- DBOracle.java    2001/05/07 03:06:46    1.5.10.1
> +++ DBOracle.java    2001/08/06 04:48:27    1.5.10.2
> @@ -68,7 +68,7 @@
>   *
>   * @author <a href="mailto:jon@clearink.com">Jon S. Stevens</a>
>   * @author <a href="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
> - * @version $Id: DBOracle.java,v 1.5.10.1 2001/05/07 03:06:46 jvanzyl Exp $
> + * @version $Id: DBOracle.java,v 1.5.10.2 2001/08/06 04:48:27 djpolito Exp $
>   */
>  public class DBOracle
>      extends DB
> @@ -205,5 +205,28 @@
>          }
>      }
>  
> +   /**
> +    * This method is for the SqlExpression.quoteAndEscape rules.  The rule
> is,
> +    * any string in a SqlExpression with a BACKSLASH will either be changed
> to
> +    * "\\" or left as "\".  SapDB does not need the escape character.
> +    *
> +    * @return false.
> +    */
> +    
> +    public boolean escapeText()
> +    {
> +        return false;
> +    }
> +
>  
> +    /**
> +     * This method is used to format any date string.
> +     * Database can use different default date formats.
> +     *
> +     * @return The proper date formated String.
> +     */
> +  public String getDateString(String dateString)
> +  {
> +    return "TO_DATE('" + dateString + "', 'yyyy-mm-dd hh24:mi:ss..' )";
> +  }
>  }
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: turbine-dev-help@jakarta.apache.org

-- 

jvz.

Jason van Zyl

http://tambora.zenplex.org
http://jakarta.apache.org/turbine
http://jakarta.apache.org/velocity
http://jakarta.apache.org/alexandria
http://jakarta.apache.org/commons



---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org