fedor 01/05/04 14:54:53
Modified: conf/torque torque.xml
conf/torque/config torque.props
Added: conf/torque/templates/data Control.vm dataset.vm table.vm
conf/torque/templates/data/dump Control.vm bottom.vm row.vm
top.vm
conf/torque/templates/sql/load Control.vm
conf/torque/templates/sql/load/mysql row.vm val.vm
Log:
Data Dump/Load stuff
Revision Changes Path
1.22 +115 -13 jakarta-turbine/conf/torque/torque.xml
Index: torque.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine/conf/torque/torque.xml,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- torque.xml 2001/04/26 00:09:38 1.21
+++ torque.xml 2001/05/04 21:54:42 1.22
@@ -12,13 +12,13 @@
<include name="**/*.jar"/>
</fileset>
</path>
-
- <!--
+
+ <!--
Load the torque properties file. All the targets use the
information stored in the properties file. Edit the properties
- file! Not this build file!
+ file! Not this build file!
-->
-
+
<property file="${torque.props}"/>
@@ -45,28 +45,130 @@
<!-- ================================================================ -->
<target name="init-tasks">
-
- <taskdef name="torque-sql"
+
+ <taskdef name="torque-datasql"
+ classname="org.apache.turbine.torque.TorqueDataSQLTask">
+ <classpath refid="classpath"/>
+ </taskdef>
+
+ <taskdef name="torque-datadump"
+ classname="org.apache.turbine.torque.TorqueDataDumpTask">
+ <classpath refid="classpath"/>
+ </taskdef>
+
+ <taskdef name="torque-datadtd"
+ classname="org.apache.turbine.torque.TorqueDataDTDTask">
+ <classpath refid="classpath"/>
+ </taskdef>
+
+ <taskdef name="torque-sql"
classname="org.apache.turbine.torque.TorqueSQLTask">
<classpath refid="classpath"/>
</taskdef>
-
- <taskdef name="torque-om"
+
+ <taskdef name="torque-om"
classname="org.apache.turbine.torque.TorqueObjectModelTask">
<classpath refid="classpath"/>
</taskdef>
-
- <taskdef name="sql-xml"
+
+ <!--taskdef name="torque-intake"
+ classname="org.apache.turbine.torque.TorqueIntakeTask">
+ <classpath refid="classpath"/>
+ </taskdef-->
+
+ <taskdef name="sql-xml"
classname="org.apache.turbine.torque.TorqueSQLTransformTask">
<classpath refid="classpath"/>
</taskdef>
-
- <taskdef name="texen"
+
+ <taskdef name="texen"
classname="org.apache.velocity.texen.ant.TexenTask">
<classpath refid="classpath"/>
</taskdef>
-
+
</target>
+
+ <!-- ================================================================ -->
+ <!-- Generate SQL from XML data file -->
+ <!-- ================================================================ -->
+
+ <target name="project-datasql" depends="init-tasks">
+
+ <echo message="+-----------------------------------------------+"/>
+ <echo message="| |"/>
+ <echo message="| Generating SQL from data XML ! |"/>
+ <echo message="| Woo hoo! |"/>
+ <echo message="| |"/>
+ <echo message="+-----------------------------------------------+"/>
+ <echo message=" taking torque.props from: ${torque.props}"/>
+
+ <torque-datasql
+ contextProperties="${torque.props}"
+ controlTemplate="${DataSQLControlTemplate}"
+ outputDirectory="${torque.home}/${outputDirectory}"
+ templatePath="${templatePath}"
+ outputFile="report.${project}.datasql.generation"
+ xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
+ dataXmlFile="${torque.home}/${schemaDirectory}/${project}-data.xml"
+ dataDTD="${torque.home}/${schemaDirectory}/${project}-data.dtd"
+ databaseName="${databaseName}"
+ targetDatabase="${database}"
+ />
+
+ </target>
+
+ <!-- ================================================================ -->
+ <!-- Dump data from databse into xml file -->
+ <!-- ================================================================ -->
+
+ <target name="project-datadump" depends="init-tasks">
+
+ <echo message="+-----------------------------------------------+"/>
+ <echo message="| |"/>
+ <echo message="| Dumping the data from database into XML |"/>
+ <echo message="| Woo hoo! |"/>
+ <echo message="| |"/>
+ <echo message="+-----------------------------------------------+"/>
+ <echo message=" taking torque.props from: ${torque.props}"/>
+
+ <torque-datadump
+ contextProperties="${torque.props}"
+ controlTemplate="${DataDumpControlTemplate}"
+ outputDirectory="${torque.home}/${outputDirectory}"
+ templatePath="${templatePath}"
+ outputFile="report.${project}.datadump.generation"
+ xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
+ databaseName="${databaseName}"
+ />
+
+ </target>
+
+ <!-- ================================================================ -->
+ <!-- G E N E R A T E P R O J E C T D A T A D T D -->
+ <!-- ================================================================ -->
+ <!-- Generate the DATA DTD for your project -->
+ <!-- ================================================================ -->
+
+ <target name="project-datadtd" depends="init-tasks">
+
+ <echo message="+-----------------------------------------------+"/>
+ <echo message="| |"/>
+ <echo message="| Generating Data DTD for YOUR Turbine project! |"/>
+ <echo message="| Woo hoo! |"/>
+ <echo message="| |"/>
+ <echo message="+-----------------------------------------------+"/>
+
+ <torque-datadtd
+ contextProperties="${torque.props}"
+ controlTemplate="${DataDTDControlTemplate}"
+ outputDirectory="${torque.home}/${outputDirectory}"
+ templatePath="${templatePath}"
+ outputFile="report.${project}.datadtd.generation"
+ xmlFile="${torque.home}/${schemaDirectory}/${project}-schema.xml"
+ />
+
+ </target>
+
<!-- ================================================================ -->
<!-- G E N E R A T E P R O J E C T S Q L -->
1.21 +3 -0 jakarta-turbine/conf/torque/config/torque.props
Index: torque.props
===================================================================
RCS file: /home/cvs/jakarta-turbine/conf/torque/config/torque.props,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- torque.props 2001/04/24 23:18:34 1.20
+++ torque.props 2001/05/04 21:54:45 1.21
@@ -145,6 +145,9 @@
IntakeControlTemplate = intake/Control.vm
ServiceControlTemplate = service/Control.vm
idTableControlTemplate = sql/id-table/Control.vm
+DataDTDControlTemplate = data/Control.vm
+DataDumpControlTemplate = data/dump/Control.vm
+DataSQLControlTemplate = sql/load/Control.vm
# -------------------------------------------------------------------
#
1.1 jakarta-turbine/conf/torque/templates/data/Control.vm
Index: Control.vm
===================================================================
#set ( $hfname= "data/dataset.vm" )
#set ( $fname= "data/table.vm" )
#foreach ($databaseModel in $appData.Databases)
#if ($project)
#if ($appData.MultipleDatabases)
#set ( $outFile = "${project}-${databaseModel.Name}-data.dtd" )
#else
#set ( $outFile = "${project}-data.dtd" )
#end
$generator.parse($hfname,$outFile,"tables",$databaseModel.Tables)
#foreach ($tbl in $databaseModel.Tables)
$generator.parse($fname,$outFile,"table",$tbl)
#end
#else
#foreach ($tbl in $databaseModel.Tables)
$generator.parse($fname,"","table",$tbl)
#end
#end
#end
1.1 jakarta-turbine/conf/torque/templates/data/dataset.vm
Index: dataset.vm
===================================================================
<!ELEMENT dataset (
#foreach($tbl in $tables)#if($velocityCount>1),
#end
${tbl.JavaName}*#end
)>
<!ATTLIST dataset
name CDATA #REQUIRED
>
1.1 jakarta-turbine/conf/torque/templates/data/table.vm
Index: table.vm
===================================================================
<!ELEMENT $table.JavaName EMPTY>
<!ATTLIST $table.JavaName
#foreach ($col in $table.columns)
$col.JavaName CDATA #if($col.isNotNull())#REQUIRED#else#IMPLIED#end
#end
>
1.1 jakarta-turbine/conf/torque/templates/data/dump/Control.vm
Index: Control.vm
===================================================================
#set ( $tfname= "data/dump/top.vm" )
#set ( $fname= "data/dump/row.vm" )
#set ( $bfname= "data/dump/bottom.vm" )
#set ($q = '"')
#if ($project)
#if ($databaseModel.Name)
#set ($outFile="${project}-${databaseModel.Name}-${dataset}-data.xml")
#else
#set ( $outFile = "${project}-${dataset}-data.xml" )
#end
#else
#set ( $outFile = "" )
#end
$generator.parse($tfname,$outFile,"dataset",$dataset)
#foreach ($tbl in $databaseModel.Tables)
fetching table $tbl.Name
#foreach ($r in $tableTool.fetch($tbl.Name)).##
#set ($rout = "<$tbl.JavaName")
#foreach ($col in $tbl.Columns)
#set ($cval = $r.get($col.Name))
#if ($cval)
#set ($rout = "$rout ${col.JavaName}=$q$cval$q")
#end
#end
#set ($rout = "$rout/>")
$generator.parse($fname,$outFile,"row", $rout)
#end
#end
$generator.parse($bfname,$outFile,"tables",$databaseModel.Tables)
1.1 jakarta-turbine/conf/torque/templates/data/dump/bottom.vm
Index: bottom.vm
===================================================================
</dataset>
1.1 jakarta-turbine/conf/torque/templates/data/dump/row.vm
Index: row.vm
===================================================================
$row
1.1 jakarta-turbine/conf/torque/templates/data/dump/top.vm
Index: top.vm
===================================================================
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE dataset SYSTEM "file://${project}-data.dtd">
<dataset name="$dataset">
1.1 jakarta-turbine/conf/torque/templates/sql/load/Control.vm
Index: Control.vm
===================================================================
#set ( $fname= "sql/load/${targetDatabase}/row.vm" )
#set ( $outFile = "${project}-data.sql")
#foreach ($r in $data)
$generator.parse($fname,$outFile,"row",$r)
#end
1.1 jakarta-turbine/conf/torque/templates/sql/load/mysql/row.vm
Index: row.vm
===================================================================
INSERT INTO $row.Table.Name (##
#set ($comma="")#foreach($col in
$row.ColumnValues)$comma${col.Column.Name}#set($comma=",")#end)
VALUES (#set ($comma="")#foreach($col in
$row.ColumnValues)$comma${generator.parse("sql/load/mysql/val.vm", "", "column",
$col)}#set ($comma=",")#end);
1.1 jakarta-turbine/conf/torque/templates/sql/load/mysql/val.vm
Index: val.vm
===================================================================
#if($column.Column.TorqueType=="VARCHAR")'$column.Value'#else$column.Value#end
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]