You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by "Henning P. Schmiedehausen" <hp...@intermeta.de> on 2004/08/25 19:42:27 UTC
Findbugs Patch for 3.1.1
Hi,
we should consider applying the attached patch to Torque before
releasing 3.1.1 I ran Findbugs on an application of mine with roughly
80 peer and object classes and this patch reduces the number of
warnings / error reports from about 500 to one (which is bogus. :-)
This is mainly working around things like new String() (replacing it
with ""), new Boolean(true) (replacing it with Boolean.TRUE). There
are some a == b checks where a and b are Strings in the peers and
doing some cleanup on constructs like this:
if (foo) {
#if ($templateFoo)
do something
#end
}
which results in
if (foo) {
}
when $templateFoo is false.
I'm sure that this does not break anything and it makes findbugs
usable on applications using Torque. Scott, your call. I would apply
it. :-)
Regards
Henning
Index: src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java
===================================================================
--- src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java (revision 2582)
+++ src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java (working copy)
@@ -98,13 +98,13 @@
CHAR, VARCHAR, LONGVARCHAR, CLOB, DATE, TIME, TIMESTAMP, BOOLEANCHAR
};
- public static final String CHAR_OBJECT_TYPE = "new String()";
- public static final String VARCHAR_OBJECT_TYPE = "new String()";
- public static final String LONGVARCHAR_OBJECT_TYPE = "new String()";
- public static final String CLOB_OBJECT_TYPE = "new String()";
+ public static final String CHAR_OBJECT_TYPE = "\"\"";
+ public static final String VARCHAR_OBJECT_TYPE = "\"\"";
+ public static final String LONGVARCHAR_OBJECT_TYPE = "\"\"";
+ public static final String CLOB_OBJECT_TYPE = "\"\"";
public static final String NUMERIC_OBJECT_TYPE = "new BigDecimal(0)";
public static final String DECIMAL_OBJECT_TYPE = "new BigDecimal(0)";
- public static final String BIT_OBJECT_TYPE = "new Boolean(true)";
+ public static final String BIT_OBJECT_TYPE = "Boolean.TRUE";
public static final String TINYINT_OBJECT_TYPE = "new Byte((byte)0)";
public static final String SMALLINT_OBJECT_TYPE = "new Short((short)0)";
public static final String INTEGER_OBJECT_TYPE = "new Integer(0)";
@@ -119,7 +119,7 @@
public static final String DATE_OBJECT_TYPE = "new Date()";
public static final String TIME_OBJECT_TYPE = "new Date()";
public static final String TIMESTAMP_OBJECT_TYPE = "new Date()";
- public static final String BOOLEANCHAR_OBJECT_TYPE = "new String()";
+ public static final String BOOLEANCHAR_OBJECT_TYPE = "\"\"";
public static final String BOOLEANINT_OBJECT_TYPE = "new Integer(0)";
public static final String CHAR_NATIVE_TYPE = "String";
Index: src/generator/src/templates/om/Object.vm
===================================================================
--- src/generator/src/templates/om/Object.vm (revision 2582)
+++ src/generator/src/templates/om/Object.vm (working copy)
@@ -917,7 +917,7 @@
#elseif ($cjtype == "double")
return new Double(${col.GetterName} ());
#elseif ($cjtype == "boolean")
- return new Boolean(${col.GetterName} ());
+ return Boolean.valueOf(${col.GetterName} ());
#elseif ($cjtype == "short")
return new Short(${col.GetterName} ());
#elseif ($cjtype == "byte")
@@ -957,7 +957,7 @@
#elseif ($cjtype == "double")
return new Double(${col.GetterName} ());
#elseif ($cjtype == "boolean")
- return new Boolean(${col.GetterName} ());
+ return Boolean.valueOf(${col.GetterName} ());
#elseif ($cjtype == "short")
return new Short(${col.GetterName} ());
#elseif ($cjtype == "byte")
@@ -996,7 +996,7 @@
#elseif ($cjtype == "double")
return new Double(${col.GetterName} ());
#elseif ($cjtype == "boolean")
- return new Boolean(${col.GetterName} ());
+ return Boolean.valueOf(${col.GetterName} ());
#elseif ($cjtype == "short")
return new Short(${col.GetterName} ());
#elseif ($cjtype == "byte")
Index: src/generator/src/templates/om/Peer.vm
===================================================================
--- src/generator/src/templates/om/Peer.vm (revision 2582)
+++ src/generator/src/templates/om/Peer.vm (working copy)
@@ -255,14 +255,7 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, 1);
- }
- else
- {
- criteria.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
@@ -272,26 +265,14 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, "Y");
- }
- else
- {
- criteria.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
#end
- // Set the correct dbName if it has not been overridden
- // criteria.getDbName will return the same object if not set to
- // another value so == check is okay and faster
- if (criteria.getDbName() == Torque.getDefaultDB())
- {
- criteria.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
+
if (con == null)
{
return BasePeer.doInsert(criteria);
@@ -451,14 +432,7 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, 1);
- }
- else
- {
- criteria.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
@@ -468,26 +442,14 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, "Y");
- }
- else
- {
- criteria.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
#end
- // Set the correct dbName if it has not been overridden
- // criteria.getDbName will return the same object if not set to
- // another value so == check is okay and faster
- if (criteria.getDbName() == Torque.getDefaultDB())
- {
- criteria.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
+
// BasePeer returns a List of Value (Village) arrays. The array
// order follows the order columns were placed in the Select clause.
if (con == null)
@@ -639,14 +601,7 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, 1);
- }
- else
- {
- criteria.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
@@ -656,14 +611,7 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, "Y");
- }
- else
- {
- criteria.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
@@ -672,13 +620,8 @@
#end
#end
- // Set the correct dbName if it has not been overridden
- // criteria.getDbName will return the same object if not set to
- // another value so == check is okay and faster
- if (criteria.getDbName() == Torque.getDefaultDB())
- {
- criteria.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
+
if (con == null)
{
BasePeer.doUpdate(selectCriteria, criteria);
@@ -724,14 +667,7 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, 1);
- }
- else
- {
- criteria.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
@@ -741,26 +677,14 @@
Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- criteria.add($cup, "Y");
- }
- else
- {
- criteria.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
#end
- // Set the correct dbName if it has not been overridden
- // criteria.getDbName will return the same object if not set to
- // another value so == check is okay and faster
- if (criteria.getDbName() == Torque.getDefaultDB())
- {
- criteria.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
+
if (con == null)
{
BasePeer.doDelete(criteria);
@@ -1229,27 +1153,21 @@
* @throws TorqueException Any exceptions caught during processing will be
* rethrown wrapped into a TorqueException.
*/
- protected static List doSelectJoin${joinColumnId}(Criteria c)
+ protected static List doSelectJoin${joinColumnId}(Criteria criteria)
throws TorqueException
{
- // Set the correct dbName if it has not been overridden
- // c.getDbName will return the same object if not set to
- // another value so == check is okay and faster
- if (c.getDbName() == Torque.getDefaultDB())
- {
- c.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
- ${table.JavaName}Peer.addSelectColumns(c);
+ ${table.JavaName}Peer.addSelectColumns(criteria);
int offset = numColumns + 1;
- ${joinClassName}Peer.addSelectColumns(c);
+ ${joinClassName}Peer.addSelectColumns(criteria);
#set ( $lfMap = $fk.LocalForeignMapping )
#foreach ($columnName in $fk.LocalColumns)
#set ( $column = $table.getColumn($columnName) )
#set ( $columnFk = $joinTable.getColumn( $lfMap.get($columnName) ) )
- c.addJoin(${table.JavaName}Peer.$column.Name.toUpperCase(),
+ criteria.addJoin(${table.JavaName}Peer.$column.Name.toUpperCase(),
${joinClassName}Peer.$columnFk.Name.toUpperCase());
#end
@@ -1258,42 +1176,28 @@
#set ( $cup=$col.Name.toUpperCase() )
#if($col.isBooleanInt())
// check for conversion from boolean to int
- if (c.containsKey($cup))
+ if (criteria.containsKey($cup))
{
- Object possibleBoolean = c.get($cup);
+ Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- c.add($cup, 1);
- }
- else
- {
- c.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
// check for conversion from boolean to Y/N
- if ( c.containsKey($cup) )
+ if ( criteria.containsKey($cup) )
{
- Object possibleBoolean = c.get($cup);
+ Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- c.add($cup, "Y");
- }
- else
- {
- c.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
#end
- List rows = BasePeer.doSelect(c);
+ List rows = BasePeer.doSelect(criteria);
List results = new ArrayList();
for (int i = 0; i < rows.size(); i++)
@@ -1332,13 +1236,14 @@
break;
}
}
+
+ #if ($objectIsCaching)
if (newObject)
{
- #if ($objectIsCaching)
obj2.init${collThisTable}();
obj2.add${collThisTableMs}(obj1);
- #end
}
+ #end
results.add(obj1);
}
return results;
@@ -1396,18 +1301,12 @@
* @throws TorqueException Any exceptions caught during processing will be
* rethrown wrapped into a TorqueException.
*/
- protected static List doSelectJoinAllExcept${excludeString}(Criteria c)
+ protected static List doSelectJoinAllExcept${excludeString}(Criteria criteria)
throws TorqueException
{
- // Set the correct dbName if it has not been overridden
- // c.getDbName will return the same object if not set to another value
- // so == check is okay and faster
- if (c.getDbName() == Torque.getDefaultDB())
- {
- c.setDbName(DATABASE_NAME);
- }
+ setDbName(criteria);
- addSelectColumns(c);
+ addSelectColumns(criteria);
int offset2 = numColumns + 1;
#set ( $index = 2 )
#foreach ($fk in $table.ForeignKeys)
@@ -1418,7 +1317,7 @@
#if (!$joinClassName.equals($excludeClassName))
#set ( $new_index = $index + 1 )
- ${joinClassName}Peer.addSelectColumns(c);
+ ${joinClassName}Peer.addSelectColumns(criteria);
int offset$new_index = offset$index + ${joinClassName}Peer.numColumns;
#set ( $index = $new_index )
#end
@@ -1428,42 +1327,28 @@
#set ( $cup=$col.Name.toUpperCase() )
#if($col.isBooleanInt())
// check for conversion from boolean to int
- if (c.containsKey($cup))
+ if (criteria.containsKey($cup))
{
- Object possibleBoolean = c.get($cup);
+ Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- c.add($cup, 1);
- }
- else
- {
- c.add($cup, 0);
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
}
}
#elseif ($col.isBooleanChar())
// check for conversion from boolean to Y/N
- if ( c.containsKey($cup) )
+ if ( criteria.containsKey($cup) )
{
- Object possibleBoolean = c.get($cup);
+ Object possibleBoolean = criteria.get($cup);
if (possibleBoolean instanceof Boolean)
{
- if (((Boolean) possibleBoolean).booleanValue())
- {
- c.add($cup, "Y");
- }
- else
- {
- c.add($cup, "N");
- }
+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
}
}
#end
#end
- List rows = BasePeer.doSelect(c);
+ List rows = BasePeer.doSelect(criteria);
List results = new ArrayList();
for (int i = 0; i < rows.size(); i++)
@@ -1534,13 +1419,13 @@
break;
}
}
+ #if ($objectIsCaching)
if (newObject)
{
- #if ($objectIsCaching)
obj${index}.init${collThisTable}();
obj${index}.add${collThisTableMs}(obj1);
- #end
}
+ #end
#end
#end
#end
@@ -1569,4 +1454,15 @@
return Torque.getDatabaseMap(DATABASE_NAME).getTable(TABLE_NAME);
}
#end ## ends if (!$table.isAlias())
+
+ private static void setDbName(Criteria crit)
+ {
+ if (crit != null && crit.getDbName() != null)
+ {
+ if (crit.getDbName().equals(Torque.getDefaultDB()))
+ {
+ crit.setDbName(DATABASE_NAME);
+ }
+ }
+ }
}
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
hps@intermeta.de +49 9131 50 654 0 http://www.intermeta.de/
RedHat Certified Engineer -- Jakarta Turbine Development -- hero for hire
Linux, Java, perl, Solaris -- Consulting, Training, Development
"Fighting for one's political stand is an honorable action, but re-
fusing to acknowledge that there might be weaknesses in one's
position - in order to identify them so that they can be remedied -
is a large enough problem with the Open Source movement that it
deserves to be on this list of the top five problems."
-- Michelle Levesque, "Fundamental Issues with
Open Source Software Development"
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org
Re: Findbugs Patch for 3.1.1
Posted by "Henning P. Schmiedehausen" <hp...@intermeta.de>.
Scott Eade <se...@backstagetech.com.au> writes:
>>- // Set the correct dbName if it has not been overridden
>>- // criteria.getDbName will return the same object if not set to
>>- // another value so == check is okay and faster
[...]
>Is the removed comment not true?
Yes. Cut'n'paste eagerness. It should be on top of the factored out
method.
Regards
Henning
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
hps@intermeta.de +49 9131 50 654 0 http://www.intermeta.de/
RedHat Certified Engineer -- Jakarta Turbine Development -- hero for hire
Linux, Java, perl, Solaris -- Consulting, Training, Development
"Fighting for one's political stand is an honorable action, but re-
fusing to acknowledge that there might be weaknesses in one's
position - in order to identify them so that they can be remedied -
is a large enough problem with the Open Source movement that it
deserves to be on this list of the top five problems."
-- Michelle Levesque, "Fundamental Issues with
Open Source Software Development"
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org
Re: Findbugs Patch for 3.1.1
Posted by Scott Eade <se...@backstagetech.com.au>.
Henning P. Schmiedehausen wrote:
<snip/>
>There
>are some a == b checks where a and b are Strings in the peers
>
>
<snip/>
>Index: src/generator/src/templates/om/Peer.vm
>===================================================================
>--- src/generator/src/templates/om/Peer.vm (revision 2582)
>+++ src/generator/src/templates/om/Peer.vm (working copy)
>
>
<snip/>
>- // Set the correct dbName if it has not been overridden
>- // criteria.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (criteria.getDbName() == Torque.getDefaultDB())
>- {
>- criteria.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>+
>
>
<snip/>
>+
>+ private static void setDbName(Criteria crit)
>+ {
>+ if (crit != null && crit.getDbName() != null)
>+ {
>+ if (crit.getDbName().equals(Torque.getDefaultDB()))
>+ {
>+ crit.setDbName(DATABASE_NAME);
>+ }
>+ }
>+ }
>
>
Is the removed comment not true?
Scott
--
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org
Re: Findbugs Patch for 3.1.1
Posted by "Henning P. Schmiedehausen" <hp...@intermeta.de>.
Scott Eade <se...@backstagetech.com.au> writes:
>I will apply this for 3.1.1, but it would have been easier if you had
>provided a patch against cvs rather than against your version that
>includes the boolean getter patch that I don't see going in as part of
>3.1.1 (3.1.2-dev is more acceptable I think). I assume there will be
>some corresponding changes to ObjectWithManager.vm (I know you don't use
>it, but some do).
Whoops, sorry. Shall I redo it against 3.1.1-HEAD?
Regads
Henning
--
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen INTERMETA GmbH
hps@intermeta.de +49 9131 50 654 0 http://www.intermeta.de/
RedHat Certified Engineer -- Jakarta Turbine Development -- hero for hire
Linux, Java, perl, Solaris -- Consulting, Training, Development
"Fighting for one's political stand is an honorable action, but re-
fusing to acknowledge that there might be weaknesses in one's
position - in order to identify them so that they can be remedied -
is a large enough problem with the Open Source movement that it
deserves to be on this list of the top five problems."
-- Michelle Levesque, "Fundamental Issues with
Open Source Software Development"
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org
Re: Findbugs Patch for 3.1.1
Posted by Scott Eade <se...@backstagetech.com.au>.
I will apply this for 3.1.1, but it would have been easier if you had
provided a patch against cvs rather than against your version that
includes the boolean getter patch that I don't see going in as part of
3.1.1 (3.1.2-dev is more acceptable I think). I assume there will be
some corresponding changes to ObjectWithManager.vm (I know you don't use
it, but some do).
Scott
--
Scott Eade
Backstage Technologies Pty. Ltd.
http://www.backstagetech.com.au
Henning P. Schmiedehausen wrote:
>Hi,
>
>we should consider applying the attached patch to Torque before
>releasing 3.1.1 I ran Findbugs on an application of mine with roughly
>80 peer and object classes and this patch reduces the number of
>warnings / error reports from about 500 to one (which is bogus. :-)
>
>This is mainly working around things like new String() (replacing it
>with ""), new Boolean(true) (replacing it with Boolean.TRUE). There
>are some a == b checks where a and b are Strings in the peers and
>doing some cleanup on constructs like this:
>
>if (foo) {
>#if ($templateFoo)
>do something
>#end
>}
>
>which results in
>
>if (foo) {
>}
>
>when $templateFoo is false.
>
>I'm sure that this does not break anything and it makes findbugs
>usable on applications using Torque. Scott, your call. I would apply
>it. :-)
>
> Regards
> Henning
>
>Index: src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java
>===================================================================
>--- src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java (revision 2582)
>+++ src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java (working copy)
>@@ -98,13 +98,13 @@
> CHAR, VARCHAR, LONGVARCHAR, CLOB, DATE, TIME, TIMESTAMP, BOOLEANCHAR
> };
>
>- public static final String CHAR_OBJECT_TYPE = "new String()";
>- public static final String VARCHAR_OBJECT_TYPE = "new String()";
>- public static final String LONGVARCHAR_OBJECT_TYPE = "new String()";
>- public static final String CLOB_OBJECT_TYPE = "new String()";
>+ public static final String CHAR_OBJECT_TYPE = "\"\"";
>+ public static final String VARCHAR_OBJECT_TYPE = "\"\"";
>+ public static final String LONGVARCHAR_OBJECT_TYPE = "\"\"";
>+ public static final String CLOB_OBJECT_TYPE = "\"\"";
> public static final String NUMERIC_OBJECT_TYPE = "new BigDecimal(0)";
> public static final String DECIMAL_OBJECT_TYPE = "new BigDecimal(0)";
>- public static final String BIT_OBJECT_TYPE = "new Boolean(true)";
>+ public static final String BIT_OBJECT_TYPE = "Boolean.TRUE";
> public static final String TINYINT_OBJECT_TYPE = "new Byte((byte)0)";
> public static final String SMALLINT_OBJECT_TYPE = "new Short((short)0)";
> public static final String INTEGER_OBJECT_TYPE = "new Integer(0)";
>@@ -119,7 +119,7 @@
> public static final String DATE_OBJECT_TYPE = "new Date()";
> public static final String TIME_OBJECT_TYPE = "new Date()";
> public static final String TIMESTAMP_OBJECT_TYPE = "new Date()";
>- public static final String BOOLEANCHAR_OBJECT_TYPE = "new String()";
>+ public static final String BOOLEANCHAR_OBJECT_TYPE = "\"\"";
> public static final String BOOLEANINT_OBJECT_TYPE = "new Integer(0)";
>
> public static final String CHAR_NATIVE_TYPE = "String";
>Index: src/generator/src/templates/om/Object.vm
>===================================================================
>--- src/generator/src/templates/om/Object.vm (revision 2582)
>+++ src/generator/src/templates/om/Object.vm (working copy)
>@@ -917,7 +917,7 @@
> #elseif ($cjtype == "double")
> return new Double(${col.GetterName} ());
> #elseif ($cjtype == "boolean")
>- return new Boolean(${col.GetterName} ());
>+ return Boolean.valueOf(${col.GetterName} ());
> #elseif ($cjtype == "short")
> return new Short(${col.GetterName} ());
> #elseif ($cjtype == "byte")
>@@ -957,7 +957,7 @@
> #elseif ($cjtype == "double")
> return new Double(${col.GetterName} ());
> #elseif ($cjtype == "boolean")
>- return new Boolean(${col.GetterName} ());
>+ return Boolean.valueOf(${col.GetterName} ());
> #elseif ($cjtype == "short")
> return new Short(${col.GetterName} ());
> #elseif ($cjtype == "byte")
>@@ -996,7 +996,7 @@
> #elseif ($cjtype == "double")
> return new Double(${col.GetterName} ());
> #elseif ($cjtype == "boolean")
>- return new Boolean(${col.GetterName} ());
>+ return Boolean.valueOf(${col.GetterName} ());
> #elseif ($cjtype == "short")
> return new Short(${col.GetterName} ());
> #elseif ($cjtype == "byte")
>Index: src/generator/src/templates/om/Peer.vm
>===================================================================
>--- src/generator/src/templates/om/Peer.vm (revision 2582)
>+++ src/generator/src/templates/om/Peer.vm (working copy)
>@@ -255,14 +255,7 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, 1);
>- }
>- else
>- {
>- criteria.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
>@@ -272,26 +265,14 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, "Y");
>- }
>- else
>- {
>- criteria.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
> #end
>
>- // Set the correct dbName if it has not been overridden
>- // criteria.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (criteria.getDbName() == Torque.getDefaultDB())
>- {
>- criteria.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>+
> if (con == null)
> {
> return BasePeer.doInsert(criteria);
>@@ -451,14 +432,7 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, 1);
>- }
>- else
>- {
>- criteria.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
>@@ -468,26 +442,14 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, "Y");
>- }
>- else
>- {
>- criteria.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
> #end
>
>- // Set the correct dbName if it has not been overridden
>- // criteria.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (criteria.getDbName() == Torque.getDefaultDB())
>- {
>- criteria.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>+
> // BasePeer returns a List of Value (Village) arrays. The array
> // order follows the order columns were placed in the Select clause.
> if (con == null)
>@@ -639,14 +601,7 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, 1);
>- }
>- else
>- {
>- criteria.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
>@@ -656,14 +611,7 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, "Y");
>- }
>- else
>- {
>- criteria.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
>@@ -672,13 +620,8 @@
> #end
> #end
>
>- // Set the correct dbName if it has not been overridden
>- // criteria.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (criteria.getDbName() == Torque.getDefaultDB())
>- {
>- criteria.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>+
> if (con == null)
> {
> BasePeer.doUpdate(selectCriteria, criteria);
>@@ -724,14 +667,7 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, 1);
>- }
>- else
>- {
>- criteria.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
>@@ -741,26 +677,14 @@
> Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- criteria.add($cup, "Y");
>- }
>- else
>- {
>- criteria.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
> #end
>
>- // Set the correct dbName if it has not been overridden
>- // criteria.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (criteria.getDbName() == Torque.getDefaultDB())
>- {
>- criteria.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>+
> if (con == null)
> {
> BasePeer.doDelete(criteria);
>@@ -1229,27 +1153,21 @@
> * @throws TorqueException Any exceptions caught during processing will be
> * rethrown wrapped into a TorqueException.
> */
>- protected static List doSelectJoin${joinColumnId}(Criteria c)
>+ protected static List doSelectJoin${joinColumnId}(Criteria criteria)
> throws TorqueException
> {
>- // Set the correct dbName if it has not been overridden
>- // c.getDbName will return the same object if not set to
>- // another value so == check is okay and faster
>- if (c.getDbName() == Torque.getDefaultDB())
>- {
>- c.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>
>- ${table.JavaName}Peer.addSelectColumns(c);
>+ ${table.JavaName}Peer.addSelectColumns(criteria);
> int offset = numColumns + 1;
>- ${joinClassName}Peer.addSelectColumns(c);
>+ ${joinClassName}Peer.addSelectColumns(criteria);
>
>
> #set ( $lfMap = $fk.LocalForeignMapping )
> #foreach ($columnName in $fk.LocalColumns)
> #set ( $column = $table.getColumn($columnName) )
> #set ( $columnFk = $joinTable.getColumn( $lfMap.get($columnName) ) )
>- c.addJoin(${table.JavaName}Peer.$column.Name.toUpperCase(),
>+ criteria.addJoin(${table.JavaName}Peer.$column.Name.toUpperCase(),
> ${joinClassName}Peer.$columnFk.Name.toUpperCase());
> #end
>
>@@ -1258,42 +1176,28 @@
> #set ( $cup=$col.Name.toUpperCase() )
> #if($col.isBooleanInt())
> // check for conversion from boolean to int
>- if (c.containsKey($cup))
>+ if (criteria.containsKey($cup))
> {
>- Object possibleBoolean = c.get($cup);
>+ Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- c.add($cup, 1);
>- }
>- else
>- {
>- c.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
> // check for conversion from boolean to Y/N
>- if ( c.containsKey($cup) )
>+ if ( criteria.containsKey($cup) )
> {
>- Object possibleBoolean = c.get($cup);
>+ Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- c.add($cup, "Y");
>- }
>- else
>- {
>- c.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
> #end
>
>- List rows = BasePeer.doSelect(c);
>+ List rows = BasePeer.doSelect(criteria);
> List results = new ArrayList();
>
> for (int i = 0; i < rows.size(); i++)
>@@ -1332,13 +1236,14 @@
> break;
> }
> }
>+
>+ #if ($objectIsCaching)
> if (newObject)
> {
>- #if ($objectIsCaching)
> obj2.init${collThisTable}();
> obj2.add${collThisTableMs}(obj1);
>- #end
> }
>+ #end
> results.add(obj1);
> }
> return results;
>@@ -1396,18 +1301,12 @@
> * @throws TorqueException Any exceptions caught during processing will be
> * rethrown wrapped into a TorqueException.
> */
>- protected static List doSelectJoinAllExcept${excludeString}(Criteria c)
>+ protected static List doSelectJoinAllExcept${excludeString}(Criteria criteria)
> throws TorqueException
> {
>- // Set the correct dbName if it has not been overridden
>- // c.getDbName will return the same object if not set to another value
>- // so == check is okay and faster
>- if (c.getDbName() == Torque.getDefaultDB())
>- {
>- c.setDbName(DATABASE_NAME);
>- }
>+ setDbName(criteria);
>
>- addSelectColumns(c);
>+ addSelectColumns(criteria);
> int offset2 = numColumns + 1;
> #set ( $index = 2 )
> #foreach ($fk in $table.ForeignKeys)
>@@ -1418,7 +1317,7 @@
>
> #if (!$joinClassName.equals($excludeClassName))
> #set ( $new_index = $index + 1 )
>- ${joinClassName}Peer.addSelectColumns(c);
>+ ${joinClassName}Peer.addSelectColumns(criteria);
> int offset$new_index = offset$index + ${joinClassName}Peer.numColumns;
> #set ( $index = $new_index )
> #end
>@@ -1428,42 +1327,28 @@
> #set ( $cup=$col.Name.toUpperCase() )
> #if($col.isBooleanInt())
> // check for conversion from boolean to int
>- if (c.containsKey($cup))
>+ if (criteria.containsKey($cup))
> {
>- Object possibleBoolean = c.get($cup);
>+ Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- c.add($cup, 1);
>- }
>- else
>- {
>- c.add($cup, 0);
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
> }
> }
> #elseif ($col.isBooleanChar())
> // check for conversion from boolean to Y/N
>- if ( c.containsKey($cup) )
>+ if ( criteria.containsKey($cup) )
> {
>- Object possibleBoolean = c.get($cup);
>+ Object possibleBoolean = criteria.get($cup);
> if (possibleBoolean instanceof Boolean)
> {
>- if (((Boolean) possibleBoolean).booleanValue())
>- {
>- c.add($cup, "Y");
>- }
>- else
>- {
>- c.add($cup, "N");
>- }
>+ criteria.add($cup, (((Boolean) possibleBoolean).booleanValue() ? "Y" : "N");
> }
> }
> #end
> #end
>
>- List rows = BasePeer.doSelect(c);
>+ List rows = BasePeer.doSelect(criteria);
> List results = new ArrayList();
>
> for (int i = 0; i < rows.size(); i++)
>@@ -1534,13 +1419,13 @@
> break;
> }
> }
>+ #if ($objectIsCaching)
> if (newObject)
> {
>- #if ($objectIsCaching)
> obj${index}.init${collThisTable}();
> obj${index}.add${collThisTableMs}(obj1);
>- #end
> }
>+ #end
> #end
> #end
> #end
>@@ -1569,4 +1454,15 @@
> return Torque.getDatabaseMap(DATABASE_NAME).getTable(TABLE_NAME);
> }
> #end ## ends if (!$table.isAlias())
>+
>+ private static void setDbName(Criteria crit)
>+ {
>+ if (crit != null && crit.getDbName() != null)
>+ {
>+ if (crit.getDbName().equals(Torque.getDefaultDB()))
>+ {
>+ crit.setDbName(DATABASE_NAME);
>+ }
>+ }
>+ }
> }
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org