Author: tfischer
Date: Mon Jul 9 13:23:14 2012
New Revision: 1359157
URL: http://svn.apache.org/viewvc?rev=1359157&view=rev
Log:
Fix bugs for BooleanInts including test cases
- saving data objects containing "true" values results in "false" values in the
database
- correctBooleans is also used for inserts (allowing both native/boolean insert
values)
Modified:
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/base/doInsert.vm
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doInsert.vm
db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/BooleanIntCharTest.java
Modified:
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
URL:
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java?rev=1359157&r1=1359156&r2=1359157&view=diff
==============================================================================
---
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
(original)
+++
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
Mon Jul 9 13:23:14 2012
@@ -2314,17 +2314,33 @@ public class BasePeerImpl implements Ser
JdbcTypedValue columnValue = entry.getValue();
if ("BOOLEANINT".equals(column.getTorqueType()))
{
- columnValue.setValue(
- Boolean.TRUE.equals(columnValue.getValue())
- ? Integer.valueOf(1)
- : Integer.valueOf(0));
+ if (Boolean.TRUE.equals(columnValue.getValue()))
+ {
+ entry.setValue(new JdbcTypedValue(1, Types.INTEGER));
+ }
+ else if (Boolean.FALSE.equals(columnValue.getValue()))
+ {
+ entry.setValue(new JdbcTypedValue(0, Types.INTEGER));
+ }
+ else if (columnValue.getValue() == null)
+ {
+ entry.setValue(new JdbcTypedValue(null,
Types.INTEGER));
+ }
}
else if ("BOOLEANCHAR".equals(column.getTorqueType()))
{
- columnValue.setValue(
- Boolean.TRUE.equals(columnValue.getValue())
- ? "Y"
- : "N");
+ if (Boolean.TRUE.equals(columnValue.getValue()))
+ {
+ entry.setValue(new JdbcTypedValue("Y", Types.CHAR));
+ }
+ else if (Boolean.FALSE.equals(columnValue.getValue()))
+ {
+ entry.setValue(new JdbcTypedValue("N", Types.CHAR));
+ }
+ else if (columnValue.getValue() == null)
+ {
+ entry.setValue(new JdbcTypedValue(null, Types.CHAR));
+ }
}
}
}
Modified:
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/base/doInsert.vm
URL:
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/base/doInsert.vm?rev=1359157&r1=1359156&r2=1359157&view=diff
==============================================================================
---
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/base/doInsert.vm
(original)
+++
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/base/doInsert.vm
Mon Jul 9 13:23:14 2012
@@ -28,12 +28,54 @@
## as velocity variables.
##
/**
+ * Method to do inserts.
+ *
+ * @param columnValues the values to insert.
+ *
+#if ($torqueGen.getChild("primary-keys").getChildren("column").isEmpty())
+ * @return always null (because the table does not have a primary key).
+#else
+ * @return the primary key of the inserted row.
+#end
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static ObjectKey doInsert(ColumnValues columnValues)
+ throws TorqueException
+ {
+ return ${peerImplGetter}().doInsert(columnValues);
+ }
+
+ /**
+ * Method to do inserts. This method is to be used during a transaction,
+ * otherwise use the doInsert(Criteria) method.
+ *
+ * @param columnValues the values to insert.
+ * @param con the connection to use, not null.
+ *
+#if ($torqueGen.getChild("primary-keys").getChildren("column").isEmpty())
+ * @return always null (because the table does not have a primary key).
+#else
+ * @return the primary key of the inserted row.
+#end
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static ObjectKey doInsert(ColumnValues columnValues, Connection con)
+ throws TorqueException
+ {
+ return ${peerImplGetter}().doInsert(columnValues, con);
+ }
+ /**
* Method to do inserts
*
* @throws TorqueException Any exceptions caught during processing will be
* rethrown wrapped into a TorqueException.
*/
- public static void doInsert($dbObjectClassName obj) throws TorqueException
+ public static void doInsert($dbObjectClassName obj)
+ throws TorqueException
{
${peerImplGetter}().doInsert(obj);
}
@@ -49,7 +91,7 @@
* rethrown wrapped into a TorqueException.
*/
public static void doInsert($dbObjectClassName obj, Connection con)
- throws TorqueException
+ throws TorqueException
{
${peerImplGetter}().doInsert(obj, con);
}
Modified:
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doInsert.vm
URL:
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doInsert.vm?rev=1359157&r1=1359156&r2=1359157&view=diff
==============================================================================
---
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doInsert.vm
(original)
+++
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doInsert.vm
Mon Jul 9 13:23:14 2012
@@ -28,6 +28,64 @@
## as velocity variables.
##
/**
+ * Method to do inserts.
+ *
+ * @param columnValues the values to insert.
+ *
+#if ($torqueGen.getChild("primary-keys").getChildren("column").isEmpty())
+ * @return always null (because the table does not have a primary key).
+#else
+ * @return the primary key of the inserted row.
+#end
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public ObjectKey doInsert(ColumnValues columnValues) throws TorqueException
+ {
+ Connection connection = null;
+ try
+ {
+ connection = Transaction.begin(
+ ${peerClassName}.DATABASE_NAME);
+ ObjectKey result = doInsert(columnValues, connection);
+ Transaction.commit(connection);
+ connection = null;
+ return result;
+ }
+ finally
+ {
+ if (connection != null)
+ {
+ Transaction.safeRollback(connection);
+ }
+ }
+ }
+
+ /**
+ * Method to do inserts. This method is to be used during a transaction,
+ * otherwise use the doInsert(Criteria) method.
+ *
+ * @param columnValues the values to insert.
+ * @param con the connection to use, not null.
+ *
+#if ($torqueGen.getChild("primary-keys").getChildren("column").isEmpty())
+ * @return always null (because the table does not have a primary key).
+#else
+ * @return the primary key of the inserted row.
+#end
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public ObjectKey doInsert(ColumnValues columnValues, Connection con)
+ throws TorqueException
+ {
+ correctBooleans(columnValues);
+ return super.doInsert(columnValues, con);
+ }
+
+ /**
* Method to do inserts
*
* @throws TorqueException Any exceptions caught during processing will be
Modified:
db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/BooleanIntCharTest.java
URL:
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/BooleanIntCharTest.java?rev=1359157&r1=1359156&r2=1359157&view=diff
==============================================================================
---
db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/BooleanIntCharTest.java
(original)
+++
db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/BooleanIntCharTest.java
Mon Jul 9 13:23:14 2012
@@ -1,5 +1,6 @@
package org.apache.torque.datatypes;
+import java.sql.Types;
import java.util.List;
import org.apache.torque.BaseDatabaseTestCase;
@@ -11,6 +12,8 @@ import org.apache.torque.om.StringKey;
import org.apache.torque.test.BintBcharValue;
import org.apache.torque.test.BintBcharValuePeer;
import org.apache.torque.util.BasePeer;
+import org.apache.torque.util.ColumnValues;
+import org.apache.torque.util.JdbcTypedValue;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -48,8 +51,8 @@ public class BooleanIntCharTest extends
BintBcharValue bc
= BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
- assertEquals(Boolean.TRUE, (Boolean) bc.getBintValue());
- assertEquals(Boolean.TRUE, (Boolean) bc.getBcharValue());
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
assertEquals(Boolean.TRUE, bc.getBintObjectValue());
assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
}
@@ -65,8 +68,8 @@ public class BooleanIntCharTest extends
BintBcharValue bc
= BintBcharValuePeer.retrieveByPK(new StringKey("f1"));
- assertEquals(Boolean.FALSE, (Boolean) bc.getBintValue());
- assertEquals(Boolean.FALSE, (Boolean) bc.getBcharValue());
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
assertEquals(Boolean.FALSE, bc.getBintObjectValue());
assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
}
@@ -87,6 +90,160 @@ public class BooleanIntCharTest extends
}
/**
+ * Checks whether we can insert boolean true values.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testInsertBooleanIntCharTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc = new BintBcharValue();
+ bc.setPrimaryKey("new");
+ bc.setBintValue(true);
+ bc.setBcharValue(true);
+ bc.setBintObjectValue(Boolean.TRUE);
+ bc.setBcharObjectValue(Boolean.TRUE);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can insert boolean false values.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testInsertBooleanIntCharFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc = new BintBcharValue();
+ bc.setPrimaryKey("new");
+ bc.setBintValue(false);
+ bc.setBcharValue(false);
+ bc.setBintObjectValue(Boolean.FALSE);
+ bc.setBcharObjectValue(Boolean.FALSE);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can insert Boolean null values.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testInserteBooleanIntCharNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc = new BintBcharValue();
+ bc.setPrimaryKey("new");
+ bc.setBintObjectValue(null);
+ bc.setBcharObjectValue(null);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can update values to boolean true.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testUpdateBooleanIntCharTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("f1"));
+ bc.setBintValue(true);
+ bc.setBcharValue(true);
+ bc.setBintObjectValue(Boolean.TRUE);
+ bc.setBcharObjectValue(Boolean.TRUE);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("f1"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can update values to boolean false.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testWriteBooleanIntCharFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ bc.setBintValue(false);
+ bc.setBcharValue(false);
+ bc.setBintObjectValue(Boolean.FALSE);
+ bc.setBcharObjectValue(Boolean.FALSE);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can update values to Boolean null.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testUpdateBooleanIntCharNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ bc.setBintObjectValue(null);
+ bc.setBcharObjectValue(null);
+
+ // execute
+ bc.save();
+
+ // verify
+ bc = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
* Check whether we can impose the condition Boolean True to
* booleanint/booleanchar columns.
*
@@ -330,6 +487,460 @@ public class BooleanIntCharTest extends
}
/**
+ * Checks whether we can pass boolean true values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertBooleanTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native true values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertNativeTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(1, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("Y", Types.CHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(1, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue("Y", Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass boolean false values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertBooleanFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native false values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertNativeFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(0, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("N", Types.CHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(0, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue("N", Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass Boolean null values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertBooleanNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(1, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("Y", Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native null values to doInsert.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoInsertNativeNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("new", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(0, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("N", Types.CHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doInsert(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("new"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass boolean true values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateBooleanTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("f1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.TRUE, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("f1"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native true values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateNativeTrueValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("f1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(1, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("Y", Types.CHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(1, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue("Y", Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("f1"));
+ assertEquals(true, bc.getBintValue());
+ assertEquals(true, bc.getBcharValue());
+ assertEquals(Boolean.TRUE, bc.getBintObjectValue());
+ assertEquals(Boolean.TRUE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass boolean false values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateBooleanFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("t1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(Boolean.FALSE, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native false values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateNativeFalseValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("t1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_VALUE,
+ new JdbcTypedValue(0, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_VALUE,
+ new JdbcTypedValue("N", Types.CHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(0, Types.INTEGER));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue("N", Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(false, bc.getBintValue());
+ assertEquals(false, bc.getBcharValue());
+ assertEquals(Boolean.FALSE, bc.getBintObjectValue());
+ assertEquals(Boolean.FALSE, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass Boolean null values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateBooleanNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("t1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.BIT));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.BIT));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
+ * Checks whether we can pass native null values to doUpdate.
+ *
+ * @throws Exception if the test fails
+ */
+ public void testDoUpdateNativeNullValue() throws Exception
+ {
+ // prepare
+ fillTables();
+ // prepare
+ fillTables();
+ ColumnValues columnValues
+ = new ColumnValues(BintBcharValuePeer.getTableMap());
+ columnValues.put(
+ BintBcharValuePeer.ID,
+ new JdbcTypedValue("t1", Types.VARCHAR));
+ columnValues.put(
+ BintBcharValuePeer.BINT_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.NUMERIC));
+ columnValues.put(
+ BintBcharValuePeer.BCHAR_OBJECT_VALUE,
+ new JdbcTypedValue(null, Types.CHAR));
+
+ // execute
+ BintBcharValuePeer.doUpdate(columnValues);
+
+ // verify
+ BintBcharValue bc
+ = BintBcharValuePeer.retrieveByPK(new StringKey("t1"));
+ assertEquals(null, bc.getBintObjectValue());
+ assertEquals(null, bc.getBcharObjectValue());
+ }
+
+ /**
* Delete all previous data from the tested tables
* and re-inserts test data.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]