cvs commit: db-torque/src/generator/src/templates/om Object.vm ObjectWithManager.vm
dlr 2005/01/06 11:04:19 Modified:src/generator/src/templates/om Object.vm ObjectWithManager.vm Log: [second attempt] Fix the Java source code generation failure for OM class whose corresponding table lacks a PK. Observed behavior before this patch: Compilation error in BaseYourObject.setQueryKey(String) due to throws delcaration mismatch between Torque's BaseObject.setPrimaryKey(String) method and lack of generated setPrimaryKey(String) method. Had the override been generated, it would've had a throws declaration of TorqueException, instead of Exception as declared by BaseObject. [javac] .../BaseYourObject.java:392:9:392:26: Semantic Error: The method "void setPrimaryKey(java.lang.String $1) throws java.lang.Exception;" can throw the checked exception "java.lang.Exception", so its invocation must be enclosed in a try statement that catches the exception, or else this method must be declared to throw the exception. * src/generator/src/templates/om/Object.vm * src/generator/src/templates/om/ObjectWithManager.vm Wrap the invocation of setPrimaryKey(String) in a try/catch block to re-throw Exception as TorqueException in the setQueryKey(String) method. CollabNet-internal issue: PCN33929 Revision ChangesPath 1.20 +14 -0 db-torque/src/generator/src/templates/om/Object.vm Index: Object.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/Object.vm,v retrieving revision 1.19 retrieving revision 1.20 diff -u -u -r1.19 -r1.20 --- Object.vm 6 Jan 2005 19:01:35 - 1.19 +++ Object.vm 6 Jan 2005 19:04:19 - 1.20 @@ -1424,7 +1424,21 @@ public void setQueryKey(String key) throws TorqueException { + ## Work around the fact that BaseObject.setPrimaryKey() declares + ## that it throws Exception instead of TorqueException. + #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) + #if (!$tableHasPrimaryKey) +try +{ + #end setPrimaryKey(key); + #if (!$tableHasPrimaryKey) +} +catch (Exception e) +{ +throw new TorqueException("Unable to set query key", e); +} + #end } #end 1.15 +15 -1 db-torque/src/generator/src/templates/om/ObjectWithManager.vm Index: ObjectWithManager.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/ObjectWithManager.vm,v retrieving revision 1.14 retrieving revision 1.15 diff -u -u -r1.14 -r1.15 --- ObjectWithManager.vm 6 Jan 2005 19:01:35 - 1.14 +++ ObjectWithManager.vm 6 Jan 2005 19:04:19 - 1.15 @@ -1110,7 +1110,8 @@ ${table.JavaName}Peer.doUpdate(($table.JavaName) this, con); } - #if ($table.PrimaryKey.size() > 0) + #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) + #if ($tableHasPrimaryKey) #set ($interfaceName = $table.JavaName) #if ($table.Interface) #set ($interfaceName = $table.Interface) @@ -1400,7 +1401,20 @@ public void setQueryKey(String key) throws TorqueException { + ## Work around the fact that BaseObject.setPrimaryKey() declares + ## that it throws Exception instead of TorqueException. + #if (!$tableHasPrimaryKey) +try +{ + #end setPrimaryKey(key); + #if (!$tableHasPrimaryKey) +} +catch (Exception e) +{ +throw new TorqueException("Unable to set query key", e); +} + #end } #end - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om Object.vm ObjectWithManager.vm
dlr 2005/01/06 11:01:35 Modified:src/generator/src/templates/om Object.vm ObjectWithManager.vm Log: Previous commit did not include re-throw of Exception as TorqueException. Backing out commits to correct in a single change set. * src/generator/src/templates/om/Object.vm Reverting to CVS rev 1.17. * src/generator/src/templates/om/ObjectWithManager.vm Reverting to CVS rev 1.12. Revision ChangesPath 1.19 +0 -13 db-torque/src/generator/src/templates/om/Object.vm Index: Object.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/Object.vm,v retrieving revision 1.18 retrieving revision 1.19 diff -u -u -r1.18 -r1.19 --- Object.vm 6 Jan 2005 18:36:47 - 1.18 +++ Object.vm 6 Jan 2005 19:01:35 - 1.19 @@ -1424,20 +1424,7 @@ public void setQueryKey(String key) throws TorqueException { - ## Work around the fact that BaseObject.setPrimaryKey() declares - ## that it throws Exception instead of TorqueException. - #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) - #if (!$tableHasPrimaryKey) -try -{ - #end setPrimaryKey(key); - #if (!$tableHasPrimaryKey) -} -catch (Exception e) -{ -} - #end } #end 1.14 +1 -14 db-torque/src/generator/src/templates/om/ObjectWithManager.vm Index: ObjectWithManager.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/ObjectWithManager.vm,v retrieving revision 1.13 retrieving revision 1.14 diff -u -u -r1.13 -r1.14 --- ObjectWithManager.vm 6 Jan 2005 18:36:47 - 1.13 +++ ObjectWithManager.vm 6 Jan 2005 19:01:35 - 1.14 @@ -1110,8 +1110,7 @@ ${table.JavaName}Peer.doUpdate(($table.JavaName) this, con); } - #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) - #if ($tableHasPrimaryKey) + #if ($table.PrimaryKey.size() > 0) #set ($interfaceName = $table.JavaName) #if ($table.Interface) #set ($interfaceName = $table.Interface) @@ -1401,19 +1400,7 @@ public void setQueryKey(String key) throws TorqueException { - ## Work around the fact that BaseObject.setPrimaryKey() declares - ## that it throws Exception instead of TorqueException. - #if (!$tableHasPrimaryKey) -try -{ - #end setPrimaryKey(key); - #if (!$tableHasPrimaryKey) -} -catch (Exception e) -{ -} - #end } #end - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om Object.vm ObjectWithManager.vm
dlr 2005/01/06 10:36:47 Modified:src/generator/src/templates/om Object.vm ObjectWithManager.vm Log: Fix the Java source code generation failure for OM class whose corresponding table lacks a PK. Observed behavior before this patch: Compilation error in BaseYourObject.setQueryKey(String) due to throws delcaration mismatch between Torque's BaseObject.setPrimaryKey(String) method and lack of generated setPrimaryKey(String) method. Had the override been generated, it would've had a throws declaration of TorqueException, instead of Exception as declared by BaseObject. [javac] .../BaseYourObject.java:392:9:392:26: Semantic Error: The method "void setPrimaryKey(java.lang.String $1) throws java.lang.Exception;" can throw the checked exception "java.lang.Exception", so its invocation must be enclosed in a try statement that catches the exception, or else this method must be declared to throw the exception. * src/generator/src/templates/om/Object.vm * src/generator/src/templates/om/ObjectWithManager.vm Wrap the invocation of setPrimaryKey(String) in a try/catch block to re-throw Exception as TorqueException in the setQueryKey(String) method. CollabNet-internal issue: PCN33929 Revision ChangesPath 1.18 +13 -0 db-torque/src/generator/src/templates/om/Object.vm Index: Object.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/Object.vm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -u -r1.17 -r1.18 --- Object.vm 20 Oct 2004 01:28:18 - 1.17 +++ Object.vm 6 Jan 2005 18:36:47 - 1.18 @@ -1424,7 +1424,20 @@ public void setQueryKey(String key) throws TorqueException { + ## Work around the fact that BaseObject.setPrimaryKey() declares + ## that it throws Exception instead of TorqueException. + #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) + #if (!$tableHasPrimaryKey) +try +{ + #end setPrimaryKey(key); + #if (!$tableHasPrimaryKey) +} +catch (Exception e) +{ +} + #end } #end 1.13 +14 -1 db-torque/src/generator/src/templates/om/ObjectWithManager.vm Index: ObjectWithManager.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/ObjectWithManager.vm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -u -r1.12 -r1.13 --- ObjectWithManager.vm 20 Oct 2004 01:28:18 - 1.12 +++ ObjectWithManager.vm 6 Jan 2005 18:36:47 - 1.13 @@ -1110,7 +1110,8 @@ ${table.JavaName}Peer.doUpdate(($table.JavaName) this, con); } - #if ($table.PrimaryKey.size() > 0) + #set ($tableHasPrimaryKey = $table.PrimaryKey.size() > 0) + #if ($tableHasPrimaryKey) #set ($interfaceName = $table.JavaName) #if ($table.Interface) #set ($interfaceName = $table.Interface) @@ -1400,7 +1401,19 @@ public void setQueryKey(String key) throws TorqueException { + ## Work around the fact that BaseObject.setPrimaryKey() declares + ## that it throws Exception instead of TorqueException. + #if (!$tableHasPrimaryKey) +try +{ + #end setPrimaryKey(key); + #if (!$tableHasPrimaryKey) +} +catch (Exception e) +{ +} + #end } #end - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/transform DTDResolver.java
dlr 2004/10/12 15:02:01 Modified:src/generator/src/java/org/apache/torque/engine/database/transform DTDResolver.java Log: * src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java Adjusted warning text to improve grammar. Revision ChangesPath 1.12 +2 -2 db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java Index: DTDResolver.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -u -r1.11 -r1.12 --- DTDResolver.java 22 Feb 2004 06:27:19 - 1.11 +++ DTDResolver.java 12 Oct 2004 22:02:01 - 1.12 @@ -66,7 +66,7 @@ } else { -log.warn("Could not locate the database.dtd"); +log.warn("Could not locate database.dtd"); } } catch (Exception ex) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/sql/base/hypersonic table.vm
dlr 2004/04/17 14:19:03 Modified:src/generator/src/templates/sql/base/hypersonic Tag: TORQUE_3_1_BRANCH table.vm Log: * src/generator/src/templates/sql/base/hypersonic/table.vm Backport CVS rev 1.4, which contains the Hypersonic template fix from Serge Huber. Branch: TORQUE_3_1_BRANCH Revision ChangesPath No revision No revision 1.2.2.1 +1 -1 db-torque/src/generator/src/templates/sql/base/hypersonic/table.vm Index: table.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/sql/base/hypersonic/table.vm,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -u -r1.2 -r1.2.2.1 --- table.vm 29 Jun 2003 14:30:02 - 1.2 +++ table.vm 17 Apr 2004 21:19:03 - 1.2.2.1 @@ -2,7 +2,7 @@ - -- $table.Name - -##$generator.parse("$basepath/drop.vm", "", "table", $tbl) +$generator.parse("$basepath/drop.vm", "", "table", $tbl) CREATE TABLE $table.Name ( #set ( $cols = $generator.parse("$basepath/columns.vm", "", "table", $tbl) ) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om Object.vm
dlr 2004/04/17 14:08:09 Modified:src/generator/src/templates/om Object.vm Log: * src/generator/src/templates/om/Object.vm Work around "the type AbstractStringBuilder is not visible" error reported by Luca Zappa to be triggered by sequential calls to the append() method of StringBuffer using JSDK 1.5.0. Sounds like a problem with 1.5.0's compiler, but it costs us nothing to avoid code which triggers it. Revision ChangesPath 1.13 +3 -3 db-torque/src/generator/src/templates/om/Object.vm Index: Object.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/Object.vm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -u -r1.12 -r1.13 --- Object.vm 21 Jan 2004 23:05:57 - 1.12 +++ Object.vm 17 Apr 2004 21:08:09 - 1.13 @@ -1529,9 +1529,9 @@ StringBuffer str = new StringBuffer(); str.append("$table.JavaName:\n"); #foreach ($col in $table.Columns) -str.append("$col.JavaName = ") - .append(get${col.JavaName}()) - .append("\n"); +str.append("$col.JavaName = "); +str.append(get${col.JavaName}()); +str.append('\n'); #end return(str.toString()); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/platform PlatformMysqlImpl.java
dlr 2004/01/26 17:09:55 Modified:src/generator/src/java/org/apache/torque/engine/platform PlatformMysqlImpl.java Log: * src/generator/src/java/org/apache/torque/engine/platform/PlatformMysqlImpl.java initialize(): Map MySQL's "mediumint" type to SchemaType.INTEGER. Common applications like Bugzilla use this data type (e.g. the "userid" field is of type "mediumint(9)"). Revision ChangesPath 1.5 +2 -1 db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformMysqlImpl.java Index: PlatformMysqlImpl.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformMysqlImpl.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- PlatformMysqlImpl.java17 Jan 2004 01:51:33 - 1.4 +++ PlatformMysqlImpl.java27 Jan 2004 01:09:55 - 1.5 @@ -80,6 +80,7 @@ private void initialize() { setSchemaDomainMapping(new Domain(SchemaType.NUMERIC, "DECIMAL")); +setSchemaDomainMapping(new Domain(SchemaType.INTEGER, "MEDIUMINT")); setSchemaDomainMapping(new Domain(SchemaType.LONGVARCHAR, "MEDIUMTEXT")); setSchemaDomainMapping(new Domain(SchemaType.DATE, "DATETIME")); setSchemaDomainMapping(new Domain(SchemaType.BINARY, "BLOB")); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/xdocs navigation.xml
dlr 2004/01/26 17:31:03 Modified:xdocsnavigation.xml Log: * xdocs/navigation.xml Removed ApacheCon 2003 banner and link. Revision ChangesPath 1.14 +0 -4 db-torque/xdocs/navigation.xml Index: navigation.xml === RCS file: /home/cvs/db-torque/xdocs/navigation.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -u -r1.13 -r1.14 --- navigation.xml28 Oct 2003 08:36:32 - 1.13 +++ navigation.xml27 Jan 2004 01:31:03 - 1.14 @@ -10,10 +10,6 @@ http://db.apache.org/torque/maven-plugin/"/> - -http://apachecon.com/2003/US/index.html"; img="http://jakarta.apache.org/images/logos/ac2003-150.gif"/> - - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/model Column.java
dlr 2004/01/26 17:23:16 Modified:src/generator/src/java/org/apache/torque/engine/database/model Column.java Log: * src/generator/src/java/org/apache/torque/engine/database/model/Column.java Changed single character string literals to characters throughout for possibly improved performance. Revision ChangesPath 1.22 +5 -5 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Column.java Index: Column.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Column.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -u -r1.21 -r1.22 --- Column.java 17 Jan 2004 01:52:11 - 1.21 +++ Column.java 27 Jan 2004 01:23:16 - 1.22 @@ -986,12 +986,12 @@ { StringBuffer sb = new StringBuffer(); sb.append(getName()); -sb.append(" "); +sb.append(' '); sb.append(getDomain().getSqlType()); if (getPlatform().hasSize(getDomain().getSqlType())) { sb.append(getDomain().printSize()); -sb.append(" "); +sb.append(' '); } if (getDomain().getDefaultValue() != null) { @@ -1005,10 +1005,10 @@ { sb.append(getDefaultValue()); } -sb.append(" "); +sb.append(' '); } sb.append(getNotNullString()); -sb.append(" "); +sb.append(' '); sb.append(getAutoIncrementString()); return sb.toString(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/sql/id-table Control.vm
dlr 2004/01/26 17:25:35 Modified:src/generator/src/templates/sql/id-table Control.vm Log: * src/generator/src/templates/sql/id-table/Control.vm Used single quotes for a string literal to avoid unnecessary interpolation by Velocity. Revision ChangesPath 1.4 +1 -1 db-torque/src/generator/src/templates/sql/id-table/Control.vm Index: Control.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/sql/id-table/Control.vm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- Control.vm17 Jan 2004 01:48:49 - 1.3 +++ Control.vm27 Jan 2004 01:25:35 - 1.4 @@ -1,6 +1,6 @@ #set ( $fname = "sql/id-table/idtable.$targetDatabase" ) #foreach ($dataModel in $dataModels) #set ( $outFile = "${dataModel.FileName}-idtable-init.sql" ) - $generator.parse($fname,"$outFile","tables",$dataModel.tables) + $generator.parse($fname, "$outFile", 'tables', $dataModel.tables) #set ( $initialID = $initialID + 1000 ) #end - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/model Index.java
dlr 2003/12/08 18:15:49 Modified:src/generator/src/java/org/apache/torque/engine/database/model Index.java Log: * src/generator/src/java/org/apache/torque/engine/database/model/Index.java Index(Table, List): Use !isEmpty() over size() > 0, as it allows for Collection implementation-internal performance optimization. Revision ChangesPath 1.4 +2 -2 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Index.java Index: Index.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Index.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- Index.java1 Dec 2003 16:56:30 - 1.3 +++ Index.java9 Dec 2003 02:15:48 - 1.4 @@ -108,7 +108,7 @@ { this(); setTable(table); -if (indexColumns.size() > 0) +if (!indexColumns.isEmpty()) { this.indexColumns = indexColumns; createName(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/model TypeMap.java
dlr 2003/12/08 18:00:02 Modified:src/generator/src/java/org/apache/torque/engine/database/model TypeMap.java Log: * src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java getTorqueType(Integer): Corrected wording in JavaDoc and improved the logging output. Revision ChangesPath 1.6 +4 -3 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java Index: TypeMap.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/TypeMap.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -u -r1.5 -r1.6 --- TypeMap.java 5 Dec 2003 15:57:25 - 1.5 +++ TypeMap.java 9 Dec 2003 02:00:02 - 1.6 @@ -580,7 +580,7 @@ /** * Returns Torque type constant corresponding to JDBC type code. - * Used but Torque JDBC task. + * Used by the Torque JDBC task. * * @param sqlType the SQL type * @return Torque type constant @@ -595,8 +595,9 @@ SchemaType st = (SchemaType) jdbcToTorqueTypeMap.get(sqlType); if (st == null) { -log.warn("SchemaType for JdbcType " + sqlType + " is not defined"); st = SchemaType.VARCHAR; +log.warn("SchemaType for JdbcType '" + sqlType + + "' is not defined: Defaulting to '" + st + '\''); } return st; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/sql/base/mysql table.vm
dlr 2003/12/01 18:41:23 Modified:src/generator/src/templates/sql/base/mysql table.vm Log: * src/generator/src/templates/sql/base/mysql/table.vm Replaced double quotes around string literals with single quotes to avoid unnecessary interpolation by Velocity. No other change. Revision ChangesPath 1.2 +6 -6 db-torque/src/generator/src/templates/sql/base/mysql/table.vm Index: table.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/sql/base/mysql/table.vm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- table.vm 10 Feb 2003 13:18:49 - 1.1 +++ table.vm 2 Dec 2003 02:41:23 - 1.2 @@ -5,15 +5,15 @@ $generator.parse("$basepath/drop.vm", "", "table", $tbl) CREATE TABLE $table.Name ( -#set ( $cols = $generator.parse("$basepath/columns.vm", "", "table", $tbl) ) -#set ( $pk = $generator.parse("$basepath/primarykey.vm", "", "table", $tbl) ) -#set ( $fk = $generator.parse("$basepath/foreignkey.vm", "", "table", $tbl) ) -#set ( $unique = $generator.parse("$basepath/unique.vm", "", "table", $tbl) ) -#set ( $index = $generator.parse("$basepath/index.vm", "", "table", $tbl) ) +#set ( $cols = $generator.parse("$basepath/columns.vm", '', "table", $tbl) ) +#set ( $pk = $generator.parse("$basepath/primarykey.vm", '', "table", $tbl) ) +#set ( $fk = $generator.parse("$basepath/foreignkey.vm", '', "table", $tbl) ) +#set ( $unique = $generator.parse("$basepath/unique.vm", '', "table", $tbl) ) +#set ( $index = $generator.parse("$basepath/index.vm", '', "table", $tbl) ) #if($strings.allEmpty([$pk,$fk,$unique,$index]))$strings.chop($cols,2)#else$cols#end #if($strings.allEmpty([$fk,$unique,$index]) && $pk.length()>0)$strings.chop($pk,2)#else$pk#end #if($strings.allEmpty([$unique,$index]) && $fk.length() >0)$strings.chop($fk,2)#else$fk#end #if($strings.allEmpty([$index]) && $unique.length()>0)$strings.chop($unique,2)#else$unique#end #if($index.length() > 0)$strings.chop($index,2)#end -)#if($dbprops.get("tableType")) Type=$dbprops.get("tableType")#end; +)#if($dbprops.get('tableType')) Type=$dbprops.get('tableType')#end; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/sql/base Control.vm
dlr 2003/12/01 18:35:10 Modified:src/generator/src/templates/sql/base Control.vm Log: * src/generator/src/templates/sql/base/Control.vm Added handling for the case where $outFile already ends in the ".sql" extension, as there's no need to append it if it's already there. Revision ChangesPath 1.4 +5 -2 db-torque/src/generator/src/templates/sql/base/Control.vm Index: Control.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/sql/base/Control.vm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- Control.vm25 Nov 2003 16:57:14 - 1.3 +++ Control.vm2 Dec 2003 02:35:10 - 1.4 @@ -10,9 +10,12 @@ Platform used: $platform.class.Name - #set ( $outFile = "${database.FileName}.sql" ) + #set ($outFile = "$database.FileName") + #if (!$outFile.toLowerCase().endsWith('.sql')) +#set ($outFile = "${outFile}.sql") + #end - File to be created: $outFile + SQL file to be created: $outFile #foreach ($tbl in $database.tables) Primary Key:#if ($tbl.hasPrimaryKey()) Yes #else No #end - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/platform PlatformDefaultImpl.java Platform.java PlatformMssqlImpl.java
dlr 2003/12/01 18:27:22 Modified:src/generator/src/java/org/apache/torque/engine/platform PlatformDefaultImpl.java Platform.java PlatformMssqlImpl.java Log: * src/generator/src/java/org/apache/torque/engine/platform/Platform.java * src/generator/src/java/org/apache/torque/engine/platform/PlatformDefaultImpl.java * src/generator/src/java/org/apache/torque/engine/platform/PlatformMssqlImpl.java getNullString(boolean): JavaDoc improvements and implementation brevity touch-ups. Revision ChangesPath 1.4 +8 -12 db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformDefaultImpl.java Index: PlatformDefaultImpl.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformDefaultImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- PlatformDefaultImpl.java 25 Nov 2003 16:57:13 - 1.3 +++ PlatformDefaultImpl.java 2 Dec 2003 02:27:22 - 1.4 @@ -122,19 +122,15 @@ } /** - * - * @param notNull - * @return + * @return Only produces a SQL fragment if null values are + * disallowed. + * @see Platform#getNullString(boolean) */ public String getNullString(boolean notNull) { -if (notNull) -{ -// TODO check if this is true for all dbs -// check old sybase templates! -return "NOT NULL"; -} -return ""; +// TODO: Check whether this is true for all DBs. Also verify +// the old Sybase templates. +return (notNull ? "NOT NULL" : ""); } - + } 1.4 +4 -5 db-torque/src/generator/src/java/org/apache/torque/engine/platform/Platform.java Index: Platform.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/platform/Platform.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- Platform.java 25 Nov 2003 16:57:13 - 1.3 +++ Platform.java 2 Dec 2003 02:27:22 - 1.4 @@ -88,10 +88,9 @@ Domain getDomainForSchemaType(SchemaType jdbcType); /** - * Returns the db specific String for NULL or NOT NULL. - * - * @return the db specific String + * @return The RDBMS-specific SQL fragment for NULL + * or NOT NULL. */ String getNullString(boolean notNull); - + } 1.4 +4 -9 db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformMssqlImpl.java Index: PlatformMssqlImpl.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/platform/PlatformMssqlImpl.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- PlatformMssqlImpl.java25 Nov 2003 16:57:13 - 1.3 +++ PlatformMssqlImpl.java2 Dec 2003 02:27:22 - 1.4 @@ -99,18 +99,13 @@ } /** - * Explicitly returns NULL if null values allowed - * (as recomended by Microsoft). - * + * @return Explicitly returns NULL if null values are + * allowed (as recomended by Microsoft). * @see Platform#getNullString(boolean) */ public String getNullString(boolean notNull) { -if (notNull) -{ -return "NOT NULL"; -} -return "NULL"; +return (notNull ? "NOT NULL" : "NULL"); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om Object.vm
dlr 2003/10/29 14:57:59 Modified:src/generator/src/templates/om Object.vm Log: * src/generator/src/templates/om/Object.vm A schema like this: ... ...was resulting in Java code generated like this: /** * The value for the attachment_count field */ private Byte count = new Byte(0); ...which produced a compile error, since Byte has only constructors for String and byte, not int. To fix, we cast the default value from a primitive int to byte. Revision ChangesPath 1.9 +2 -0 db-torque/src/generator/src/templates/om/Object.vm Index: Object.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/Object.vm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -u -r1.8 -r1.9 --- Object.vm 11 Sep 2003 22:51:39 - 1.8 +++ Object.vm 29 Oct 2003 22:57:59 - 1.9 @@ -93,6 +93,8 @@ #elseif ($cjtype == "StringKey") #set ( $quote = '"' ) #set ($defVal = "= new StringKey($quote$defaultValue$quote)") + #elseif ($cjtype == 'Byte') +#set ($defVal = "= new ${cjtype}((byte) $defaultValue)") #else #if (!$col.isPrimitive() && $cjtype != "String") #set ( $defaultValue = "new ${cjtype}($defaultValue)" ) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/conf default.properties
dlr 2003/10/08 18:33:22 Modified:src/generator/src/conf default.properties Log: * src/generator/src/conf/default.properties torque.useManagers: Added a comment. Revision ChangesPath 1.5 +1 -0 db-torque/src/generator/src/conf/default.properties Index: default.properties === RCS file: /home/cvs/db-torque/src/generator/src/conf/default.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- default.properties11 Sep 2003 22:51:39 - 1.4 +++ default.properties9 Oct 2003 01:33:22 - 1.5 @@ -115,6 +115,7 @@ torque.complexObjectModel = ${complexObjectModel} torque.saveException = Exception torque.useClasspath = ${useClasspath} +# Whether to generate Manager classes for JCS-based caching. torque.useManagers = ${useManagers} torque.objectIsCaching = true - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om MapBuilder.vm
dlr 2003/09/03 16:24:05 Modified:src/generator/src/templates/om MapBuilder.vm Log: * src/generator/src/templates/om/MapBuilder.vm $generateDeprecated is defined in conf/default.properties as "torque.generateDeprecated = true". Ian Ragsdale reports the following error, hinting that $generateDeprecated is treated as a Boolean: Mon Sep 01 19:53:34 CDT 2003 [error] Error in evaluation of == expression. Both arguments must be of the same Class. Currently left = class java.lang.Boolean, right = class java.lang.String. om/MapBuilder.vm [line 28, column 28] (ASTEQNode) Adjusted usage of $generateDeprecated accordingly. Revision ChangesPath 1.4 +1 -1 db-torque/src/generator/src/templates/om/MapBuilder.vm Index: MapBuilder.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/MapBuilder.vm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- MapBuilder.vm 7 Aug 2003 13:13:00 - 1.3 +++ MapBuilder.vm 3 Sep 2003 23:24:05 - 1.4 @@ -25,7 +25,7 @@ public static final String CLASS_NAME = "${package}.map.${table.JavaName}MapBuilder"; -#if ($generateDeprecated == "true") +#if ($generateDeprecated) /** * Item * @deprecated use ${table.JavaName}Peer.TABLE_NAME constant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/transform XmlToAppData.java
dlr 2003/07/31 09:05:21 Modified:src/generator/src/java/org/apache/torque/engine/database/transform XmlToAppData.java Log: * src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java resolveEntity(): Added JavaDoc pointer to DTDResolver's implementation. Revision ChangesPath 1.7 +2 -1 db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/XmlToAppData.java Index: XmlToAppData.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/XmlToAppData.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -u -r1.6 -r1.7 --- XmlToAppData.java 28 Jul 2003 20:19:02 - 1.6 +++ XmlToAppData.java 31 Jul 2003 16:05:21 - 1.7 @@ -213,6 +213,7 @@ * @param publicId The public identifier of the external entity * @param systemId The system identifier of the external entity * @return an InputSource for the database.dtd file + * @see org.apache.torque.engine.database.transform.DTDResolver.resolveEntity(String, String) */ public InputSource resolveEntity(String publicId, String systemId) throws SAXException - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/transform DTDResolver.java
dlr 2003/07/31 09:04:06 Modified:src/generator/src/java/org/apache/torque/engine/database/transform DTDResolver.java Log: * src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java resolveEntity(): Improved header JavaDoc and logging. getInputSource(): Obviated the need for the local "src" variable by returning directly. The need for this entire method is...quesitonable. Revision ChangesPath 1.9 +12 -13 db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java Index: DTDResolver.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/DTDResolver.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -u -r1.8 -r1.9 --- DTDResolver.java 28 Jul 2003 16:34:27 - 1.8 +++ DTDResolver.java 31 Jul 2003 16:04:06 - 1.9 @@ -114,11 +114,13 @@ } /** - * called by the XML parser + * An implementation of the SAX EntityResolver + * interface to be called by the XML parser. * * @param publicId The public identifier of the external entity * @param systemId The system identifier of the external entity - * @return an InputSource for the database.dtd file + * @return An InputSource for the + * database.dtd file. */ public InputSource resolveEntity(String publicId, String systemId) throws IOException @@ -126,21 +128,19 @@ if (databaseDTD != null && WEB_SITE_DTD.equals(systemId)) { String pkg = getClass().getName().substring(0, -getClass().getName().lastIndexOf(".")); - -log.info("Resolver: used database.dtd from " -+ pkg + " package "); - +getClass().getName().lastIndexOf('.')); +log.info("Resolver: used database.dtd from '" + + pkg + "' package"); return databaseDTD; } -else if (systemId == null) +else if (systemId == null || "".equals(systemId.trim())) { -log.info("Resolver: used " + WEB_SITE_DTD); +log.info("Resolver: used '" + WEB_SITE_DTD + '\''); return getInputSource(WEB_SITE_DTD); } else { -log.info("Resolver: used " + systemId); +log.info("Resolver: used '" + systemId + '\''); return getInputSource(systemId); } } @@ -155,7 +155,6 @@ throws IOException { URL url = new URL(urlString); -InputSource src = new InputSource(url.openStream()); -return src; +return new InputSource(url.openStream()); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/transform XmlToData.java
dlr 2003/07/31 08:26:58 Modified:src/generator/src/java/org/apache/torque/engine/database/transform XmlToData.java Log: * src/generator/src/java/org/apache/torque/engine/database/transform/XmlToData.java Quote the table name used in the error message. Revision ChangesPath 1.10 +2 -2 db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/XmlToData.java Index: XmlToData.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/transform/XmlToData.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -u -r1.9 -r1.10 --- XmlToData.java28 Jul 2003 20:19:02 - 1.9 +++ XmlToData.java31 Jul 2003 15:26:58 - 1.10 @@ -162,7 +162,7 @@ if (table == null) { -throw new SAXException("Table " + rawName + " unknown."); +throw new SAXException("Table '" + rawName + "' unknown"); } List columnValues = new ArrayList(); for (int i = 0; i < attributes.getLength(); i++) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/avalon TorqueComponent.java
dlr 2003/07/02 16:03:58 Modified:src/java/org/apache/torque Torque.java TorqueInstance.java src/java/org/apache/torque/avalon TorqueComponent.java Log: Work towards the goal of allowing multiple instances of TorqueInstance per ClassLoader hierarchy. * src/java/org/apache/torque/Torque.java torqueSingleton, getInstance(): Added singleton implementation cribbed from TorqueInstance.java. * src/java/org/apache/torque/TorqueInstance.java Updated header JavaDoc. TorqueInstance(): Made ctor public to allow instantiation of the Torque core. torqueSingleton, getInstance(): Removed singleton implementation. * src/java/org/apache/torque/avalon/TorqueComponent.java torqueInstance, getTorque(): To allow both the Torque static wrapper and an Avalon component to be used within the same ClassLoader hierarchy, TorqueComponent now use its own instance of TorqueInstance. TorqueComponent(), TorqueComponent(TorqueInstance): Explicitly define the default ctor used by Avalon's componentry, and supply a protected cotr which it delegates to for definition of the TorqueInstance to use. Revision ChangesPath 1.89 +12 -2 db-torque/src/java/org/apache/torque/Torque.java Index: Torque.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/Torque.java,v retrieving revision 1.88 retrieving revision 1.89 diff -u -u -r1.88 -r1.89 --- Torque.java 2 Jul 2003 22:19:07 - 1.88 +++ Torque.java 2 Jul 2003 23:03:57 - 1.89 @@ -113,6 +113,12 @@ */ public static final String CACHE_KEY = "manager.useCache"; +/** + * The single instance of [EMAIL PROTECTED] TorqueInstance} used by the + * static API presented by this class. + */ +private static TorqueInstance torqueSingleton = null; + /** * This is a member variable of Torque objects created by the Stratum * lifecycle @@ -137,7 +143,11 @@ */ private static TorqueInstance getInstance() { -return TorqueInstance.getInstance(); +if (torqueSingleton == null) +{ +torqueSingleton = new TorqueInstance(); +} +return torqueSingleton; } /** 1.3 +11 -35db-torque/src/java/org/apache/torque/TorqueInstance.java Index: TorqueInstance.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/TorqueInstance.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- TorqueInstance.java 2 Jul 2003 05:02:05 - 1.2 +++ TorqueInstance.java 2 Jul 2003 23:03:57 - 1.3 @@ -81,11 +81,11 @@ import org.apache.torque.util.BasePeer; /** - * The implementation of Torque. - * - * This is a singleton pattern so that Torque works both as a Avalon component - * and as a standalone application by using the Torque facade. - * + * The core of Torque's implementation. Both the classic [EMAIL PROTECTED] + * org.apache.torque.Torque} static wrapper and the [EMAIL PROTECTED] + * org.apache.torque.avalon.TorqueComponent} http://avalon.apache.org/";>Avalon implementation leverage + * this class. * * @author mailto:[EMAIL PROTECTED]">Daniel Rall * @author mailto:[EMAIL PROTECTED]">Magnús Þór Torfason @@ -145,42 +145,18 @@ */ private List mapBuilders = null; -/* - * - * - * Singleton Pattern - * - * - */ - -/** The only instance in this class */ -private static TorqueInstance torqueSingleton = null; - /** - * C'tor + * Creates a new instance with default configuration. + * + * @see #resetConfiguration() */ -private TorqueInstance() +public TorqueInstance() { resetConfiguration(); } /** - * Fetch the Torque Instance from the Singleton - * - * @return The only TorqueInstance Instance - */ - -public static synchronized TorqueInstance getInstance() -{ -if (torqueSingleton == null) -{ -torqueSingleton = new TorqueInstance(); -} -return torqueSingleton; -} - -/** - * initialize Torque + * Initializes this instance of Torque. * * @see org.apache.stratum.lifecycle.Initializable * @throws TorqueException Any exceptions caught during processing will be 1.6 +25 -5 db-torque/src/java/org/apa
cvs commit: db-torque/src/java/org/apache/torque Torque.java
dlr 2003/07/02 15:19:08 Modified:src/java/org/apache/torque Torque.java Log: * src/java/org/apache/torque/Torque.java Documentation updates per dev list buzz. Revision ChangesPath 1.88 +8 -4 db-torque/src/java/org/apache/torque/Torque.java Index: Torque.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/Torque.java,v retrieving revision 1.87 retrieving revision 1.88 diff -u -u -r1.87 -r1.88 --- Torque.java 2 Jul 2003 04:58:10 - 1.87 +++ Torque.java 2 Jul 2003 22:19:07 - 1.88 @@ -75,6 +75,8 @@ * and will be removed in the future in favour of using Torque as an Avalon * Component. * + * @todo This class will be made abstract once Stratum is removed. + * * @author mailto:[EMAIL PROTECTED]">Daniel Rall * @author mailto:[EMAIL PROTECTED]">Magnús Þór Torfason * @author mailto:[EMAIL PROTECTED]">Jason van Zyl @@ -120,16 +122,18 @@ /** * C'tor for usage with the Stratum Lifecycle. * - * @todo Should be removed / made private once Stratum is removedP + * @todo Should be made private or protected once Stratum is + * removed. */ public Torque() { } /** - * Get the TorqueInstance Instance. + * Retrieves the single [EMAIL PROTECTED] org.apache.torque.TorqueInstance} + * used by this class. * - * @return A Torque Singleton instance + * @return Our singleton. */ private static TorqueInstance getInstance() { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/ojb/repository Repository.vm
dlr 2003/07/02 15:04:52 Modified:src/generator/src/templates/ojb/repository Repository.vm Log: * src/generator/src/templates/ojb/repository/Repository.vm Corrected spelling of "determine" in comment. Revision ChangesPath 1.4 +1 -1 db-torque/src/generator/src/templates/ojb/repository/Repository.vm Index: Repository.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/ojb/repository/Repository.vm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- Repository.vm 2 Jul 2003 16:01:54 - 1.3 +++ Repository.vm 2 Jul 2003 22:04:52 - 1.4 @@ -44,7 +44,7 @@ #set ( $colType = $col.getType() ) #set ( $colTypeClass = $colType.getClass() ) #set ( $colTypeClassName = $colTypeClass.getName() ) -## === determin the type of the field. OJB recognizes less types than Torque, thus unkown types must be mapped +## === determine the type of the field. OJB recognizes less types than Torque, thus unkown types must be mapped #if ($mappingPos != -1) #set ( $jdbcFieldType = $mappedJdbcTypes.get($mappingPos) ) #if ( $mappedJdbcTypes.get($mappingPos) == "CHAR" ) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque TorqueInstance.java
dlr 2003/07/01 22:02:05 Modified:src/java/org/apache/torque TorqueInstance.java Log: * src/java/org/apache/torque/TorqueInstance.java initDataSourceFactories(): Added a message for when an error reading adapter configuration is logged. Revision ChangesPath 1.2 +2 -2 db-torque/src/java/org/apache/torque/TorqueInstance.java Index: TorqueInstance.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/TorqueInstance.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- TorqueInstance.java 2 Jul 2003 04:59:49 - 1.1 +++ TorqueInstance.java 2 Jul 2003 05:02:05 - 1.2 @@ -328,7 +328,7 @@ } catch (Exception e) { -log.error("", e); +log.error("Error reading adapter configuration", e); throw new TorqueException(e); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque TorqueInstance.java
dlr 2003/07/01 21:59:49 Added: src/java/org/apache/torque TorqueInstance.java Log: * src/java/org/apache/torque/TorqueInstance.java * src/java/org/apache/torque/TorqueSingleton.java * src/java/org/apache/torque/Torque.java * src/java/org/apache/torque/avalon/TorqueComponent.java Replaced TorqueSingleton with TorqueInstance, with the goal of allowing multiple TorqueInstance instances per ClassLoader. * xdocs/changes.xml Added a new section for the development version (tentively alpha3), and noted the presence of TorqueInstance. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/TorqueInstance.java Index: TorqueInstance.java === package org.apache.torque; /* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in *the documentation and/or other materials provided with the *distribution. * * 3. The end-user documentation included with the redistribution, *if any, must include the following acknowledgment: * "This product includes software developed by the *Apache Software Foundation (http://www.apache.org/)." *Alternately, this acknowledgment may appear in the software itself, *if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and *"Apache Turbine" must not be used to endorse or promote products *derived from this software without prior written permission. For *written permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache", *"Apache Turbine", nor may "Apache" appear in their name, without *prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.torque.adapter.DB; import org.apache.torque.adapter.DBFactory; import org.apache.torque.dsfactory.DataSourceFactory; import org.apache.torque.manager.AbstractBaseManager; import org.apache.torque.map.DatabaseMap; import org.apache.torque.map.TableMap; import org.apache.torque.oid.IDBroker; import org.apache.torque.oid.IDGeneratorFactory; import org.apache.torque.util.BasePeer; /** * The implementation of Torque. * * This is a singleton pattern so that Torque works both as a Avalon component * and as a standalone application by using the Torque facade. * * * @author mailto:[EMAIL PROTECTED]">Daniel Rall * @author mailto:[EMAIL PROTECTED]">Magnús Þór Torfason * @author mailto:[EMAIL PROTECTED]">Jason van Zyl * @auth
cvs commit: db-torque/src/java/org/apache/torque TorqueSingleton.java
dlr 2003/07/01 21:58:47 Removed: src/java/org/apache/torque TorqueSingleton.java Log: * src/java/org/apache/torque/TorqueInstance.java * src/java/org/apache/torque/TorqueSingleton.java * src/java/org/apache/torque/Torque.java * src/java/org/apache/torque/avalon/TorqueComponent.java Replaced TorqueSingleton with TorqueInstance, with the goal of allowing multiple TorqueInstance instances per ClassLoader. * xdocs/changes.xml Added a new section for the development version (tentively alpha3), and noted the presence of TorqueInstance. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/manager package.html
dlr 2003/06/26 15:42:17 Modified:src/java/org/apache/torque/manager package.html Log: Corrected typo. Revision ChangesPath 1.2 +1 -1 db-torque/src/java/org/apache/torque/manager/package.html Index: package.html === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/manager/package.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- package.html 26 Jun 2003 22:28:14 - 1.1 +++ package.html 26 Jun 2003 22:42:16 - 1.2 @@ -2,6 +2,6 @@ -An manager/factory API for use with Torque-generated data beans. +A manager/factory API for use with Torque-generated data beans. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/pool package.html
dlr 2003/06/26 15:37:48 Modified:src/java/org/apache/torque/pool package.html Log: Improved wording. Revision ChangesPath 1.2 +1 -1 db-torque/src/java/org/apache/torque/pool/package.html Index: package.html === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/pool/package.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- package.html 14 Mar 2002 00:15:38 - 1.1 +++ package.html 26 Jun 2003 22:37:47 - 1.2 @@ -2,6 +2,6 @@ -connection pool. +Torque's classic connection pool. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/util package.html
dlr 2003/06/26 15:37:15 Added: src/java/org/apache/torque/util package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/util/package.html Index: package.html === Misc. utility classes. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/om package.html
dlr 2003/06/26 15:36:37 Added: src/java/org/apache/torque/om package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/om/package.html Index: package.html === API for the classic Torque-generated object model. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/oid package.html
dlr 2003/06/26 15:35:17 Added: src/java/org/apache/torque/oid package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/oid/package.html Index: package.html === The ID broker, an API to provide http://www.software.ibm.com/wsdd/techjournal/0306_biernat/biernat.html";>persistent object identifiers, as described by Scott Ambler's paper on "Enterprise-Ready Object IDs". - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/map package.html
dlr 2003/06/26 15:30:58 Added: src/java/org/apache/torque/map package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/map/package.html Index: package.html === Description of the schema layout. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/manager package.html
dlr 2003/06/26 15:28:14 Added: src/java/org/apache/torque/manager package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/manager/package.html Index: package.html === An manager/factory API for use with Torque-generated data beans. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/dsfactory package.html
dlr 2003/06/26 15:25:25 Added: src/java/org/apache/torque/dsfactory package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/dsfactory/package.html Index: package.html === Torque's API for creation of various http://http://java.sun.com/products/jdbc/jdbc2_0_1-stdext-javadoc/javax/sql/DataSource.html";>javax.sql.DataSource implementations. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/avalon package.html
dlr 2003/06/26 15:22:37 Added: src/java/org/apache/torque/avalon package.html Log: Brief package-level documentation, displayed on pages like http://db.apache.org/torque/apidocs/index.html. Revision ChangesPath 1.1 db-torque/src/java/org/apache/torque/avalon/package.html Index: package.html === http://avalon.apache.org/";>Avalon component implementation. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/adapter package.html
dlr 2003/06/26 15:20:04 Modified:src/java/org/apache/torque/adapter package.html Log: Improved wording. Revision ChangesPath 1.2 +1 -1 db-torque/src/java/org/apache/torque/adapter/package.html Index: package.html === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/adapter/package.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- package.html 14 Mar 2002 00:15:38 - 1.1 +++ package.html 26 Jun 2003 22:20:04 - 1.2 @@ -2,6 +2,6 @@ -database adapters. +Adapters between Torque and various databases. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/xdocs schema-reference.xml
dlr 2003/06/26 15:15:48 Modified:src/generator/xdocs schema-reference.xml Log: * src/generator/xdocs/schema-reference.xml heavyIndexing: Removed stray closing tag, and tweaked last bit of text. Revision ChangesPath 1.3 +2 -2 db-torque/src/generator/xdocs/schema-reference.xml Index: schema-reference.xml === RCS file: /home/cvs/db-torque/src/generator/xdocs/schema-reference.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- schema-reference.xml 26 Jun 2003 22:10:49 - 1.2 +++ schema-reference.xml 26 Jun 2003 22:15:48 - 1.3 @@ -89,8 +89,8 @@ clause of the SQL query used against this table for the primary key index to be used. This feature could cause problems under MySQL with heavily indexed - tables, by causing too many indices to be created - (overrunning MySQL's table limit). + tables, by causing too many indices to be created, + overrunning MySQL's table limit. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/xdocs schema-reference.xml
dlr 2003/06/26 15:10:49 Modified:src/generator/xdocs schema-reference.xml Log: * src/generator/xdocs/schema-reference.xml heavyIndexing: Added documenation pulled from the JavaDoc of org.apache.torque.engine.database.model.Table's doHeavyIndexing() method. Revision ChangesPath 1.2 +13 -1 db-torque/src/generator/xdocs/schema-reference.xml Index: schema-reference.xml === RCS file: /home/cvs/db-torque/src/generator/xdocs/schema-reference.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- schema-reference.xml 26 Jun 2003 21:41:36 - 1.1 +++ schema-reference.xml 26 Jun 2003 22:10:49 - 1.2 @@ -78,7 +78,19 @@ heavyIndexing - ? (true or false, defaults to false) + Adds extra indices for multi-part primary key + columns. true or false, defaults to false. + + For databases like MySQL, values in a where clause + must match key part order from the left to right. + So, in the key definition PRIMARY KEY (FOO_ID, + BAR_ID), FOO_ID must be + the first element used in the where + clause of the SQL query used against this table for + the primary key index to be used. This feature could + cause problems under MySQL with heavily indexed + tables, by causing too many indices to be created + (overrunning MySQL's table limit). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/java/org/apache/torque/engine/database/model Table.java
dlr 2003/06/26 15:09:41 Modified:src/generator/src/java/org/apache/torque/engine/database/model Table.java Log: * src/generator/src/java/org/apache/torque/engine/database/model/Table.java doHeavyIndexing(): Fixed typo in JavaDoc. Revision ChangesPath 1.3 +2 -2 db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Table.java Index: Table.java === RCS file: /home/cvs/db-torque/src/generator/src/java/org/apache/torque/engine/database/model/Table.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- Table.java26 Jun 2003 06:59:56 - 1.2 +++ Table.java26 Jun 2003 22:09:41 - 1.3 @@ -208,7 +208,7 @@ /** * Adds extra indices for multi-part primary key columns. * - * For databases like MySQL, values in a where clause much + * For databases like MySQL, values in a where clause must * match key part order from the left to right. So, in the key * definition PRIMARY KEY (FOO_ID, BAR_ID), * FOO_ID must be the first element used in - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/util BasePeer.java
dlr 2003/06/25 12:31:16 Modified:src/java/org/apache/torque/util BasePeer.java Log: * src/java/org/apache/torque/util/BasePeer.java doDelete(): Corrected spelling of "updating" in inline comment. Revision ChangesPath 1.71 +2 -2 db-torque/src/java/org/apache/torque/util/BasePeer.java Index: BasePeer.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/util/BasePeer.java,v retrieving revision 1.70 retrieving revision 1.71 diff -u -u -r1.70 -r1.71 --- BasePeer.java 24 Jun 2003 12:33:41 - 1.70 +++ BasePeer.java 25 Jun 2003 19:31:16 - 1.71 @@ -494,7 +494,7 @@ { // Only delete rows where the foreign key is // also a primary key. Other rows need -// updateing, but that is not implemented. +// updating, but that is not implemented. if (columnMaps[j].isForeignKey() && columnMaps[j].isPrimaryKey() && key.equals(columnMaps[j].getRelatedName())) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/announcements release-announcement.txt 3.0.ann
dlr 2003/06/24 16:52:06 Added: src/announcements release-announcement.txt Removed: src/announcements 3.0.ann Log: Replaced 3.0-specific announcement with updated text which should serve as the basis for future release announcements. Revision ChangesPath 1.1 db-torque/src/announcements/release-announcement.txt Index: release-announcement.txt === The Torque team is pleased to announce the 3.0 release! http://db.apache.org/torque/ Torque is a persistence layer. Torque generates all database-related resources used by most applications (SQL scripts and Java object model/persistance mapping classes) required by your application. It includes a runtime environment to run the generated classes. Torque was developed as part of the Turbine Framework, but has been decoupled and can be used separately. You can find a full list of changes here: http://db.apache.org/torque/changes.html You can find the Torque distributions here: http://db.apache.org/builds/db-torque/release/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque TorqueSingleton.java
dlr 2003/06/23 13:42:36 Modified:src/java/org/apache/torque TorqueSingleton.java Log: * src/java/org/apache/torque/TorqueSingleton.java initialize(): Improved wording of log message. Revision ChangesPath 1.5 +2 -2 db-torque/src/java/org/apache/torque/TorqueSingleton.java Index: TorqueSingleton.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/TorqueSingleton.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- TorqueSingleton.java 22 Jun 2003 22:23:39 - 1.4 +++ TorqueSingleton.java 23 Jun 2003 20:42:36 - 1.5 @@ -192,7 +192,7 @@ if (isInit) { -log.debug("Tried to initialize multiple times"); +log.debug("Multiple initializations of Torque attempted"); return; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/test/org/apache/torque/engine/database package-schema.xml package2-schema.xml
dlr 2003/06/23 13:38:18 Modified:xdocs/tutorial step2.xml src/generator/src/test/org/apache/torque/engine/database package-schema.xml package2-schema.xml Log: DTD references should currently be to 3_1 for Torque HEAD, not 3_0_1. Revision ChangesPath 1.6 +2 -2 db-torque/xdocs/tutorial/step2.xml Index: step2.xml === RCS file: /home/cvs/db-torque/xdocs/tutorial/step2.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -u -r1.5 -r1.6 --- step2.xml 23 Jun 2003 20:28:07 - 1.5 +++ step2.xml 23 Jun 2003 20:38:18 - 1.6 @@ -137,7 +137,7 @@
cvs commit: db-torque/xdocs/tutorial step2.xml
dlr 2003/06/23 13:28:07 Modified:xdocs/tutorial step2.xml Log: * xdocs/tutorial/step2.xml Updated DTD to point to db.apache.org. Revision ChangesPath 1.5 +2 -2 db-torque/xdocs/tutorial/step2.xml Index: step2.xml === RCS file: /home/cvs/db-torque/xdocs/tutorial/step2.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- step2.xml 27 May 2003 17:55:34 - 1.4 +++ step2.xml 23 Jun 2003 20:28:07 - 1.5 @@ -137,7 +137,7 @@
cvs commit: db-torque/examples project-schema.xml
dlr 2003/06/23 12:23:32 Modified:examples project-schema.xml Log: * examples/project-schema.xml Updated DTD to point to db.apache.org. Revision ChangesPath 1.5 +1 -1 db-torque/examples/project-schema.xml Index: project-schema.xml === RCS file: /home/cvs/db-torque/examples/project-schema.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- project-schema.xml31 Jan 2003 16:53:27 - 1.4 +++ project-schema.xml23 Jun 2003 19:23:32 - 1.5 @@ -1,5 +1,5 @@ -http://jakarta.apache.org/turbine/dtd/database_3_1.dtd";> +http://db.apache.org/torque/dtd/database_3_0_1.dtd";> - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/manager MethodResultCache.java
dlr 2003/06/20 09:20:35 Modified:src/java/org/apache/torque/manager Tag: TORQUE_3_0_BRANCH MethodResultCache.java Log: * src/java/org/apache/torque/manager/MethodResultCache.java inGet: Remove unused instance member. Revision ChangesPath No revision No revision 1.13.2.2 +1 -2 db-torque/src/java/org/apache/torque/manager/MethodResultCache.java Index: MethodResultCache.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/manager/MethodResultCache.java,v retrieving revision 1.13.2.1 retrieving revision 1.13.2.2 diff -u -u -r1.13.2.1 -r1.13.2.2 --- MethodResultCache.java20 Jun 2003 08:12:50 - 1.13.2.1 +++ MethodResultCache.java20 Jun 2003 16:20:35 - 1.13.2.2 @@ -82,7 +82,6 @@ "org.apache.torque.manager.MethodCacheKey"; private ObjectPool pool; private GroupCacheAccess jcsCache; -private int inGet; private Map groups; public MethodResultCache(GroupCacheAccess cache) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/xdocs changes.xml
dlr 2003/06/20 09:05:48 Modified:xdocsTag: TORQUE_3_0_BRANCH changes.xml Log: XML entity escaped angle brackets in thread deadlock note. Revision ChangesPath No revision No revision 1.54.2.16 +7 -7 db-torque/xdocs/changes.xml Index: changes.xml === RCS file: /home/cvs/db-torque/xdocs/changes.xml,v retrieving revision 1.54.2.15 retrieving revision 1.54.2.16 diff -u -u -r1.54.2.15 -r1.54.2.16 --- changes.xml 20 Jun 2003 16:01:49 - 1.54.2.15 +++ changes.xml 20 Jun 2003 16:05:47 - 1.54.2.16 @@ -42,13 +42,13 @@ generated - Corrected deadly thread deadlock problem discovered by Ed - Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. - The problem was due to emulation of synchronization using an int - counter (to improve performance by avoiding Java "synchronized" - keyword). Post-increment and decrement operators compile to - three op codes (with Sun's JDK 1.3.1 for Linux), unsafe used as - a mutex. + Corrected deadly multi-CPU thread deadlock problem discovered by + Ed Korthof <[EMAIL PROTECTED]> and John McNally + <[EMAIL PROTECTED]>. The problem was due to emulation + of synchronization using an int counter (to improve performance + by avoiding Java "synchronized" keyword). Post-increment and + decrement operators compile to three op codes (with Sun's JDK + 1.3.1 for Linux), unsafe on a multi-CPU box. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/xdocs changes.xml
dlr 2003/06/20 09:05:19 Modified:xdocschanges.xml Log: XML entity escaped angle brackets in thread deadlock note. Revision ChangesPath 1.85 +7 -6 db-torque/xdocs/changes.xml Index: changes.xml === RCS file: /home/cvs/db-torque/xdocs/changes.xml,v retrieving revision 1.84 retrieving revision 1.85 diff -u -u -r1.84 -r1.85 --- changes.xml 20 Jun 2003 16:04:18 - 1.84 +++ changes.xml 20 Jun 2003 16:05:19 - 1.85 @@ -61,12 +61,13 @@ generated - Corrected deadly multi-CPU thread deadlock problem discovered by Ed - Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. The - problem was due to emulation of synchronization using an int counter - (to improve performance by avoiding Java "synchronized" keyword). - Post-increment and decrement operators compile to three op codes (with - Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box. + Corrected deadly multi-CPU thread deadlock problem discovered by + Ed Korthof <[EMAIL PROTECTED]> and John McNally + <[EMAIL PROTECTED]>. The problem was due to emulation + of synchronization using an int counter (to improve performance + by avoiding Java "synchronized" keyword). Post-increment and + decrement operators compile to three op codes (with Sun's JDK + 1.3.1 for Linux), unsafe on a multi-CPU box. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/xdocs changes.xml
dlr 2003/06/20 09:04:18 Modified:xdocschanges.xml Log: Noted thread deadlock problem. Revision ChangesPath 1.84 +8 -0 db-torque/xdocs/changes.xml Index: changes.xml === RCS file: /home/cvs/db-torque/xdocs/changes.xml,v retrieving revision 1.83 retrieving revision 1.84 diff -u -u -r1.83 -r1.84 --- changes.xml 20 Jun 2003 13:29:27 - 1.83 +++ changes.xml 20 Jun 2003 16:04:18 - 1.84 @@ -60,6 +60,14 @@ TRQS165: columns in an external schema caused Manager imports to be generated + + Corrected deadly multi-CPU thread deadlock problem discovered by Ed + Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. The + problem was due to emulation of synchronization using an int counter + (to improve performance by avoiding Java "synchronized" keyword). + Post-increment and decrement operators compile to three op codes (with + Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box. + - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/xdocs changes.xml
dlr 2003/06/20 09:01:50 Modified:xdocsTag: TORQUE_3_0_BRANCH changes.xml Log: Tweaked wording of thread deadlock problem. Revision ChangesPath No revision No revision 1.54.2.15 +7 -6 db-torque/xdocs/changes.xml Index: changes.xml === RCS file: /home/cvs/db-torque/xdocs/changes.xml,v retrieving revision 1.54.2.14 retrieving revision 1.54.2.15 diff -u -u -r1.54.2.14 -r1.54.2.15 --- changes.xml 20 Jun 2003 10:54:09 - 1.54.2.14 +++ changes.xml 20 Jun 2003 16:01:49 - 1.54.2.15 @@ -42,12 +42,13 @@ generated - Corrected deadly multi-CPU thread deadlock problem discovered by Ed - Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. The - problem was due to emulation of synchronization using an int counter - (to improve performance by avoiding Java "synchronized" keyword). - Post-increment and decrement operators compile to three op codes (with - Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box. + Corrected deadly thread deadlock problem discovered by Ed + Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. + The problem was due to emulation of synchronization using an int + counter (to improve performance by avoiding Java "synchronized" + keyword). Post-increment and decrement operators compile to + three op codes (with Sun's JDK 1.3.1 for Linux), unsafe used as + a mutex. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/manager AbstractBaseManager.java
dlr 2003/06/20 01:13:47 Modified:src/java/org/apache/torque/manager AbstractBaseManager.java Log: * src/java/org/apache/torque/manager/AbstractBaseManager.java readObject(): Improved readability of error logging. Revision ChangesPath 1.16 +3 -3 db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java Index: AbstractBaseManager.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -u -r1.15 -r1.16 --- AbstractBaseManager.java 20 Jun 2003 00:41:18 - 1.15 +++ AbstractBaseManager.java 20 Jun 2003 08:13:47 - 1.16 @@ -657,8 +657,8 @@ } catch (Exception e) { -log.error("Cache could not be initialized for region: " -+ region + " after deserialization"); +log.error("Cache could not be initialized for region '" + + region + "' after deserialization"); } } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/manager AbstractBaseManager.java MethodResultCache.java
dlr 2003/06/20 01:12:50 Modified:src/java/org/apache/torque/manager Tag: TORQUE_3_0_BRANCH AbstractBaseManager.java MethodResultCache.java Log: Backported delta between CVS revision 1.14 and 1.15 of AbstractBaseManager.java and 1.16 and 1.17 of MethodResultCache.java to the tip of the 3.0 branch (~3.0.2): Corrected deadly multi-CPU thread deadlock problem discovered by Ed Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. The problem was due to emulation of synchronization using an int counter (to improve performance by avoiding Java "synchronized" keyword). Post-increment and decrement operators compile to three op codes (with Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box. * src/java/org/apache/torque/manager/AbstractBaseManager.java lockCache, inGet, cacheGet(), removeInstanceImpl(), putInstanceImpl(): Removed use of lockeCache and inGet instance fields, replaced by consistent use of Java's "synchronized" keyword (on the current instance, "this"). getMethodResultCache(), addCacheListenerImpl(), createSubsetList(), readObject(): Added JavaDoc. * src/java/org/apache/torque/manager/MethodResultCache.java lockCache, getImpl(), putImpl(), get(): Removed use of lockeCache instance fields, replaced by consistent use of Java's "synchronized" keyword (on the current instance, "this"). remove(): Added error messages to several method overloads. Reviewed by: John McNally Issue: PCN19237 Revision ChangesPath No revision No revision 1.11.2.1 +40 -52 db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java Index: AbstractBaseManager.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java,v retrieving revision 1.11 retrieving revision 1.11.2.1 diff -u -u -r1.11 -r1.11.2.1 --- AbstractBaseManager.java 29 Nov 2002 13:16:05 - 1.11 +++ AbstractBaseManager.java 20 Jun 2003 08:12:50 - 1.11.2.1 @@ -63,6 +63,7 @@ import java.util.Iterator; import java.io.Serializable; import java.io.IOException; +import java.io.ObjectInputStream; import org.apache.commons.collections.FastArrayList; import org.apache.jcs.JCS; @@ -102,8 +103,6 @@ private String region; -private boolean lockCache; -private int inGet; private boolean isNew = true; protected Map validFields; @@ -215,18 +214,9 @@ Persistent om = null; if (cache != null) { -if (lockCache) -{ -synchronized (this) -{ -om = (Persistent) cache.get(key); -} -} -else +synchronized (this) { -inGet++; om = (Persistent) cache.get(key); -inGet--; } } return om; @@ -256,29 +246,19 @@ Persistent oldOm = null; if (cache != null) { -synchronized (this) +try { -lockCache = true; -try +synchronized (this) { oldOm = (Persistent) cache.get(key); -while (inGet > 0) -{ -Thread.yield(); -} cache.remove(key); } -catch (CacheException ce) -{ -lockCache = false; -throw new TorqueException( -"Could not remove from cache due to internal JCS error.", -ce); -} -finally -{ -lockCache = false; -} +} +catch (CacheException ce) +{ +throw new TorqueException +("Could not remove from cache due to internal JCS error", + ce); } } return oldOm; @@ -306,28 +286,18 @@ Persistent oldOm = null; if (cache != null) { -synchronized (this) +try { -lockCache = true; -try +synchronized (this) { oldOm = (Persistent) cache.get(key); -while (inGet > 0) -{ -Thread.yield(); -}
cvs commit: db-torque/src/java/org/apache/torque/manager AbstractBaseManager.java MethodResultCache.java
dlr 2003/06/19 17:41:18 Modified:src/java/org/apache/torque/manager AbstractBaseManager.java MethodResultCache.java Log: Corrected deadly multi-CPU thread deadlock problem discovered by Ed Korthof <[EMAIL PROTECTED]> and John McNally <[EMAIL PROTECTED]>. The problem was due to emulation of synchronization using an int counter (to improve performance by avoiding Java "synchronized" keyword). Post-increment and decrement operators compile to three op codes (with Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box. * src/java/org/apache/torque/manager/AbstractBaseManager.java lockCache, inGet, cacheGet(), removeInstanceImpl(), putInstanceImpl(): Removed use of lockeCache and inGet instance fields, replaced by consistent use of Java's "synchronized" keyword (on the current instance, "this"). getMethodResultCache(), addCacheListenerImpl(), createSubsetList(), readObject(): Added JavaDoc. * src/java/org/apache/torque/manager/MethodResultCache.java lockCache, getImpl(), putImpl(), get(): Removed use of lockeCache instance fields, replaced by consistent use of Java's "synchronized" keyword (on the current instance, "this"). remove(): Added error messages to several method overloads. Reviewed by: John McNally Issue: PCN19237 Revision ChangesPath 1.15 +27 -54 db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java Index: AbstractBaseManager.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/manager/AbstractBaseManager.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -u -r1.14 -r1.15 --- AbstractBaseManager.java 18 May 2003 12:27:24 - 1.14 +++ AbstractBaseManager.java 20 Jun 2003 00:41:18 - 1.15 @@ -63,6 +63,7 @@ import java.util.Iterator; import java.io.Serializable; import java.io.IOException; +import java.io.ObjectInputStream; import org.apache.commons.collections.FastArrayList; import org.apache.jcs.JCS; @@ -103,8 +104,6 @@ private String region; -private boolean lockCache; -private int inGet; private boolean isNew = true; protected Map validFields; @@ -219,18 +218,9 @@ Persistent om = null; if (cache != null) { -if (lockCache) -{ -synchronized (this) -{ -om = (Persistent) cache.get(key); -} -} -else +synchronized (this) { -inGet++; om = (Persistent) cache.get(key); -inGet--; } } return om; @@ -271,29 +261,19 @@ Persistent oldOm = null; if (cache != null) { -synchronized (this) +try { -lockCache = true; -try +synchronized (this) { oldOm = (Persistent) cache.get(key); -while (inGet > 0) -{ -Thread.yield(); -} cache.remove(key); } -catch (CacheException ce) -{ -lockCache = false; -throw new TorqueException( -"Could not remove from cache due to internal JCS error.", -ce); -} -finally -{ -lockCache = false; -} +} +catch (CacheException ce) +{ +throw new TorqueException +("Could not remove from cache due to internal JCS error", + ce); } } return oldOm; @@ -334,28 +314,18 @@ Persistent oldOm = null; if (cache != null) { -synchronized (this) +try { -lockCache = true; -try +synchronized (this) { oldOm = (Persistent) cache.get(key); -while (inGet > 0) -{ -Thread.yield(); -} cache.put(key, om); } -catch (CacheException ce) -{ -lockCache = false; -throw new TorqueException( -"Could not cache due to internal JCS error.&
cvs commit: db-torque/src/test/org/apache/torque/om ComboKeyTest.java
dlr 2003/06/18 21:05:54 Modified:src/test/org/apache/torque/util CriteriaTest.java QueryTest.java src/test/org/apache/torque/om ComboKeyTest.java Log: * src/test/org/apache/torque/util/CriteriaTest.java testCriterionIgnoreCase() Actually performed an equality assertion. * src/test/org/apache/torque/util/CriteriaTest.java testCriterionIgnoreCase(), testAddDate() * src/test/org/apache/torque/util/QueryTest.java testColumns(), testToString() * src/test/org/apache/torque/om/ComboKeyTest.java testRoundTripWithStringKeys(), testRoundTripWithComplexKey(), testRoundTripWithNullKey() Removed calls to System.out.println() which add little value over the assertion failure message. Revision ChangesPath 1.19 +5 -7 db-torque/src/test/org/apache/torque/util/CriteriaTest.java Index: CriteriaTest.java === RCS file: /home/cvs/db-torque/src/test/org/apache/torque/util/CriteriaTest.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -u -r1.18 -r1.19 --- CriteriaTest.java 24 Mar 2003 21:53:43 - 1.18 +++ CriteriaTest.java 19 Jun 2003 04:05:54 - 1.19 @@ -267,12 +267,11 @@ { Criteria myCriteria = new Criteria(); -Criteria.Criterion myCriterion = myCriteria.getNewCriterion( +Criteria.Criterion expected = myCriteria.getNewCriterion( "TABLE.COLUMN", (Object)"FoObAr", Criteria.LIKE); -System.out.println("before setIgnoreCase: " + myCriterion); - -Criteria.Criterion ignoreCriterion = myCriterion.setIgnoreCase(true); -System.out.println("after setIgnoreCase: " + ignoreCriterion); +Criteria.Criterion result = expected.setIgnoreCase(true); +assertEquals("Criterion mis-match after calling setIgnoreCase(true)", + expected.toString(), result.toString()); } /** @@ -332,7 +331,6 @@ e.printStackTrace(); fail("TorqueException thrown in BasePeer.createQueryString()"); } -System.out.println(result); assertEquals(expect, result); } 1.4 +1 -5 db-torque/src/test/org/apache/torque/util/QueryTest.java Index: QueryTest.java === RCS file: /home/cvs/db-torque/src/test/org/apache/torque/util/QueryTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- QueryTest.java24 Mar 2003 21:53:43 - 1.3 +++ QueryTest.java19 Jun 2003 04:05:54 - 1.4 @@ -89,8 +89,6 @@ columns.add("tableB.column1"); query.setSelectClause(columns); -System.out.println(expected); -System.out.println(query.toString()); assertEquals(expected, query.toString()); } @@ -120,8 +118,6 @@ where.add("tableA.B = 1234"); query.setWhereClause(where); -System.out.println(expected); -System.out.println(query.toString()); assertEquals(expected, query.toString()); } } 1.4 +1 -4 db-torque/src/test/org/apache/torque/om/ComboKeyTest.java Index: ComboKeyTest.java === RCS file: /home/cvs/db-torque/src/test/org/apache/torque/om/ComboKeyTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -u -r1.3 -r1.4 --- ComboKeyTest.java 21 Mar 2003 17:31:09 - 1.3 +++ ComboKeyTest.java 19 Jun 2003 04:05:54 - 1.4 @@ -162,7 +162,6 @@ new SimpleKey[]{new StringKey("key1"), new StringKey("key2")}); ComboKey newKey = null; String stringValue = oldKey.toString(); -System.out.println("OldKey as String=" + stringValue); try { newKey = new ComboKey(stringValue); @@ -188,7 +187,6 @@ new DateKey(new java.util.Date())}); ComboKey newKey = null; String stringValue = oldKey.toString(); -System.out.println("OldKey as String=" + stringValue); try { newKey = new ComboKey(stringValue); @@ -213,7 +211,6 @@ new SimpleKey[]{new StringKey("key1"), null}); ComboKey newKey = null; String stringValue = oldKey.toString(); -System.out.println("OldKey as String=" + stringValue); try { newKey = new ComboKey(stringValue); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque README.txt
dlr 2003/06/18 20:26:35 Modified:.README.txt Log: * README.txt profile/, notes/: Added brief descriptions of directories. build/: Removed, since it no longer exists. Revision ChangesPath 1.8 +2 -1 db-torque/README.txt Index: README.txt === RCS file: /home/cvs/db-torque/README.txt,v retrieving revision 1.7 retrieving revision 1.8 diff -u -u -r1.7 -r1.8 --- README.txt7 Nov 2002 19:02:11 - 1.7 +++ README.txt19 Jun 2003 03:26:35 - 1.8 @@ -4,9 +4,10 @@ Torque is an Object/Relational persistence layer. +profile/RDBMS-specific configuration profiles. target/ Temporary directory for building the project. -build/ Location of Ant build.xml and build.properties files. examples/ Example XML Torque schemas that are part of the distribution. +notes/ Misc. notes. src/Location of Java sources and Torque templates. xdocs/ Torque documention in Anakia formatted tags. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/java/org/apache/torque/util Criteria.java
dlr 2003/02/27 09:37:43 Modified:src/java/org/apache/torque Torque.java src/java/org/apache/torque/util Criteria.java Log: Integrated some suggestions by Jürgen Hoffmann <[EMAIL PROTECTED]>: * src/java/org/apache/torque/Torque.java getDefaultDB(): Trimmed value read from configuration. * src/java/org/apache/torque/util/Criteria.java setDbName(String): If parameter is not null, trim it. Revision ChangesPath 1.79 +2 -2 db-torque/src/java/org/apache/torque/Torque.java Index: Torque.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/Torque.java,v retrieving revision 1.78 retrieving revision 1.79 diff -u -u -r1.78 -r1.79 --- Torque.java 25 Jan 2003 16:24:36 - 1.78 +++ Torque.java 27 Feb 2003 17:37:42 - 1.79 @@ -970,7 +970,7 @@ { // Determine default database name. defaultDBName = -configuration.getString(DATABASE_DEFAULT, DEFAULT_NAME); +configuration.getString(DATABASE_DEFAULT, DEFAULT_NAME).trim(); } return defaultDBName; 1.39 +2 -2 db-torque/src/java/org/apache/torque/util/Criteria.java Index: Criteria.java === RCS file: /home/cvs/db-torque/src/java/org/apache/torque/util/Criteria.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -u -r1.38 -r1.39 --- Criteria.java 22 Jan 2003 21:44:02 - 1.38 +++ Criteria.java 27 Feb 2003 17:37:42 - 1.39 @@ -554,7 +554,7 @@ */ public void setDbName(String dbName) { -this.dbName = (dbName == null ? Torque.getDefaultDB() : dbName); +this.dbName = (dbName == null ? Torque.getDefaultDB() : dbName.trim()); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: db-torque/src/generator/src/templates/om MapBuilder.vm
dlr 2003/02/10 18:36:10 Modified:src/generator/src/templates/om MapBuilder.vm Log: * src/generator/src/templates/om/MapBuilder.vm isBuilt(): Shrank implementation from five lines to one. No functional change. Revision ChangesPath 1.2 +1 -5 db-torque/src/generator/src/templates/om/MapBuilder.vm Index: MapBuilder.vm === RCS file: /home/cvs/db-torque/src/generator/src/templates/om/MapBuilder.vm,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- MapBuilder.vm 10 Feb 2003 13:18:45 - 1.1 +++ MapBuilder.vm 11 Feb 2003 02:36:10 - 1.2 @@ -65,11 +65,7 @@ */ public boolean isBuilt() { -if (dbMap != null) -{ -return true; -} -return false; +return (dbMap != null); } /** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]