uk.org.ogsadai.activity.relational
Class ExtractDatabaseSchemaActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.relational.ExtractDatabaseSchemaActivity

public class ExtractDatabaseSchemaActivity
extends Activity

An activity that retrieves database metadata from the database and copies it into new objects.

For information on this activity see the OGSA-DAI user doc: OGSA-DAI/doc/interaction/activities/relational/extractDatabaseSchema.html

Author:
The OGSA-DAI Team.

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static DAILogger LOG
          Logger object for logging in this class
private  java.lang.String mCatalog
          Catalog name (may be provided by the client)
private  java.sql.Connection mConnection
          Database connection
private  java.lang.String mCredentials
          User's credentials
private  java.lang.String mCurrentSchema
          Current schema name if iterating through a list of schemas
private  JDBCConnectionProvider mDataResource
          Database connection manager
private  java.sql.DatabaseMetaData mMetaData
          Database metadata
private  BlockWriter mOutput
          Activity output - the database schema
private  java.lang.String mSchemaPattern
          Schema name as specified by the client or null
private  java.sql.ResultSet mSchemas
          List of schemas that are available at the database
private  boolean mTableNamesOnly
          Return table names only (true, default)or full descriptions
private  java.lang.String mTablePattern
          Current table name (may be provided by the client)
private  java.sql.ResultSet mTables
          List of tables
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
ExtractDatabaseSchemaActivity(org.w3c.dom.Element element)
           
 
Method Summary
protected  void cleanUp()
          This method can be overridden by any Activity implementations that need to free up resources in the event of an error or intermediate termination of the activity processing.
 void initialise()
          This method should be overridden by subclasses to perform any initialisation they require before the process method invocations begin.
protected  void processBlock()
          Performs an iteration of the processing of an activity.
protected  void processFirst()
          This method is called during the first iteration of processing an activity.
 
Methods inherited from class uk.org.ogsadai.activity.Activity
connectsTo, createOutputPipe, getActivityConfiguration, getActivityName, getCause, getName, getObservableStatus, getProperties, getSession, getStatus, hasActivityConfiguration, hasProperties, process, setActivityName, setCompleted, setError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
Copyright statement

See Also:
Constant Field Values

LOG

private static DAILogger LOG
Logger object for logging in this class


mDataResource

private JDBCConnectionProvider mDataResource
Database connection manager


mConnection

private java.sql.Connection mConnection
Database connection


mCredentials

private java.lang.String mCredentials
User's credentials


mOutput

private BlockWriter mOutput
Activity output - the database schema


mMetaData

private java.sql.DatabaseMetaData mMetaData
Database metadata


mCatalog

private java.lang.String mCatalog
Catalog name (may be provided by the client)


mSchemaPattern

private java.lang.String mSchemaPattern
Schema name as specified by the client or null


mCurrentSchema

private java.lang.String mCurrentSchema
Current schema name if iterating through a list of schemas


mTablePattern

private java.lang.String mTablePattern
Current table name (may be provided by the client)


mSchemas

private java.sql.ResultSet mSchemas
List of schemas that are available at the database


mTables

private java.sql.ResultSet mTables
List of tables


mTableNamesOnly

private boolean mTableNamesOnly
Return table names only (true, default)or full descriptions

Constructor Detail

ExtractDatabaseSchemaActivity

public ExtractDatabaseSchemaActivity(org.w3c.dom.Element element)
                              throws ActivitySpecificationException,
                                     ActivityCreationException
Method Detail

initialise

public void initialise()
                throws ActivitySpecificationException,
                       ActivityExecutionException
Description copied from class: Activity
This method should be overridden by subclasses to perform any initialisation they require before the process method invocations begin. This might be used for setting up convenient fields to reference objects contained in the context. It shouldn't be used for opening resources. That should be done in processFirst.

Overrides:
initialise in class Activity
Throws:
ActivityExecutionException - If some system problem prevents the activity from initialising.
ActivitySpecificationException - If a problem with settings provided by a client prevents the activity from initialising.

processFirst

protected void processFirst()
Description copied from class: Activity
This method is called during the first iteration of processing an activity. It can be overridden by subclasses to define some processing that should be done only once during the first iteration of the activity processing, for example evaluating a database query.

Overrides:
processFirst in class Activity

processBlock

protected void processBlock()
Description copied from class: Activity
Performs an iteration of the processing of an activity. This may involve reading a block of input data and writing a block of output data, or may involve some other kind of processing. When an activity is processed by the OGSA-DAI engine, this method will be invoked repeatedly until the activity either completes or stops due to an error or termination call. An implementation of this method should invoke the setCompleted method to indicate that processing is complete, or the setError method if an error occurs that will prevent the processing from completing.

Specified by:
processBlock in class Activity

cleanUp

protected void cleanUp()
Description copied from class: Activity
This method can be overridden by any Activity implementations that need to free up resources in the event of an error or intermediate termination of the activity processing.

Overrides:
cleanUp in class Activity