uk.org.ogsadai.activity.transform
Class BlockAggregatorActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.transform.BlockAggregatorActivity

public class BlockAggregatorActivity
extends Activity

This activity aggregates blocks together using overloaded processBlocks(Type) methods. Currently has methods for both String and Node types, but only String types are enabled. The method for aggregating Node's is currently untested. For information on this activity see the OGSA-DAI user doc: OGSA-DAI/doc/interaction/activities/transform/blockAggregator.html

Author:
The OGSA-DAI Project Team

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright notice
private static DAILogger LOG
          Logger object for logging in this class
private  int mBlockSize
          Number of blocks to aggregate at a size (size of aggregated block)
private  BlockReader mInput
          Activity input
private  BlockWriter mOutput
          Activity output
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
BlockAggregatorActivity(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.
 void processBlock()
          Performs an iteration of the processing of an activity.
protected  java.lang.Object processBlocks(org.w3c.dom.Node node)
          Aggregates org.w3c.dom objects.
protected  java.lang.Object processBlocks(java.lang.String string)
          Aggregates Strings.
 
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 notice

See Also:
Constant Field Values

LOG

private static DAILogger LOG
Logger object for logging in this class


mInput

private BlockReader mInput
Activity input


mOutput

private BlockWriter mOutput
Activity output


mBlockSize

private int mBlockSize
Number of blocks to aggregate at a size (size of aggregated block)

Constructor Detail

BlockAggregatorActivity

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

processBlock

public 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

processBlocks

protected java.lang.Object processBlocks(java.lang.String string)
                                  throws ActivitySpecificationException
Aggregates Strings.

Parameters:
string - Initial string.
Returns:
the aggregated strings as a String.
Throws:
ActivitySpecificationException - If a problem is encountered when aggregating the nodes due to a non-String block arriving.

processBlocks

protected java.lang.Object processBlocks(org.w3c.dom.Node node)
                                  throws ActivitySpecificationException
Aggregates org.w3c.dom objects. This can handle Elements, Nodes and DocumentFragments

Parameters:
node - Node to aggregate additional objects to.
Returns:
the nodes aggregated into a DocumentFragment node.
Throws:
ActivitySpecificationException - If a problem is encountered when aggregating the nodes due to a non-Node block arriving.

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.