uk.org.ogsadai.activity.sql
Class RemoveDuplicatesWebRowSetActivity
java.lang.Object
|
+--uk.org.ogsadai.activity.Activity
|
+--uk.org.ogsadai.activity.sql.RemoveDuplicatesWebRowSetActivity
- public class RemoveDuplicatesWebRowSetActivity
- extends Activity
This activity is used to remove duplicate records (rows) in a query result from multiple relational data service resources (exposed by data services).
It has one input and one output. The input must be a WebRowSet. Typically the activity providing this will be an SQLBag
activity so that a union operation is performed. The output is the transformed WebRowSet document.
For information on this activity see the OGSA-DAI user doc: OGSA-DAI/doc/interaction/activities/relational/removeDuplicates.html
- Author:
- The OGSA-DAI Project Team
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. |
private java.lang.String |
removeDup(java.lang.String inputRowSet)
Remove duplicate rows of a WebRowSet. |
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 |
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 this activity
mInput
private BlockReader mInput
-
Activity input.
mOutput
private BlockWriter mOutput
-
Activity output - WebRowSet
myBuf
private java.lang.StringBuffer myBuf
-
Store all from the input before processing. This may means memory limitation for large WebRowSets.
RemoveDuplicatesWebRowSetActivity
public RemoveDuplicatesWebRowSetActivity(org.w3c.dom.Element element)
throws ActivitySpecificationException,
ActivityCreationException
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
-
removeDup
private java.lang.String removeDup(java.lang.String inputRowSet)
throws XMLDocumentException,
XMLParseException
-
Remove duplicate rows of a WebRowSet.
-
- Parameters:
inputRowSet
- WebRowSet in a string.
- Returns:
- a string WebRowSet which contains unique rows.
- Throws:
XMLParseException
- If the string does not contain valid XML.
XMLDocumentException
- If some internal problem occurs when parsing.