uk.org.ogsadai.activity.misc
Class NotificationActivity

java.lang.Object
  |
  +--uk.org.ogsadai.activity.Activity
        |
        +--uk.org.ogsadai.activity.misc.NotificationActivity

public class NotificationActivity
extends Activity

An activity that produces a notification message when the output stream of another activity has completed or commenced.

The activity pipes data in, through and out without changing it. The activity uses a second output stream for the notifications.

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

Author:
The OGSA-DAI Project Team

Field Summary
private static int COMMENCED
          Notification type - notify when activity commences
private static int COMPLETE
          Notification type - notify when activity completes
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static DAILogger LOG
          Logger object for logging in this class
private  BlockReader mDataInput
          Input stream
private  BlockWriter mDataOutput
          Data output stream
private  java.lang.String mMessage
          Notification message
private  BlockWriter mNotificationOutput
          Notification message output stream
private  int mNotifyType
          Current notification type
private static int NONE
          Notification type - none
 
Fields inherited from class uk.org.ogsadai.activity.Activity
mContext, mExternalInputs, mExternalOutputs, mInternalInputs, mInternalOutputs
 
Constructor Summary
NotificationActivity(org.w3c.dom.Element element)
          Constructs an activity using the specified 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.
 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

LOG

private static DAILogger LOG
Logger object for logging in this class


NONE

private static final int NONE
Notification type - none

See Also:
Constant Field Values

COMMENCED

private static final int COMMENCED
Notification type - notify when activity commences

See Also:
Constant Field Values

COMPLETE

private static final int COMPLETE
Notification type - notify when activity completes

See Also:
Constant Field Values

mNotifyType

private int mNotifyType
Current notification type


mMessage

private java.lang.String mMessage
Notification message


mDataInput

private BlockReader mDataInput
Input stream


mDataOutput

private BlockWriter mDataOutput
Data output stream


mNotificationOutput

private BlockWriter mNotificationOutput
Notification message output stream

Constructor Detail

NotificationActivity

public NotificationActivity(org.w3c.dom.Element element)
                     throws ActivitySpecificationException,
                            ActivityCreationException
Constructs an activity using the specified element.

Parameters:
element - Element to configure the activity with - from a perform document.
Throws:
ActivityCreationException - If there is a problem constructing the activity.
ActivitySpecificationException - If there is a problem constructing the activity due to an invalid setting in element.
See Also:
uk.org.ogsadai.activity
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