dlr 02/01/25 18:32:29
Modified: src/java/org/apache/torque/util BasePeer.java
Log:
Fix for a NPE noticed by Chris Dolan and myself which occurs when a
table does not have a primary key defined in its XML schema (even if
idMethod="none").
Revision Changes Path
1.22 +10 -5
jakarta-turbine-torque/src/java/org/apache/torque/util/BasePeer.java
Index: BasePeer.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/util/BasePeer.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -u -r1.21 -r1.22
--- BasePeer.java 26 Jan 2002 01:34:25 -0000 1.21
+++ BasePeer.java 26 Jan 2002 02:32:29 -0000 1.22
@@ -110,7 +110,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Frank Y. Kim</a>
* @author <a href="mailto:[EMAIL PROTECTED]">John D. McNally</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Brett McLaughlin</a>
- * @version $Id: BasePeer.java,v 1.21 2002/01/26 01:34:25 dlr Exp $
+ * @version $Id: BasePeer.java,v 1.22 2002/01/26 02:32:29 dlr Exp $
*/
public abstract class BasePeer implements java.io.Serializable
{
@@ -770,7 +770,9 @@
// setting both columns with your own values
boolean info = false;
- if (!criteria.containsKey(pk.getFullyQualifiedName()))
+ // pk will be null if there is no primary key defined for the table
+ // we're inserting into.
+ if (pk != null && !criteria.containsKey(pk.getFullyQualifiedName()))
{
if (keyGen == null)
{
@@ -796,17 +798,20 @@
}
}
- // Set up Village for the insert.
+ // Use Village to perform the insert.
TableDataSet tds = null;
try
{
- tds = new TableDataSet(dbCon.getConnection(), tableName );
+ tds = new TableDataSet(dbCon.getConnection(), tableName);
Record rec = tds.addRecord();
BasePeer.insertOrUpdateRecord(rec, tableName, criteria);
}
finally
{
- if (tds != null) tds.close();
+ if (tds != null)
+ {
+ tds.close();
+ }
}
// If the primary key column is auto-incremented, get the id
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>