You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by dj...@apache.org on 2001/08/06 06:48:27 UTC
cvs commit: jakarta-turbine/src/java/org/apache/turbine/util/db/adapter DB.java DBOracle.java
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
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.java,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/SqlExpression.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.java
Index: DBOracle.java
===================================================================
RCS file: /home/cvs/jakarta-turbine/src/java/org/apache/turbine/util/db/adapter/Attic/DBOracle.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
Re: cvs commit:
jakarta-turbine/src/java/org/apache/turbine/util/db/adapter DB.java
DBOracle.java
Posted by Jason van Zyl <jv...@apache.org>.
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