uk.org.ogsadai.activity.delivery
Class DeliverToAttachmentActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.delivery.DeliverToAttachmentActivity

public class DeliverToAttachmentActivity
extends Activity

This activity delivers data from an activity stream to the SOAP message attachment. The value of the MIME Header named Content-ID is returned as activity output. This ID can then be used to identify corresponding SOAP attachemnt returned with the response SOAP message.

See the activity user documentation for more details: OGSADAI/doc/interaction/activities/delivery/deliverToAttachment.html

Author:
OGSA-DAI team

Field Summary
private static int BINARY_DATA
           
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static int FILE_DATA
           
private static DAILogger LOG
          Logger object for logging in this class
private  java.util.ArrayList mByteBuffer
          Late initialised container for byte data
private  java.io.File mFileData
          File handle
private  BlockReader mInput
          Activity input
private  BlockWriter mOutput
          Activity
private  java.lang.StringBuffer mStringBuffer
          Late initialised buffer for strings
private  int returnDataType
           
private static int STRING_DATA
          Data type constants used to determine which method should be used for adding attachments
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
DeliverToAttachmentActivity(org.w3c.dom.Element element)
          Creates the deliverToAttachment activity.
 
Method Summary
protected static byte[] gatherBytes(java.util.List byteArrays)
          Gathers multiple arrays of bytes stored in the ArrayList into one byte array.
 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.
 
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 final DAILogger LOG
Logger object for logging in this class


mInput

private BlockReader mInput
Activity input


mOutput

private BlockWriter mOutput
Activity


STRING_DATA

private static final int STRING_DATA
Data type constants used to determine which method should be used for adding attachments

See Also:
Constant Field Values

BINARY_DATA

private static final int BINARY_DATA
See Also:
Constant Field Values

FILE_DATA

private static final int FILE_DATA
See Also:
Constant Field Values

returnDataType

private int returnDataType

mStringBuffer

private java.lang.StringBuffer mStringBuffer
Late initialised buffer for strings


mByteBuffer

private java.util.ArrayList mByteBuffer
Late initialised container for byte data


mFileData

private java.io.File mFileData
File handle

Constructor Detail

DeliverToAttachmentActivity

public DeliverToAttachmentActivity(org.w3c.dom.Element element)
                            throws ActivitySpecificationException,
                                   ActivityCreationException
Creates the deliverToAttachment activity.

Parameters:
element - specification of activity settings.
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

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

gatherBytes

protected static byte[] gatherBytes(java.util.List byteArrays)
Gathers multiple arrays of bytes stored in the ArrayList into one byte array.

Parameters:
byteArrays - List holding referneces to byte arrays.
Returns:
Array of gathered data.