uk.org.ogsadai.activity.sql
Class SQLResultsToCSVActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.sql.SQLResultsToCSVActivity

public class SQLResultsToCSVActivity
extends Activity

Implementation of SQL java.sql.ResultSet to CSV (Comma Separated Values) conversion activity (sqlResultstoCSV).

NOTE:
When results of this activity are included in a XML document (for example in a SOAP message) XML parsers will normalise all line breaks to CR (\n). This also affects any line breaks that were in the data extracted from the database. To ensure correct parsing on the client side set lineBreak to CR (default) when using XML based delivery mechanisms.

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

Author:
The OGSA-DAI Project Team.
See Also:
CSVConfigurator

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
static java.lang.String CSV_ELEMENT
           
static java.lang.String DELIMITER_ELEMENT
           
static java.lang.String ESCAPE_FIELDS_ELEMENT
           
static java.lang.String FROM_ATTRIBUTE
           
static java.lang.String INCLUDE_HEADER_ELEMENT
           
static java.lang.String LINE_BREAK_ELEMENT
           
private static DAILogger LOG
          Logger object for logging in this class
private  CSVConfigurator mConfigurator
          CSV configurator
private  ResultSetConverter mCSVConvertor
          java.sql.ResultSet to CSV converter
private  BlockReader mInput
          Activity input - java.sql.ResultSet
private  java.lang.String mInputName
          Activity input name
private  BlockWriter mOutput
          Activity output - CSV java.lang.Strings
private  java.lang.String mOutputName
          Activity output name
static java.lang.String NAME_ATTRIBUTE
           
static java.lang.String NULL_DATA_STR_ELEMENT
           
static java.lang.String RESULT_SET_ELEMENT
          Constants for parsing activity XML
static java.lang.String VALUE_ATTRIBUTE
           
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
SQLResultsToCSVActivity(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 processBlock()
          Performs an iteration of the processing of an activity.
 
Methods inherited from class uk.org.ogsadai.activity.Activity
cleanUp, connectsTo, createOutputPipe, getActivityConfiguration, getActivityName, getCause, getName, getObservableStatus, getProperties, getSession, getStatus, hasActivityConfiguration, hasProperties, process, 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


RESULT_SET_ELEMENT

public static final java.lang.String RESULT_SET_ELEMENT
Constants for parsing activity XML

See Also:
Constant Field Values

CSV_ELEMENT

public static final java.lang.String CSV_ELEMENT
See Also:
Constant Field Values

FROM_ATTRIBUTE

public static final java.lang.String FROM_ATTRIBUTE
See Also:
Constant Field Values

NAME_ATTRIBUTE

public static final java.lang.String NAME_ATTRIBUTE
See Also:
Constant Field Values

VALUE_ATTRIBUTE

public static final java.lang.String VALUE_ATTRIBUTE
See Also:
Constant Field Values

DELIMITER_ELEMENT

public static final java.lang.String DELIMITER_ELEMENT
See Also:
Constant Field Values

LINE_BREAK_ELEMENT

public static final java.lang.String LINE_BREAK_ELEMENT
See Also:
Constant Field Values

NULL_DATA_STR_ELEMENT

public static final java.lang.String NULL_DATA_STR_ELEMENT
See Also:
Constant Field Values

INCLUDE_HEADER_ELEMENT

public static final java.lang.String INCLUDE_HEADER_ELEMENT
See Also:
Constant Field Values

ESCAPE_FIELDS_ELEMENT

public static final java.lang.String ESCAPE_FIELDS_ELEMENT
See Also:
Constant Field Values

mInputName

private java.lang.String mInputName
Activity input name


mInput

private BlockReader mInput
Activity input - java.sql.ResultSet


mOutputName

private java.lang.String mOutputName
Activity output name


mOutput

private BlockWriter mOutput
Activity output - CSV java.lang.Strings


mCSVConvertor

private ResultSetConverter mCSVConvertor
java.sql.ResultSet to CSV converter


mConfigurator

private CSVConfigurator mConfigurator
CSV configurator

Constructor Detail

SQLResultsToCSVActivity

public SQLResultsToCSVActivity(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.

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