Hi,
If you have tables with a VARCHAR or TIMESTAMP column as primary key, the
generated OM code doesn't compile.
Here are some patches to solve these compilation problems:
regards,
Maarten
Index: Object.vm
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/templates/om/Object.vm,v
retrieving revision 1.51
diff -u -r1.51 Object.vm
--- Object.vm 30 Sep 2002 14:27:03 -0000 1.51
+++ Object.vm 9 Oct 2002 12:59:44 -0000
@@ -1221,7 +1221,7 @@
#elseif($cjtype == "Double")
set${col.JavaName}(new Double(((NumberKey) key).doubleValue()));
#elseif($cjtype == "String")
- set${col.JavaName}(key.toString());
+ set${col.JavaName}(((StringKey)key).getString());
#elseif($cjtype == "Date")
set${col.JavaName}(((DateKey)key).getDate());
#else
@@ -1263,7 +1263,7 @@
#elseif($cjtype == "Double")
set${col.JavaName}(new Double(key));
#elseif($cjtype == "String")
- set${col.JavaName}($clo.toString());
+ set${col.JavaName}(key);
#elseif($cjtype == "Date")
set${col.JavaName}(new Date(key));
#else
@@ -1314,7 +1314,7 @@
#elseif($pktype == "Double")
set${pk.JavaName}(new Double(((NumberKey)keys[$i]).doubleValue()));
#elseif($pktype == "String")
- set${pk.JavaName}(keys[$i].toString());
+ set${pk.JavaName}(((StringKey)keys[$i]).getString());
#elseif($pktype == "Date")
set${pk.JavaName}(((DateKey)keys[$i]).getDate());
#end
Index: ObjectWithManager.vm
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/templates/om/ObjectWithManager.vm,v
retrieving revision 1.26
diff -u -r1.26 ObjectWithManager.vm
--- ObjectWithManager.vm 30 Sep 2002 04:32:04 -0000 1.26
+++ ObjectWithManager.vm 9 Oct 2002 13:00:25 -0000
@@ -1201,7 +1201,7 @@
#elseif($cjtype == "Double")
set${col.JavaName}(new Double(((NumberKey)$clo).doubleValue()));
#elseif($cjtype == "String")
- set${col.JavaName}($clo.toString());
+ set${col.JavaName}(((StringKey)$clo).getString());
#elseif($cjtype == "Date")
set${col.JavaName}(((DateKey)$clo).getDate());
#else
@@ -1290,7 +1290,7 @@
#elseif($pktype == "Double")
set${pk.JavaName}(new Double(((NumberKey)keys[$i]).doubleValue()));
#elseif($pktype == "String")
- set${pk.JavaName}(keys[$i].toString());
+ set${pk.JavaName}(((StringKey)keys[$i]).getString());
#elseif($pktype == "Date")
set${pk.JavaName}(((DateKey)keys[$i]).getDate());
#end
Index: SimpleKey.java
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/java/org/apache/torque/om/SimpleKey.java,v
retrieving revision 1.4
diff -u -r1.4 SimpleKey.java
--- SimpleKey.java 25 Sep 2002 05:46:51 -0000 1.4
+++ SimpleKey.java 9 Oct 2002 13:00:55 -0000
@@ -99,6 +99,16 @@
* @param key the key value
* @return a SimpleKey
*/
+ public static SimpleKey keyFor(double key)
+ {
+ return new NumberKey(key);
+ }
+
+ /**
+ * Creates a SimpleKey equivalent to key
+ * @param key the key value
+ * @return a SimpleKey
+ */
public static SimpleKey keyFor(Number key)
{
return new NumberKey(key);
Index: NumberKey.java
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/java/org/apache/torque/om/NumberKey.java,v
retrieving revision 1.12
diff -u -r1.12 NumberKey.java
--- NumberKey.java 24 Sep 2002 04:50:08 -0000 1.12
+++ NumberKey.java 9 Oct 2002 13:01:13 -0000
@@ -110,6 +110,14 @@
/**
* Creates a NumberKey equivalent to <code>key</code>.
+ */
+ public NumberKey(double key)
+ {
+ this.key = new BigDecimal(key);
+ }
+
+ /**
+ * Creates a NumberKey equivalent to <code>key</code>.
* Convenience only. Not very efficient at all.
*/
public NumberKey(int key)
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>