org.apache.torque.task
Class TorqueJDBCTransformTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.torque.task.TorqueJDBCTransformTask
All Implemented Interfaces:
java.lang.Cloneable

public class TorqueJDBCTransformTask
extends org.apache.tools.ant.Task

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

Version:
$Id: TorqueJDBCTransformTask.java 502761 2007-02-02 21:52:05Z tfischer $
Author:
Jason van Zyl, Fedor Karpelevitch

Field Summary
protected  java.util.Hashtable columnTableMap
          Hashtable to track what table a column belongs to.
protected  org.w3c.dom.Element databaseNode
          The document root element.
protected  java.lang.String dbDriver
          JDBC driver.
protected  java.lang.String dbPassword
          JDBC password.
protected  java.lang.String dbSchema
          DB schema to use.
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  boolean sameJavaName
           
protected  java.lang.String xmlSchema
          Name of XML database schema produced.
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
TorqueJDBCTransformTask()
           
 
Method Summary
 void execute()
          Default constructor.
 void generateXML()
          Generates an XML database schema from JDBC metadata.
 java.util.List getColumns(java.sql.DatabaseMetaData dbMeta, java.lang.String tableName)
          Retrieves all the column names and types for a given table from JDBC metadata.
 java.lang.String getDbSchema()
           
 java.util.Collection 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.List getTableNames(java.sql.DatabaseMetaData dbMeta)
          Get all the table names in the current database that are not system tables.
 boolean isSameJavaName()
           
 void setDbDriver(java.lang.String v)
           
 void setDbPassword(java.lang.String v)
           
 void setDbSchema(java.lang.String dbSchema)
           
 void setDbUrl(java.lang.String v)
           
 void setDbUser(java.lang.String v)
           
 void setOutputFile(java.lang.String v)
           
 void setSameJavaName(boolean v)
           
 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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.


dbSchema

protected java.lang.String dbSchema
DB schema to use.


doc

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


databaseNode

protected org.w3c.dom.Element databaseNode
The document root element.


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.


sameJavaName

protected boolean sameJavaName
Constructor Detail

TorqueJDBCTransformTask

public TorqueJDBCTransformTask()
Method Detail

getDbSchema

public java.lang.String getDbSchema()

setDbSchema

public void setDbSchema(java.lang.String dbSchema)

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)

setSameJavaName

public void setSameJavaName(boolean v)

isSameJavaName

public boolean isSameJavaName()

execute

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

Overrides:
execute in class org.apache.tools.ant.Task
Throws:
org.apache.tools.ant.BuildException

generateXML

public void generateXML()
                 throws java.lang.Exception
Generates an XML database schema from JDBC metadata.

Throws:
java.lang.Exception - a generic exception.

getTableNames

public java.util.List 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:
The list of all the tables in a database.
Throws:
java.sql.SQLException

getColumns

public java.util.List 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 List of Lists. Each element of the returned List is a List 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:
The list of columns in tableName.
Throws:
java.sql.SQLException

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.
Throws:
java.sql.SQLException

getForeignKeys

public java.util.Collection 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.
Throws:
java.sql.SQLException


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.