I have some boolean attributes in my database. I've put following lines in my map
builder
public void doBuild() throws Exception
[...]
Boolean logical = Boolean.FALSE;
[...]
tMap.addColumn ( getTableName_ColumnName(), logical);
[...]
In my peer class I want to do select with condition based on value of my boolean
attribute eg.:
criteria.add( ColumnName, obj.getColumnName() );
Is it the right way to do it with Peers?
If so are those patches correct? (They work only for insert and select)
Index: SqlExpression.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/util/db/SqlExpression.java,v
retrieving revision 1.2
diff -u -r1.2 SqlExpression.java
--- SqlExpression.java 2000/07/25 11:23:24 1.2
+++ SqlExpression.java 2000/08/27 13:13:36
@@ -158,6 +158,11 @@
{
criteria = quoteString(criteria.toString());
}
+ else if( criteria instanceof Boolean )
+ {
+ criteria = criteria.equals(Boolean.TRUE) ? "1" : "0";
+ }
+
if ( comparison.equals(Criteria.LIKE) )
{
return buildLike( columnName, (String)criteria, ignoreCase, db );
Index: BasePeer.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/om/peer/BasePeer.java,v
retrieving revision 1.7
diff -u -r1.7 BasePeer.java
--- BasePeer.java 2000/08/22 16:47:55 1.7
+++ BasePeer.java 2000/08/27 13:18:56
@@ -670,6 +670,8 @@
rec.setValue( colMap.getColumnName(), hashtableToByteArray(
(Hashtable)obj ) );
else if ( obj instanceof byte[])
rec.setValue( colMap.getColumnName(), (byte[])obj);
+ else if ( obj instanceof Boolean)
+ rec.setValue( colMap.getColumnName(), criteria.getBoolean(key) ?
+1 : 0);
shouldSave = true;
}
}
Thanks for your advice.
Slawek
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Search: <http://www.mail-archive.com/turbine%40list.working-dogs.com/>
Problems?: [EMAIL PROTECTED]