uk.org.ogsadai.activity.sql
Class AbstractParameterisedSQLActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.sql.AbstractSQLActivity
              |
              +--uk.org.ogsadai.activity.sql.AbstractParameterisedSQLActivity
Direct Known Subclasses:
SQLQueryStatementActivity, SQLStoredProcedureActivity, SQLUpdateStatementActivity

public abstract class AbstractParameterisedSQLActivity
extends AbstractSQLActivity

Abstract class for implementations of SQL activites that support parameterised SQL statements.

Author:
The OGSA-DAI Project Team.

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static DAILogger LOG
          Logger object for logging in this class
protected  ParameterList mParameters
          List of SQL expression parameters
 
Fields inherited from class uk.org.ogsadai.activity.sql.AbstractSQLActivity
CREATE_DATABASE, DROP_DATABASE, EXPRESSION, mCredentials, mDataResource, mExpression, mInputStreamNames, mOutput, mStatement, RESULT_STREAM, SQL_OUT_PARAMETERS, SQL_PARAMETERS, STORED_PROCEDURE, WEB_ROW_SET_STREAM
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
AbstractParameterisedSQLActivity(org.w3c.dom.Element element)
           
 
Method Summary
 void initialise()
          This method should be overridden by subclasses to perform any initialisation they require before the process method invocations begin.
protected  void initialiseInputStreamNames()
          Initialises activity input streams from the set of input stream names.
protected  void parseSQLParameters(org.w3c.dom.NodeList parameterNodes)
          This method will find the SQL parameters appropriate for this activity if any are specified.
 
Methods inherited from class uk.org.ogsadai.activity.sql.AbstractSQLActivity
createOutputPipe, parseExpression, parseResultStream
 
Methods inherited from class uk.org.ogsadai.activity.Activity
cleanUp, connectsTo, getActivityConfiguration, getActivityName, getCause, getName, getObservableStatus, getProperties, getSession, getStatus, hasActivityConfiguration, hasProperties, process, processBlock, processFirst, 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


mParameters

protected ParameterList mParameters
List of SQL expression parameters

Constructor Detail

AbstractParameterisedSQLActivity

public AbstractParameterisedSQLActivity(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 AbstractSQLActivity
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.

parseSQLParameters

protected void parseSQLParameters(org.w3c.dom.NodeList parameterNodes)
                           throws ActivitySpecificationException
This method will find the SQL parameters appropriate for this activity if any are specified.

These SQL parameters could be values or the names of output streams of other activities.

If no parameters are found then the internal SQL statement object is just set to be a simple SQL statement (SQLStatement) else it will be set to a ParameterisedSQLStatement).

Parameters:
parameterNodes - A collection of elements each assumed to have name sqlParameter.
Throws:
ActivitySpecificationException - If SQL parameter is out of range or specified twice, or a parameter's value is missing or both a parameter value and an input stream have been specified.

initialiseInputStreamNames

protected void initialiseInputStreamNames()
Initialises activity input streams from the set of input stream names.