org.apache.turbine.torque
Class TorqueJDBCTransformTask

org.apache.turbine.torque.TorqueJDBCTransformTask

public class TorqueJDBCTransformTask

This class generates an XML schema of an existing database from JDBC metadata.

Version:
$Id$
Author:
Jason van Zyl

Field Summary
protected  java.util.Hashtable columnTableMap
          Hashtable to track what table a column belongs to.
protected  org.w3c.dom.Node database
          Database Node to start things off.
protected  java.lang.String dbDriver
          JDBC driver.
protected  java.lang.String dbPassword
          JDBC password.
protected  java.lang.String dbUrl
          JDBC URL.
protected  java.lang.String dbUser
          JDBC user name.
protected  org.apache.xerces.dom.DocumentImpl doc
          DOM document produced.
protected  java.util.Hashtable primaryKeys
          Hashtable of columns that have primary keys.
protected  java.util.Properties props
          Torque properties.
protected  java.util.Properties sqlTypes
          Map of java.sql.Types: integer -> string representation.
protected  java.lang.String xmlSchema
          Name of XML database schema produced.
(package private)  org.apache.xml.serialize.XMLSerializer xmlSerializer
           
 
Constructor Summary
TorqueJDBCTransformTask()
           
 
Method Summary
 void execute()
          Default constructor.
 void generateXML()
          Generates an XML database schema from JDBC metadata.
 java.util.Vector getColumns(java.sql.DatabaseMetaData dbMeta, java.lang.String tableName)
          Retrieves all the column names and types for a given table from JDBC metadata.
 java.util.List getForeignKeys(java.sql.DatabaseMetaData dbMeta, java.lang.String tableName)
          Retrieves a list of foreign key columns for a given table.
 java.util.List getPrimaryKeys(java.sql.DatabaseMetaData dbMeta, java.lang.String tableName)
          Retrieves a list of the columns composing the primary key for a given table.
 java.util.Vector getTableNames(java.sql.DatabaseMetaData dbMeta)
          Get all the table names in the current database that are not system tables.
 void setDbDriver(java.lang.String v)
           
 void setDbPassword(java.lang.String v)
           
 void setDbUrl(java.lang.String v)
           
 void setDbUser(java.lang.String v)
           
 void setOutputFile(java.lang.String v)
           
 

Field Detail

props

protected java.util.Properties props
Torque properties.

xmlSchema

protected java.lang.String xmlSchema
Name of XML database schema produced.

dbUrl

protected java.lang.String dbUrl
JDBC URL.

dbDriver

protected java.lang.String dbDriver
JDBC driver.

dbUser

protected java.lang.String dbUser
JDBC user name.

dbPassword

protected java.lang.String dbPassword
JDBC password.

doc

protected org.apache.xerces.dom.DocumentImpl doc
DOM document produced.

database

protected org.w3c.dom.Node database
Database Node to start things off.

primaryKeys

protected java.util.Hashtable primaryKeys
Hashtable of columns that have primary keys.

columnTableMap

protected java.util.Hashtable columnTableMap
Hashtable to track what table a column belongs to.

sqlTypes

protected java.util.Properties sqlTypes
Map of java.sql.Types: integer -> string representation.

xmlSerializer

org.apache.xml.serialize.XMLSerializer xmlSerializer
Constructor Detail

TorqueJDBCTransformTask

public TorqueJDBCTransformTask()
Method Detail

setDbUrl

public void setDbUrl(java.lang.String v)

setDbDriver

public void setDbDriver(java.lang.String v)

setDbUser

public void setDbUser(java.lang.String v)

setDbPassword

public void setDbPassword(java.lang.String v)

setOutputFile

public void setOutputFile(java.lang.String v)

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Default constructor.

generateXML

public void generateXML()
                 throws java.lang.Exception
Generates an XML database schema from JDBC metadata.
Throws:
Exception, - a generic exception.

getTableNames

public java.util.Vector getTableNames(java.sql.DatabaseMetaData dbMeta)
                               throws java.sql.SQLException
Get all the table names in the current database that are not system tables.
Parameters:
dbMeta - JDBC database metadata.
Returns:
A Vector with all the tables in a database.
Throws:
SQLException. -  

getColumns

public java.util.Vector getColumns(java.sql.DatabaseMetaData dbMeta,
                                   java.lang.String tableName)
                            throws java.sql.SQLException
Retrieves all the column names and types for a given table from JDBC metadata. It returns a vector of vectors. Each element of the returned vector is a vector with: element 0 => a String object for the column name. element 1 => an Integer object for the column type. element 2 => size of the column. element 3 => null type.
Parameters:
dbMeta - JDBC metadata.
tableName - Table from which to retrieve column information.
Returns:
A Vector with the list of columns in tableName.

getPrimaryKeys

public java.util.List getPrimaryKeys(java.sql.DatabaseMetaData dbMeta,
                                     java.lang.String tableName)
                              throws java.sql.SQLException
Retrieves a list of the columns composing the primary key for a given table.
Parameters:
dbMeta - JDBC metadata.
tableName - Table from which to retrieve PK information.
Returns:
A list of the primary key parts for tableName.

getForeignKeys

public java.util.List getForeignKeys(java.sql.DatabaseMetaData dbMeta,
                                     java.lang.String tableName)
                              throws java.sql.SQLException
Retrieves a list of foreign key columns for a given table.
Parameters:
dbMeta - JDBC metadata.
tableName - Table from which to retrieve FK information.
Returns:
A list of foreign keys in tableName.


Copyright © 1999-2001 Apache Software Foundation. All Rights Reserved.