uk.org.ogsadai.activity.transform
Class ZIPArchiveActivity

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

public class ZIPArchiveActivity
extends Activity

An Activity to archive and compress one or more inputs using the ZIP format. This activity could be used to compress and archive the results of multiple database queries contained in the same perform document. Each activity input will become an entry in the ZIP archive. The activity has two outputs, one is the archived data, the other the ZIP meta-data containing the checksum type and value. For information on this activity see the OGSA-DAI user doc: OGSA-DAI/doc/interaction/activities/transform/zipArchive.html

Author:
The OGSA-DAI Project Team

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private  IncrementalProcessorInputStream mArchivedInput
          Used to read the ZIP archive and drive the processor.
private  BlockWriter mArchivedOutput
          Activity output - archived data
private  byte[] mBuffer
          A buffer for temporary storage of blocks.
private  java.util.zip.Checksum mChecksum
          The checksum type used for the archiving
private  BlockWriter mMetadataOutput
          Activity output - archive meta data
private  ZIPIncrementalProcessor mProcessor
          Used to perform the archiving and compression.
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
ZIPArchiveActivity(org.w3c.dom.Element element)
           
 
Method Summary
private  java.lang.String getMetadata()
          Constructs the activity meta-data XML string.
 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.
 void processFirst()
          This method is called during the first iteration of processing 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, 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

mChecksum

private java.util.zip.Checksum mChecksum
The checksum type used for the archiving


mArchivedOutput

private BlockWriter mArchivedOutput
Activity output - archived data


mMetadataOutput

private BlockWriter mMetadataOutput
Activity output - archive meta data


mProcessor

private final ZIPIncrementalProcessor mProcessor
Used to perform the archiving and compression.


mArchivedInput

private IncrementalProcessorInputStream mArchivedInput
Used to read the ZIP archive and drive the processor.


mBuffer

private byte[] mBuffer
A buffer for temporary storage of blocks.

Constructor Detail

ZIPArchiveActivity

public ZIPArchiveActivity(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

public 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

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

getMetadata

private final java.lang.String getMetadata()
Constructs the activity meta-data XML string.

Returns:
meta data string.