The complete list of activities shipped with OGSA-DAI and their status can be seem at the foot of this page in Section 4.1.6, “Status of activities in OGSA-DAI 3.0”. As described there, not all activities as yet have associated user documentation. You are directed to the activity specification document (Karasavvas, K. Atkinson, M.P. and Hume, A.C. OGSA-DAI - Redesigned and New Activities. http://www.ogsadai.org.uk/documentation/ogsadai3.0/RedesignedAndNewActivitiesV1.9.pdf), the JavaDoc of both client and server-side activity classes for guidance. If these are not adequate then please do contact the OGSA-DAI team (see Appendix B, Help and support) for assistance.
Summary:
uk.org.ogsadai.ByteArraysResize.
uk.org.ogsadai.activity.block.ByteArraysResizeActivity.
uk.org.ogsadai.client.toolkit.activities.block.ByteArraysResize.
Inputs:
data: types
[byte[]].
Conditions: Required.
sizeInBytes: types
Integer.
Conditions: Required, must be greater than 0.
Outputs:
result: types
[byte[]].
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
sizeInBytes. The input list can contains arrays
of varying lengths. This activity is useful for service to service
communication. Refer to Chapter 22, Best practice for more information
about data formats, delivery options and performance.
Summary:
char arrays
and resizes them to a specific size.
uk.org.ogsadai.CharArraysResize.
uk.org.ogsadai.activity.block.CharArraysResizeActivity.
uk.org.ogsadai.client.toolkit.activities.block.CharArraysResize.
![]() | Caution |
|---|---|
The client toolkit class released with OGSA-DAI 3.0 contains some incorrectly
named methods in the OGSA-DAI 3.0 releases. The correct names will be added
in a later release or patch
and the incorrect names will be deprecated. The method
|
Inputs:
data: types
[char[]].
Conditions: Required.
sizeInChars: types
Integer.
Conditions: Required, must be greater than 0.
Outputs:
result: types
[char[]].
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
char arrays
and resizes them to a specific size which is specified by the parameter
sizeInChars. The input list of can contain
arrays of varying lengths.
This activity is useful for service to service communication. Refer to
Chapter 22, Best practice for more information about data formats,
delivery options and performance.
Summary:
uk.org.ogsadai.ControlledRepeatActivity.
uk.org.ogsadai.activity.block.ControlledRepeatActivity.
uk.org.ogsadai.client.toolkit.activities.block.ControlledRepeat.
Inputs:
repeatedInput:
[ ... [ java.lang.Object ] ... ] , any
granularity.
Conditions: Required.
input:
[ ... [ java.lang.Object ] ... ], any
granularity.
Conditions: Required.
Outputs:
repeatedOutput: types
[ ... [ java.lang.Object ] ... ] .
Constraints: none.
output: types
java.lang.Object.
Constraints: none.
Configuration parameters: none.
Activity input/output ordering:
Activity contracts: none.
Behaviour:
repeatedInput) and the second
(input) is a stream of values that controls
the number of repeats.
For every available value in the second input the first input value is repeated.
"Repeat this",
or a list, for example
[a, b, c, d, e],
or it may even be a nested list, for example a list of lists such as
[[a, b, c], [c, d], [e, f, g, h]].
It will always be treated as a single value which is then repeated.
a, b, c, d, e, f, g,
the repeated input will be repeated for each value.
[a, b, c], [d, e, f], [g, h],
the repeated input value will be repeated for each list.
Summary:
uk.org.ogsadai.ListConcatenate.
uk.org.ogsadai.activity.block.ListConcatenateActivity.
uk.org.ogsadai.client.toolkit.activities.block.ListConcatenate.
Inputs:
input: types
[java.lang.Object].
Conditions: not optional, must have at least two or more entries.
partial: type
java.lang.Boolean.
Conditions: optional, defaults to false.
![]() | Warning |
|---|---|
There is a bug in the implementation of ListConcatenate when operating in partial mode. If all the inputs are in error the activity will enter into an infinite loop. The next release of OGSA-DAI will contain an improved implementation of this activity. |
Outputs:
output: types
[java.lang.Object].
Configuration parameters: None.
Activity input/output ordering: None
Activity contracts: None
Behaviour:
Summary:
uk.org.ogsadai.ListControlledRepeat.
uk.org.ogsadai.activity.block.ListControlledRepeatActivity.
uk.org.ogsadai.client.toolkit.activities.block.ListControlledRepeat.
Inputs:
repeatedInput: types
[ ... [ java.lang.Object ] ... ].
Conditions: Required.
input: types
[ ... [ java.lang.Object ] ... ].
Conditions: Required.
granularity: type
java.lang.Integer.
Conditions: Optional. Default is 1.
Outputs:
repeatedOutput: type
java.lang.Object.
output: type
java.lang.Object.
Configuration parameters: none.
Activity input/output ordering:
repeatedInput
(which can be a single object, a list of objects, or a nested list),
then an integer is read from input granularity
and finally a value is read from input input
(which again can be a single object, a list of objects, or a nested list).
Activity contracts: none.
Behaviour:
1, 2
and the input is
[[A, B], [C]], [[D, E, F], [G], [H, I]]
then the repeated output is
[[1, 1]], [2, 2, 2]].
2,
the repeated input is 1 and the input is
[[A, B], [C, D, E], [F, G]]
then the repeated output is
[[1, 1], [1, 1, 1], [1, 1]].
Summary:
uk.org.ogsadai.ListMultiply.
uk.org.ogsadai.activity.block.ListMultiplyActivity.
uk.org.ogsadai.client.toolkit.activities.block.ListMultiply.
Inputs:
input1: types
[java.lang.Object].
Conditions: required.
input2: types
[java.lang.Object].
Conditions: required.
Outputs:
output1: types
[java.lang.Object].
output2: types
[java.lang.Object].
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
Summary:
uk.org.ogsadai.ListRemove.
uk.org.ogsadai.activity.block.ListRemoveActivity.
uk.org.ogsadai.client.toolkit.activities.block.ListRemove.
Inputs:
input: types
[[… java.lang.Object ]]….
Conditions: Required.
Outputs:
output: types
[… java.lang.Object ]….
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
Summary:
uk.org.ogsadai.Split.
uk.org.ogsadai.activity.clock.SplitActivity.
uk.org.ogsadai.client.toolkit.activities.block.Split.
Inputs:
input: types
[… java.lang.Object ]….
Conditions: none.
Outputs:
output: types
[… java.lang.Object ]….
Constraints: must have at least two or more objects.
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
Summary:
uk.org.ogsadai.Tee.
uk.org.ogsadai.activity.block.Tee.
uk.org.ogsadai.client.toolkit.activities.block.Tee.
Inputs:
input: types
[ ... [ java.lang.Object ] ... ].
Conditions: Required.
clone: types
java.lang.Boolean.
Conditions: Optional, it defaults to false
if not present.
Outputs:
output: types
[ ... [ java.lang.Object ] ... ].
Constraints: the multiplicity of this output must be at least two
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
clone is
set to TRUE.
Summary:
uk.org.ogsadai.DeliverToGFTP.
uk.org.ogsadai.activity.delivery.DeliverToGFTPActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToGFTP.
Inputs:
host: type
java.lang.String.
Conditions: the host and port number of the Grid FTP server seperated by a
':' character, for example
"gftp.server.myproject.org:2811".
filename: type
java.lang.String.
Conditions: name of the file to write to on the Grid FTP server.
data: types
byte[], or
char[], or
java.sql.Blob, or
java.sql.Clob.
passiveMode: type
java.lang.Boolean.
Conditions: Optional input used to specify if passive mode should be used.
The default value is Boolean.FALSE which
specifies that passive mode should not be used.
append: type
java.lang.Boolean.
Conditions: Optional input used to specify if the data should be appended to
any existing file with the specified name. The default value is
Boolean.FALSE which
specifies that the data should overwrite any existing data rather than append
to it.
authorization: type
java.lang.String.
Conditions: Optional input used to specify how the activity should authorize
the Grid FTP server. If the value is "HOST"
then host authorization is used. If the value if
"SELF" then self authorization is used. If
self authorization is used the Grid FTP server must be running with the same
identity as the user that submitted the workflow to OGSA-DAI. Any other
value is taken to be the expected identity of the Grid FTP sever and it is
used to provide identity authorization. The default value is to use host
authorization.
Outputs:
Activity input/output ordering:
data input contains list of
byte[] or char[]
objects then the activity will read all one value from each of the other inputs
first and then stream through the whole list writing each data block to the Grid
FTP server in turn.
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.DeliverToRequestStatus.
uk.org.ogsadai.activity.delivery.DeliverToRequestStatus.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToRequestStatus.
Inputs:
input: types
java.util.Calendarjava.util.Datejava.lang.Stringjava.lang.Doublejava.lang.Floatjava.lang.Longjava.lang.Integerjava.lang.Booleanchar[]byte[]uk.org.ogsadai.activity.io.ControlBlockOutputs:
Activity input/output ordering:
Activity contracts:
Behaviour:
String to the request status.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
<soapenv:Header>
<wsa:MessageID soapenv:mustUnderstand="0">uuid:920d2ac0-4f1b-11dc-afc8-fb84f721f326</wsa:MessageID>
<wsa:To soapenv:mustUnderstand="0">http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
<wsa:Action soapenv:mustUnderstand="0">http://ogsadai.org.uk/namespaces/2007/04/service/execution/GTDataRequestExecutionServicePortType/executeResponse</wsa:Action>
<wsa:From soapenv:mustUnderstand="0" xmlns:ns1="http://ogsadai.org.uk">
<wsa:Address>http://localhost:8090/wsrf/services/DataRequestExecutionService</wsa:Address>
<wsa:ReferenceProperties>
<ns1:ResourceID soapenv:mustUnderstand="0" xmlns:ns1="http://ogsadai.org.uk" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">DataRequestExecutionResource</ns1:ResourceID>
</wsa:ReferenceProperties>
</wsa:From>
<wsa:RelatesTo RelationshipType="wsa:Reply" soapenv:mustUnderstand="0">uuid:91f2ec00-4f1b-11dc-90e8-fadf8dc8bb2d</wsa:RelatesTo>
</soapenv:Header>
<soapenv:Body>
<executeResponse xmlns="http://ogsadai.org.uk/namespaces/2007/04/service/execution">
<ns1:requestStatus xmlns:ns1="http://ogsadai.org.uk/namespaces/2007/04/types">
<ns1:requestDetails id="ogsadai-11482d01803" status="COMPLETED"/>
<ns1:activity instanceName="uk.org.ogsadai.DeliverToRequestStatus-ogsadai-1148350a3e6" status="COMPLETED"/>
<ns1:activity instanceName="uk.org.ogsadai.SQLQuery-ogsadai-1148350a3e2" status="COMPLETED"/>
<ns1:activity instanceName="uk.org.ogsadai.TupleToCSV-ogsadai-1148350a3e4" status="COMPLETED"/>
<ns1:result activityInstanceName="uk.org.ogsadai.DeliverToRequestStatus-ogsadai-1148350a3e6" resultName="result">
<ns1:data>
<ns1:listBegin/>
</ns1:data>
<ns1:data>
<ns1:charArray>
<![CDATA[23,TestAName,44 Calder Street,03403829]]>
</ns1:charArray>
</ns1:data>
<ns1:data>
<ns1:listEnd/>
</ns1:data>
</ns1:result>
</ns1:requestStatus>
<requestID>ogsadai-11482d01803</requestID>
</executeResponse>
</soapenv:Body>
</soapenv:Envelope>
Summary:
uk.org.ogsadai.ObtainFromGFTP.
uk.org.ogsadai.activity.delivery.ObtainFromGFTPActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.ObtainFromGFTP.
Inputs:
host: type
java.lang.String.
Conditions: the host and port number of the Grid FTP server seperated by a
':' character, for example
"gftp.server.myproject.org:2811".
filename: type
java.lang.String.
Conditions: name of the file to read from the Grid FTP server.
passiveMode: type
java.lang.Boolean.
Conditions: Optional input used to specify if passive mode should be used.
The default value is Boolean.FALSE which
specifies that passive mode should not be used.
authorization: type
java.lang.String.
Conditions: Optional input used to specify how the activity should authorize
the Grid FTP server. If the value is "HOST"
then host authorization is used. If the value if
"SELF" then self authorization is used. If
self authorization is used the Grid FTP server must be running with the same
identity as the user that submitted the workflow to OGSA-DAI. Any other
value is taken to be the expected identity of the Grid FTP sever and it is
used to provide identity authorization. The default value is to use host
authorization.
Outputs:
data: list of byte[]
objects that contain the data read from the file at the Grid FTP server.
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.ReadFromDataSink.
uk.org.ogsadai.activity.delivery.ReadFromDataSinkActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.ReadFromDataSink.
uk.org.ogsadai.resource.datasink.DataSinkResource
Inputs:
Outputs:
output: java.lang.Object
that contain the data read from the Data Sink Resource targetted.
Activity input/output ordering:
Activity contracts:
Behaviour:
ControlBlock is encountered indicating no more data is available.
PIPE_CLOSED_DUE_TO_PRODUCER_ERROR error will
be introduced to the workflow and returned to the client. Data read before the
error is encountered will be available to the subsequent activities.
Summary:
uk.org.ogsadai.WriteToDataSource.
uk.org.ogsadai.activity.delivery.WriteToDataSourceActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.WriteToDataSource.
uk.org.ogsadai.resource.datasource.DataSourceResource
Inputs:
input: type: java.lang.ObjectOutputs:
Activity input/output ordering:
Object and written to the targetted Data Source Resource.
Activity contracts:
Behaviour:
java.lang.Object and store these in a Data Source Resource.
ControlBlock is encountered indicating no more data is available.
Summary:
uk.org.ogsadai.ObtainFromDataSource.
uk.org.ogsadai.activity.delivery.ObtainFromDataSourceActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.ObtainFromDataSource.
uk.org.ogsadai.resource.datasource.DataSourceResource
Inputs:
url: type: java.lang.String: URL for Data Source Resource
resourceID: type: java.lang.String: Resource ID for Data Source Resource
mode: type: java.lang.String: Mode Type for Activity can have values: FULL/BLOCK.
numberOfBlocks: type: java.lang.Integer: Optional Input for Number of Blocks to read at a time.
Outputs:
data: type: java.lang.ObjectActivity input/output ordering:
The inputs for this activity should be given in the following order.
urlresourceIDmodenumberOfBlocks: Note this is an optional input.
Activity contracts:
Behaviour:
ResourceID which will return an error if the resource cannot be located.
InvalidInputValueException to thrown.
Summary:
uk.org.ogsadai.DeliverToDataSink.
uk.org.ogsadai.activity.delivery.DeliverToDataSinkActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToDataSink.
uk.org.ogsadai.resource.datasink.DataSinkResource
Inputs:
url: type: java.lang.String: URL for Data Source Resource
resourceID: type: java.lang.String: Resource ID for Data Source Resource
mode: type: java.lang.String: Mode Type for Activity can have values: FULL/BLOCK.
numberOfBlocks: type: java.lang.Integer: Optional Input for Number of Blocks to read at a time.
data: type: java.lang.Object: Data to be written to Data Sink Resource.
Outputs:
Activity input/output ordering:
The inputs for this activity should be given in the following order.
urlresourceIDmnumberOfBlocks: Note this is an optional input.
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.ObtainFromFTP.
uk.org.ogsadai.activity.delivery.ObtainFromFTPActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.ObtainFromFTP.
Inputs:
filename: type: java.lang.String: target filename including path.
host: type: java.lang.String: Host URL including port.
passiveMode: type: java.lang.Boolean: Optional input indicating if FTP passive handshaking should be used. Default: false.
Outputs:
data: type: [byte[]]Activity input/output ordering:
The inputs for this activity should be given in the following order.
filenamehostpassiveModeActivity contracts:
Behaviour:
byte[].
passiveMode specifies if FTP passive
handshaking should be used. By default this is set to false.
ActivityProcessingException will be thrown if
an I/O or FTP connection error is encountered.
Summary:
uk.org.ogsadai.DeliverToFTP.
uk.org.ogsadai.activity.delivery.DeliverToFTPActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToFTP.
Inputs:
filename: type: java.lang.String: target filename including path.
host: type: java.lang.String: Host URL including port.
passiveMode: type: java.lang.Boolean: Optional input indicating if FTP passive handshaking should be used. Default: false.
data: type: java.io.InputStream: Binary input to be uploaded.
Outputs:
Activity input/output ordering:
The inputs for this activity should be given in the following order.
filenamehostdatapassiveModeActivity contracts:
Behaviour:
data to the
FTP server.
passiveMode specifies if FTP passive
handshaking should be used. By default this is set to false.
ActivityProcessingException will be thrown if
an I/O or FTP connection error is encountered.
Summary:
uk.org.ogsadai.DeliverToSMTP.
uk.org.ogsadai.activity.delivery.DeliverToSMTPActivity.
uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToSMTP.
Inputs:
from: type: java.lang.String: sender account address.
to: type: uk.org.ogsadai.activity.io.ListIterator: List of recipient email addresses.
subject: type: java.lang.String: Email subject line
data: type: java.io.Reader: Reader for data to be sent.
Outputs:
Configuration parameters:
dai.smtp.server:
Constraints: A valid SMTP server address for the OGSA-DAI activity to use.
Activity input/output ordering:
The inputs for this activity should be given in the following order.
fromtosubjectdataActivity contracts:
Behaviour:
to is a ListIterator
for a list of valid email addresses to send to.
ActivityProcessingException will be thrown if
an I/O or SMTP connection error is encountered.
Summary:
uk.org.ogsadai.ListDirectory.
uk.org.ogsadai.activity.file.ListDirectoryActivity.
uk.org.ogsadai.client.toolkit.activities.file.ListDirectory.
uk.org.ogsadai.resource.dataresource.file.FileAccessProvider
Inputs:
directory: types
String
Conditions: Optional, defaults to '\'
includePath: types
Boolean
Conditions: Optional, defaults to true.
recursive: types
Boolean
Conditions: Optional, defaults to falseOutputs:
data: types
String[]Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
false for the
includePath parameter will result in the relative path being returned.
true for
the recursive parameter caused the sub-directories to be recursed.
Summary:
uk.org.ogsadai.ReadFromFile.
uk.org.ogsadai.activity.file.ReadFromFileActivity.
uk.org.ogsadai.client.toolkit.activities.file.ReadFromFile.
uk.org.ogsadai.resource.dataresource.file.FileAccessProviderInputs:
file: types
String.
Conditions: Required.
offset: types
Long.
Conditions: Optional, defaults to 0, namely the start of the file.
length: types
Long.
Conditions: Optional, must be greater than 0, except -1 which indicates to read
to the end of the file. Defaults to -1.
Outputs:
data: types
[byte[]].
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
offset
and read length
can be set. The default offset is 0, or the start of the
file. The length of bytes to read can also be set, a value of -1 indicates to
continue reading until the end of the file is reached, which is the default
value for this input.
Summary:
uk.org.ogsadai.CreateDataSink.
uk.org.ogsadai.activity.management.CreateDataSinkActivity.
uk.org.ogsadai.client.toolkit.activities.management.CreateDataSink.
Inputs:
resourceId: type
java.lang.String.
Conditions: Optional input used to specify the ID of the data sink. If not provided,
then the server generates randomly a unique one. If provided then it must
be parsable into a
valid uk.org.ogsadai.resource.ResourceID.
Outputs:
result: type
java.lang.String - the ID of the data sink.
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
uk.org.ogsadai.resource.ResourceID.
Summary:
uk.org.ogsadai.CreateDataSource.
uk.org.ogsadai.activity.management.CreateDataSourceActivity.
uk.org.ogsadai.client.toolkit.activities.management.CreateDataSource.
Inputs:
resourceId: type
java.lang.String.
Conditions: Optional input used to specify the ID of the data source. If not provided,
then the server generates randomly a unique one. If provided then it must
be parsable into a
valid uk.org.ogsadai.resource.ResourceID.
Outputs:
result: type
java.lang.String. ID of the data source.
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
uk.org.ogsadai.resource.ResourceID.
Summary:
uk.org.ogsadai.CreateResourceGroup.
uk.org.ogsadai.activity.management.CreateResourceGroupActivity.
uk.org.ogsadai.client.toolkit.activities.management.CreateResourceGroup.
Inputs:
resourceIds: type
[java.lang.String]. IDs of the resources to be members of the resource group. Each must be
parsable into a
valid uk.org.ogsadai.resource.ResourceID.
resourceGroupId: type
[java.lang.String].
Conditions: optional (server generated). If provided then it must
be parsable into a
valid uk.org.ogsadai.resource.ResourceID.
Outputs:
output: types
java.lang.String. ID of the resource group.
![]() | Warning |
|---|---|
This output in incorrectly named. It should be called 'result'. This will be changed in the next release of OGSA-DAI. |
Configuration parameters: none.
Activity input/output ordering: none.
Activity contracts: none.
Behaviour:
Summary:
uk.org.ogsadai.ExtractTableSchema.
uk.org.ogsadai.activity.sql.ExtractTableSchemaActivity.
uk.org.ogsadai.client.toolkit.activities.sql.ExtractTableSchema.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider.
Inputs:
name: type
java.lang.String.
Conditions: none. This can be a pattern in which "%" matches any
substring, "_" matches one character.
catalog: type
java.lang.String.
Conditions: optional.
schema: type
java.lang.String.
Conditions: optional.
Outputs:
data: types
[TableMetaData].
Constraints: none.
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.GetAvailableTables.
uk.org.ogsadai.activity.sql.GetAvailableTablesActivity.
uk.org.ogsadai.client.toolkit.activities.sql.GetAvailableTables.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider.
Inputs:
Outputs:
data: types
[java.lang.String].
Constraints: none.
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.SQLBag.
uk.org.ogsadai.activity.sql.SQLBagActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLBag.
uk.org.ogsadai.resource.ResourceAccessor.ResourceGroupProvider.
uk.org.ogsadai.SQLQuery than can
be used to execute an SQL query on the resource.
Inputs:
expression: type
java.lang.String.
Conditions: must contain a valid SQL query expression.
timeout: type
java.lang.Integer.
Conditions: number of ms for the query to time out. This is optional with the
default value of 10000ms if not specified.
![]() | Warning |
|---|---|
The inclusion of this input was an error. Timeouts within SQLBag are now
regarded as a bad idea. This input will be removed in the next release of
OGSA-DAI which will contain a better SQLBag activity implementation. Until that
release it is recommended that you set the timeout to be sufficiently high so
that it never has an impact, for example
If you are planning to make extensive use of SQLBag before the next release of OGSA-DAI then please contact the OGSA-DAI team and we will be happy to advise you. |
Outputs:
data: types
[MetadataWrapper(TupleMetadata),uk.org.ogsadai.tuple.Tuple,...].
Constraints: none.
Activity input/output ordering:
Activity contracts:
uk.org.ogsadai.activity.contract.SQLQueryuk.org.ogsadai.activity.contract.SQLBagBehaviour:
uk.org.ogsadai.SQLQuery
activities to execute the query on the resources within the resource group.
Internally the result streams from these activities are merged using a
uk.org.ogsadai.ListConcatenate activity.
Summary:
uk.org.ogsadai.SQLBulkLoadTuple.
uk.org.ogsadai.activity.sql.SQLBulkLoadTupleActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLBulkLoadTuple.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider.
Inputs:
data: types
[MetadataWrapper(TupleMetadata),uk.org.ogsadai.tuple.Tuple,...]..
Conditions: TupleMetadata must conform to that expected in the target table..
tableName: type
java.lang.String.
Conditions: none.
Outputs:
result: type
java.lang.Integer.
Constraints: none.
Activity input/output ordering:
tableName must be
matched by an accompanying Tuple list on input data.
Each pair of table name and Tuple list will produce one output.
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.SQLParameterisedQuery.
uk.org.ogsadai.activity.sql.SQLParameterisedQueryActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLParameterisedQuery.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider
Inputs:
expression: Type
java.lang.String.
Conditions: must contain a valid SQL query expression.
parameters: lists of
uk.org.ogsadai.tuple.Tuple. The first block
in a list is an object of type
uk.org.ogsadai.tuple.TupleMetadata.
Outputs:
data: lists of lists of
uk.org.ogsadai.tuple.Tuple and corresponding
uk.org.ogsadai.tuple.TupleMetadata, one
tuple list per input expression.
Activity input/output ordering:
Activity contracts:
uk.org.ogsadai.activity.contract.SQLQueryBehaviour:
ActivitySQLUserException is raised if there
was an access error at the data resource such as syntax errors in the SQL
expression or if the target table does not exist. It is also raised
if the number of placeholders '?' in the SQL query expression do not match the
number of parameters in the input tuple.
ActivitySQLUserException
is raised if the number of input SQL expressions does not match
the number of input parameter lists.
Summary:
uk.org.ogsadai.SQLParameterisedUpdate.
uk.org.ogsadai.activity.sql.SQLParameterisedUpdateActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLParameterisedUpdate.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider
Inputs:
expression: Type
java.lang.String.
Conditions: must contain a valid SQL update expression.
parameters: Type
lists of uk.org.ogsadai.tuple.Tuples.
Conditions: Ordering of Tuple columns must match that required by the expression.
Outputs:
result: lists of
java.lang.Integer,
one list per input expression.
Activity input/output ordering:
Activity contracts:
Behaviour:
ActivitySQLUserException is raised if there
was an access error at the data resource for example syntax errors in the SQL
expression or if the target table does not exist. It is also raised
if the number of placeholders '?' in the SQL query expression do not match the
number of parameters in the input tuple.
ActivitySQLUserException
is raised if the number of input SQL expressions does not match
the number of input parameter lists.
Summary:
uk.org.ogsadai.SQLQuery.
uk.org.ogsadai.activity.sql.SQLQueryActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLQuery.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider
Inputs:
expression: Type
java.lang.String. Conditions: must
contain a valid SQL query expression.
Outputs:
data: lists of
uk.org.ogsadai.tuple.Tuples with corresponding
uk.org.ogsadai.tuple.TupleMetadata, one per
input expression.
Activity input/output ordering:
Activity contracts:
uk.org.ogsadai.activity.contract.SQLQueryBehaviour:
ActivitySQLUserException is raised if there
was an access error at the data resource such as syntax errors in the SQL
expression or if the target table does not exist.
Summary:
uk.org.ogsadai.SQLResilient.
uk.org.ogsadai.activity.sql.SQLResilientActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLResilient.
uk.org.ogsadai.resource.ResourceAccessor.ResourceGroupProvider.
uk.org.ogsadai.SQLQuery than can
be used to execute an SQL query on the resource.
Inputs:
expression: type
java.lang.String.
Conditions: must contain a valid SQL query expression.
timeout: type
java.lang.Integer.
Conditions: number of ms for the query to time out. This is optional with the default value of
10000ms if not specified.
![]() | Warning |
|---|---|
The inclusion of this input was an error. Timeouts within SQLResilient are now
regarded as a bad idea. This input will be removed in the next release of
OGSA-DAI which will contain a better SQLResilient activity implementation.
Until that release it is recommended that you set the timeout to be sufficiently
high so that it never has an impact, for example
If you are planning to make extensive use of SQLResilient before the next release of OGSA-DAI then please contact the OGSA-DAI team and we will be happy to advise you.
|
Outputs:
data: types
[MetadataWrapper(TupleMetadata),uk.org.ogsadai.tuple.Tuple,...].
Constraints: none.
Activity input/output ordering:
Activity contracts:
uk.org.ogsadai.activity.contract.SQLQueryuk.org.ogsadai.activity.contract.SQLResilientBehaviour:
uk.org.ogsadai.SQLQuery
activities to execute the query on the resources within the resource group.
Summary:
uk.org.ogsadai.SQLUpdate.
uk.org.ogsadai.activity.sql.SQLUpdateActivity.
uk.org.ogsadai.client.toolkit.activities.sql.SQLUpdate.
uk.org.ogsadai.resource.dataresource.jdbc.JDBCConnectionProvider
Inputs:
expression: Type
java.lang.String.
Conditions: must contain a valid SQL update expression.
Outputs:
result: type
java.lang.Integer, one per input expression.
Activity input/output ordering:
Activity contracts:
Behaviour:
ActivitySQLUserException is raised if there
was an access error at the data resource for example syntax errors in the SQL
expression or if the target table does not exist.
Summary:
uk.org.ogsadai.CSVToTuple.
uk.org.ogsadai.activity.transform.CSVToTupleActivity.
uk.org.ogsadai.client.toolkit.activities.transform.CSVToTuple.
Inputs:
data: type:
list of char[]. This is the actual CSV data.
![]() | Warning |
|---|---|
| In release 3.0 the CSV data must contain a newline at the end of the final row. Without this newline the final row will be missed out or if there is only one row a error will occur. This bug has since been fixed and the fix will be included in the next release. |
delimiter: type:
java.lang.String
Conditions: Optional input indicating what the delimiter is.The default value is
","nullDataString: type:
java.lang.String
Conditions: Optional input indicating the representation of null value fields.
The default value is "NULL".
headerIncluded: type:
java.lang.Boolean
Conditions: Optional input indicating whether the first line should be considered as header.
The default value is Boolean.FALSE. If the first line
is considered to be a header then the values in this line will be used to label the column
names.
outputTypes: type:
list of java.lang.Integer
conditions: Optional input indicating the type of the fields of each column in order to provide more complete metadata in the result.
The default value is uk.org.ogsadai.tuple.TupleTypes._STRINGOutputs:
result: type:
list of char[]Activity input/output ordering:
Activity contracts:
Behaviour:
This example shows how to use the CSVToTuple activity to convert a comma separated values (CSV) data file into a tuple list that can be used by other activities in OGSA-DAI. Assume we have file containing the following CSV data:
name,age,height ally,37,1.5 ross,2,0.7 bob,20,1.4
The first line of this file is a header that specifies column names. The next three lines are data values. The name column contains text, the age column contains integers and the height column contains floating point numbers.
The following example code passes this CSV data as input to the TupleToCSV activity. The tuple list produced by the activity is then converted into XML Web Row Set format and returned in the request status. Finally the example code prints out the XML Web Row Set data . This is not the type of workflow one would normally execute but it is used in this example because converting the tuples to XML Web Row Set allows us easily read the tuple metadata so we can see what the activity has done. In practice output of the TupleToCSV activity would go as input to another activity that expects a tuple stream such as SQLParameterisedQuery or SQLBulkloadTuple. Also in practice the CSV data may not be passed to OGSA-DAI directly as an input from the client, instead it may be obtained from another activity such as ObtainFromFTP.
The example code is:
package uk.org.ogsadai.test.system.activity.transform;
import java.io.BufferedReader;
import java.io.Reader;
import java.io.StringReader;
import java.net.URL;
import uk.org.ogsadai.client.toolkit.DataRequestExecutionResource;
import uk.org.ogsadai.client.toolkit.PipelineWorkflow;
import uk.org.ogsadai.client.toolkit.RequestExecutionType;
import uk.org.ogsadai.client.toolkit.Server;
import uk.org.ogsadai.client.toolkit.ServerProxy;
import uk.org.ogsadai.client.toolkit.activities.delivery.DeliverToRequestStatus;
import uk.org.ogsadai.client.toolkit.activities.transform.CSVToTuple;
import uk.org.ogsadai.client.toolkit.activities.transform.TupleToWebRowSetCharArrays;
import uk.org.ogsadai.resource.ResourceID;
import uk.org.ogsadai.tuple.TupleTypes;
/**
* Example client program using the CSVToTuple activity.
*
* @author The OGSA-DAI Project Team
*/
public class CSVToTupleExample
{
public static void main(String[] args) throws Exception
{
// Reader to CSV data. This could easily be a FileReader to read
// the data from a file.
String csvData =
"name,age,height\nally,37,1.5\nross,2,0.7\nbob,20,1.4\n";
Reader reader = new StringReader(csvData);
// Construct the CSVTuple activity
CSVToTuple csvToTuple = new CSVToTuple();
// Add the data
csvToTuple.addData(reader);
// Specify that the data has a header row. This will be use to
// form the names of the column tuples.
csvToTuple.addHeaderIncluded(true);
// Specify the type of data in each column.
csvToTuple.addOutputTypesAsArray(
new int[]{TupleTypes._STRING, TupleTypes._INT, TupleTypes._FLOAT});
// Create a TupleToWebRowSetCharArrays to convert a tuple list to
// XML Web Row Set format
TupleToWebRowSetCharArrays tupleToWebRowSet =
new TupleToWebRowSetCharArrays();
tupleToWebRowSet.connectDataInput(csvToTuple.getResultOutput());
// Deliver the result to the requets status
DeliverToRequestStatus deliverToRequestStatus =
new DeliverToRequestStatus();
deliverToRequestStatus.connectInput(tupleToWebRowSet.getResultOutput());
// Build the pipeline workflow
PipelineWorkflow pipeline = new PipelineWorkflow();
pipeline.add(csvToTuple);
pipeline.add(tupleToWebRowSet);
pipeline.add(deliverToRequestStatus);
// Get hold of the DRER
Server server = new ServerProxy();
server.setDefaultBaseServicesURL(
new URL("http://localhost:8080/wsrf/services/dai"));
DataRequestExecutionResource drer =
server.getDataRequestExecutionResource(
new ResourceID("DataRequestExecutionResource"));
// Execute the workflow
drer.execute(pipeline, RequestExecutionType.SYNCHRONOUS);
// Print out the XML Web Row Set data
while( tupleToWebRowSet.hasNextResult())
{
BufferedReader bufferedReader =
new BufferedReader(tupleToWebRowSet.nextResult());
String line;
while( (line = bufferedReader.readLine()) != null )
{
System.out.println(line);
}
}
}
}
Running the program will produce the following output which is the tuple stream in XML Web Row Set format:
<webRowSet xmlns="http://java.sun.com/xml/ns/jdbc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/jdbc http://java.sun.com/xml/ns/jdbc/webrowset.xsd"> <properties> <command></command> <concurrency></concurrency> <datasource></datasource> <escape-processing>true</escape-processing> <fetch-direction>1000</fetch-direction> <fetch-size>0</fetch-size> <isolation-level>0</isolation-level> <key-columns></key-columns> <map></map> <max-field-size>0</max-field-size> <max-rows>0</max-rows> <query-timeout>0</query-timeout> <read-only>true</read-only> <rowset-type>1003</rowset-type> <show-deleted>false</show-deleted> <table-name></table-name> <url></url> <sync-provider> <sync-provider-name/> <sync-provider-vendor/> <sync-provider-version/> <sync-provider-grade/> <data-source-lock/> </sync-provider> </properties> <metadata> <column-count>3</column-count> <column-definition> <column-index>1</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>2</nullable> <signed></signed> <searchable></searchable> <column-display-size>0</column-display-size> <column-label>name</column-label> <column-name>name</column-name> <schema-name></schema-name> <column-precision>0</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>12</column-type> <column-type-name>VARCHAR</column-type-name> </column-definition> <column-definition> <column-index>2</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>2</nullable> <signed></signed> <searchable></searchable> <column-display-size>0</column-display-size> <column-label>age</column-label> <column-name>age</column-name> <schema-name></schema-name> <column-precision>0</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>4</column-type> <column-type-name>INTEGER</column-type-name> </column-definition> <column-definition> <column-index>3</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>2</nullable> <signed></signed> <searchable></searchable> <column-display-size>0</column-display-size> <column-label>height</column-label> <column-name>height</column-name> <schema-name></schema-name> <column-precision>0</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>8</column-type> <column-type-name>DOUBLE</column-type-name> </column-definition> </metadata> <data><currentRow> <columnValue>ally</columnValue> <columnValue>37</columnValue> <columnValue>1.5</columnValue> </currentRow><currentRow> <columnValue>ross</columnValue> <columnValue>2</columnValue> <columnValue>0.7</columnValue> </currentRow><currentRow> <columnValue>bob</columnValue> <columnValue>20</columnValue> <columnValue>1.4</columnValue> </currentRow></data> </webRowSet>
The highlighted sections show the column name and column type metadata and also the data values. This shows that the tuples have correctly been extracted from the CSV data and tuple metadata has been constructed from the header row and the column types the user specified.
Summary:
uk.org.ogsadai.TupleSimpleMerge.
uk.org.ogsadai.activity.transform.TupleSimpleMergeActivity.
uk.org.ogsadai.client.toolkit.activities.transform.TupleSimpleMerge.
Inputs:
data: types
[uk.org.ogsadai.tuple.Tuple].
Conditions: there must be two or more inputs compsed of Tuple Lists.
Outputs:
result: types
[uk.org.ogsadai.tuple.Tuple].
Constraints: none.
Activity input/output ordering:
data, for inputs upto N where N is
the number of inputs, will have a single tuple read from them. These tuples
will be output as a single tuple on result.
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.TupleSplit.
uk.org.ogsadai.activity.transform.TupleSplitActivity.
uk.org.ogsadai.client.toolkit.activities.transform.TupleSplit.
Inputs:
data: types
[uk.org.ogsadai.tuple.Tuple].
Conditions: none.
Outputs:
result: types
[java.lang.Object].
Constraints: there must be one or more of these objects.
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.TupleProjection.
uk.org.ogsadai.activity.transform.TupleProjectionActivity.
uk.org.ogsadai.client.toolkit.activities.transform.TupleProjection.
Inputs:
columnIds: types
[uk.org.ogsadai.tuple.Tuple].
Conditions: none.
data: types
[uk.org.ogsadai.tuple.Tuple].
Conditions: none.
Outputs:
result: types
[uk.org.ogsadai.tuple.Tuple].
Constraints: none.
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
[char[]].
uk.org.ogsadai.TupleToCSV.
uk.org.ogsadai.activity.transform.TupleToCSVActivity.
uk.org.ogsadai.client.toolkit.activities.transform.TupleToCSV.
Inputs:
data: type: uk.org.ogsadai.tuple.Tupledelimiter: type: java.lang.StringlineBreak: type: java.lang.StringnullDataString: type: java.lang.StringincludeHeader: type: java.lang.BooleanescapeFields: type: java.lang.BooleanOutputs:
result: type: [char[]]
Inputs other than input data are configuration for the CSV output from the activity.
delimiter: default: ","
lineBreak: default: LineFeednullDataString: default: NullincludeHeader: default: falseescapeFields: default: falseActivity input/output ordering:
Input ordering to TupleToCSV is important and is expected in the following order.
delimiterlineBreaknullDataStringincludeHeaderescapeFieldsdataActivity contracts:
Behaviour:
[char[]] and be formatted according to the
CSV options used. The default settings will produce an output similar to:
[ 23,TestAName,44 Calder Street,03403829 ]
where [ ... ] denote the list markers and the input was a single tuple.
ListBegin and end with a ListEnd. Each line of output between these markers will
be the output from a tuple of input.
escapeFields and includeHeader to true and the delimiter to @ produces:
[
"id"@"name"@"address"@"phone"
23@"TestAName"@"44 Calder Street"@"03403829"
]
uk.org.ogsadai.PIPE_CLOSED_DUE_TO_PRODUCER_ERRORSummary:
uk.org.ogsadai.TupleToWebRowSetCharArrays.
uk.org.ogsadai.activity.transform.TupleToWebRowSetCharArraysActivity.
uk.org.ogsadai.client.toolkit.activities.transform.TupleToWebRowSetCharArrays.
Inputs:
data: type: uk.org.ogsadai.tuple.TupleOutputs:
result: type: [char[]]Configuration parameters:
Activity input/output ordering:
Activity contracts:
Behaviour:
[char[]]. The tuple metadata is used to
create the metadata for describing the results in the WebRowSet. The tuples are then
output as WebRowSet XML to attached to this metadata. An example output is shown.
<webRowSet xmlns="http://java.sun.com/xml/ns/jdbc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/jdbc http://java.sun.com/xml/ns/jdbc/webrowset.xsd"> <properties> <command></command> <concurrency></concurrency> <datasource></datasource> <escape-processing>true</escape-processing> <fetch-direction>1000</fetch-direction> <fetch-size>0</fetch-size> <isolation-level>0</isolation-level> <key-columns></key-columns> <map></map> <max-field-size>0</max-field-size> <max-rows>0</max-rows> <query-timeout>0</query-timeout> <read-only>true</read-only> <rowset-type>1003</rowset-type> <show-deleted>false</show-deleted> <table-name></table-name> <url></url> <sync-provider> <sync-provider-name/> <sync-provider-vendor/> <sync-provider-version/> <sync-provider-grade/> <data-source-lock/> </sync-provider> </properties> <metadata> <column-count>4</column-count> <column-definition> <column-index>1</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>1</nullable> <signed></signed> <searchable></searchable> <column-display-size>11</column-display-size> <column-label>id</column-label> <column-name>id</column-name> <schema-name></schema-name> <column-precision>11</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>4</column-type> <column-type-name>INTEGER</column-type-name> </column-definition> <column-definition> <column-index>2</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>1</nullable> <signed></signed> <searchable></searchable> <column-display-size>64</column-display-size> <column-label>name</column-label> <column-name>name</column-name> <schema-name></schema-name> <column-precision>64</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>12</column-type> <column-type-name>VARCHAR</column-type-name> </column-definition> <column-definition> <column-index>3</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>1</nullable> <signed></signed> <searchable></searchable> <column-display-size>128</column-display-size> <column-label>address</column-label> <column-name>address</column-name> <schema-name></schema-name> <column-precision>128</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>12</column-type> <column-type-name>VARCHAR</column-type-name> </column-definition> <column-definition> <column-index>4</column-index> <auto-increment></auto-increment> <case-sensitive></case-sensitive> <currency></currency> <nullable>1</nullable> <signed></signed> <searchable></searchable> <column-display-size>20</column-display-size> <column-label>phone</column-label> <column-name>phone</column-name> <schema-name></schema-name> <column-precision>20</column-precision> <column-scale>0</column-scale> <table-name></table-name> <catalog-name></catalog-name> <column-type>12</column-type> <column-type-name>VARCHAR</column-type-name> </column-definition> </metadata> <data> <currentRow> <columnValue>23</columnValue> <columnValue>TestAName</columnValue> <columnValue>44 Calder Street</columnValue> <columnValue>03403829</columnValue> </currentRow> </data> </webRowSet>
Summary:
uk.org.ogsadai.WebRowSetCharacterDataToTuple.
uk.org.ogsadai.activity.transform.WebRowSetCharacterDataToTupleActivity.
uk.org.ogsadai.client.toolkit.activities.transform.WebRowSetCharacterDataToTuple.
Inputs:
data: type:
uk.org.ogsadai.tuple.Clob or
list of char[]Outputs:
result: type:
list of tuplesConfiguration parameters:
Activity input/output ordering:
Activity contracts:
Behaviour:
org.xml.sax.SAXParseException,
org.xml.sax.SAXWrappedException,
org.xml.sax.SAXException to be thrown.
Summary:
uk.org.ogsadai.XSLTransform.
uk.org.ogsadai.activity.transform.XSLTransform.
uk.org.ogsadai.client.toolkit.activities.transform.XSLTransform.
Inputs:
xslt: type
[ char[] ].
Conditions: Each list of character arrays must form a valid XSLT document.
xml: type
[ char[] ].
Conditions: Each list of character arrays must form a well-formed XML document.
Outputs:
result: type
[ char[] ].
Constraints: none.
Activity input/output ordering:
Activity contracts:
Behaviour:
xml input and transformed using the XSL
transformation instructions from the xslt.
Summary:
uk.org.ogsadai.Echo.
uk.org.ogsadai.activity.util.EchoActivity.
uk.org.ogsadai.client.toolkit.activities.util.Echo.
Inputs:
input: type:
Java.lang.ObjecterrorAt: type:
java.lang.Integer
Conditions: Optional input indicating if an error should be thrown at the end of the
stream,or instead of the nth value in the stream. A value of -1 indicates that an
error will be thrown at the end of the stream, a value of -2 indicates that no
error will be thrown at the end of the stream and a value greater than 0 indicates at
which value of the stream the error should be thrown.
Outputs:
output: type:
java.lang.ObjectActivity input/output ordering:
Activity contracts:
Behaviour:
uk.org.ogsadai.uk.org.ogsadai.activity.block.ActivityOutOfBoundsException
will be thrown if the corresponding input indicates so.
Summary:
uk.org.ogsadai.HashCode.
uk.org.ogsadai.activity.util.HashCodeActivity.
uk.org.ogsadai.client.toolkit.activities.util.HashCode.
Inputs:
input: type:
java.lang.ObjectOutputs:
output: type:
java.lang.LongActivity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.ReadString.
uk.org.ogsadai.activity.util.ReadStringActivity.
uk.org.ogsadai.client.toolkit.activities.util.ReadString.
uk.org.ogsadai.resource.dataresource.string.StringResourceAccessor
Inputs:
Outputs:
output: type:
java.lang.StringActivity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.Sleep.
uk.org.ogsadai.activity.util.SleepActivity.
uk.org.ogsadai.client.toolkit.activities.util.Sleep.
Inputs:
duration: type:
Java.lang.NumberOutputs:
Activity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.Timestamp.
uk.org.ogsadai.activity.util.TimestampActivity.
uk.org.ogsadai.client.toolkit.activities.util.Timestamp.
Inputs:
Outputs:
output: type:
java.lang.LongActivity input/output ordering:
Activity contracts:
Behaviour:
Summary:
uk.org.ogsadai.XMLListCollections.
uk.org.ogsadai.activity.xmldb.XMLListCollectionsActivity.
uk.org.ogsadai.client.toolkit.activities.xmldb.XMLListCollections.
uk.org.ogsadai.resource.dataresource.xmldb.XMLDBCollectionProvider
Inputs:
parentCollection: type: java.lang.StringOutputs:
data: type: [java.lang.String]Activity input/output ordering:
Activity contracts:
Behaviour:
[String].
ActivityUserException where a invalid collection name is used as input.
Summary:
uk.org.ogsadai.XMLListResources.
uk.org.ogsadai.activity.xmldb.XMLListResourcesActivity.
uk.org.ogsadai.client.toolkit.activities.xmldb.XMLListResources.
uk.org.ogsadai.resource.dataresource.xmldb.XMLDBCollectionProvider
Inputs:
parentCollection: type: java.lang.StringOutputs:
data: type: [java.lang.String]Activity input/output ordering:
Activity contracts:
Behaviour:
ActivityUserException where a invalid collection name is used as input.
Summary:
uk.org.ogsadai.XPathQuery.
uk.org.ogsadai.activity.xmldb.XPathQueryActivity.
uk.org.ogsadai.client.toolkit.activities.xmldb.XPathQuery.
uk.org.ogsadai.resource.dataresource.xmldb.XMLDBCollectionProvider
Inputs:
collection: type: java.lang.StringresourceID: type: java.lang.Stringnamespace: list of java.lang.Strings.
expression: type: java.lang.StringOutputs:
data: type: [char[]]Activity input/output ordering:
Input Ordering
collectionresourceIDnamespaceexpression
Activity contracts:
Behaviour:
ActivityUserException where a malformed query, invalid namespaces or collections are used as input.
Summary:
uk.org.ogsadai.XQuery.
uk.org.ogsadai.activity.xmldb.XQueryActivity.
uk.org.ogsadai.client.toolkit.activities.xmldb.XQuery.
uk.org.ogsadai.resource.dataresource.xmldb.XMLDBCollectionProvider
collection: type: java.lang.StringresourceID: type: java.lang.Stringnamespace: type: list of java.lang.Strings.
expression: type: java.lang.StringOutputs:
data: type: [char[]]Activity input/output ordering:
Input Ordering
collectionresourceIDnamespaceexpression
Activity contracts:
Behaviour:
ActivityUserException where a malformed query, invalid resource, invalid namespaces or collections are used as input.
This list outlines the activities supported in OGSA-DAI 3.0. Prior to release activities were subject to review. This review covered:
![]() | Note |
|---|---|
This review was not completed in time for the release. It is intended that at a suitable point after completion of this review updated user documentation and any updated activities (as a consequence of identified bugs, improvements to error handling, robustness or behaviour or to make conformant with the specification) will be released. |
| Name | Server-Side Class
Sub-packages of
| Client-Side Class
Sub-packages of
| Reviewed? |
|---|---|---|---|
| Block Activities | block. | block. | |
| ByteArraysResize | ByteArraysResizeActivity | ByteArraysResize | Yes |
| CharArraysResize | CharArraysResizeActivity | CharArraysResize | Yes |
| ControlledRepeat | ControlledRepeatActivity | ControlledRepeat | Yes |
| ListConcatenate | ListConcatenateActivity | ListConcatenate | Yes |
| ListControlledRepeat | ListControlledRepeatActivity | ListControlledRepeat | Yes |
| ListMultiply | ListMultiplyActivity | ListMultiply | - |
| Split | SplitActivity | Split | - |
| Tee | TeeActivity | Tee | Yes |
| ListRemove | ListRemoveActivity | ListRemove | Yes |
| Delivery Activities | delivery. | delivery. | |
| DeliverToDataSink | DeliverToDataSinkActivity | DeliverToDataSink | Yes |
| DeliverToFTP | DeliverToFTPActivity | DeliverToFTP | Yes |
| DeliverToGFTP | DeliverToGFTPActivity | DeliverToGFTP | Yes |
| DeliverToHTTP | DeliverToHTTPActivity | - | - |
| DeliverToRequestStatus | DeliverToRequestStatusActivity | DeliverToRequestStatus | Yes |
| DeliverToSession | DeliverToSessionActivity | DeliverToSession | - |
| DeliverToSMTP | DeliverToSMTPActivity | DeliverToSMTP | Yes |
| ObtainFromFTP | ObtainFromFTPActivity | ObtainFromFTP | Yes |
| ObtainFromGFTP | ObtainFromGFTPActivity | ObtainFromGFTP | Yes |
| ObtainFromHTTP | ObtainFromHTTPActivity | ObtainFromHTTP | - |
| ObtainFromSession | ObtainFromSessionActivity | ObtainFromSession | - |
| ObtainFromDataSource | ObtainFromDataSourceActivity | ObtainFromDataSource | Yes |
| ReadFromDataSink | ReadFromDataSinkActivity | ReadFromDataSink | Yes |
| WriteToDataSource | WriteToDataSourceActivity | WriteToDataSource | Yes |
| File Activities | file. | file. | |
| ReadFromFile | ReadFromFileActivity | ReadFromFile | Yes |
| ListDirectory | ListDirectoryActivity | ListDirectory | Yes |
| Management Activities | management. | management. | |
| CreateDataSink | CreateDataSinkActivity | CreateDataSink | Yes |
| CreateDataSource | CreateDataSourceActivity | CreateDataSource | Yes |
| CreateResourceGroup | CreateResourceGroupActivity | CreateResourceGroup | Yes |
| Relational Activities | sql. | sql. | |
| ExtractTableSchema | ExtractTableSchemaActivity | ExtractTableSchema | - |
| GetAvailableTable | GetAvailableTableActivity | GetAvailableTable | Yes |
| SQLBag | SQLBagActivity | SQLBag | Yes |
| SQLBulkLoadTuple | SQLBulkLoadTupleActivity | SQLBulkLoadTuple | Yes |
| SQLParameterisedQuery | SQLParameterisedQueryActivity | SQLParameterisedQuery | Yes |
| SQLParameterisedUpdate | SQLParameterisedUpdateActivity | SQLParameterisedUpdate | Yes |
| SQLQuery | SQLQueryActivity | SQLQuery | Yes |
| SQLResilient | SQLResilientActivity | SQLResilient | Yes |
| SQLUpdate | SQLUpdateActivity | SQLUpdate | Yes |
| Transformation Activities | transform. | transform. | |
| CSVToTuple | CSVToTupleActivity | CSVToTuple | Yes |
| NumberToStringActivity | NumberToStringActivity | - | - |
| StringConcatenateActivity | StringConcatenateActivity | - | - |
| StringTokenizeActivity | StringTokenizeActivity | - | - |
| TupleProjection | TupleProjectionActivity | TupleProjection | Yes |
| TupleSimpleMerge | TupleSimpleMergeActivity | TupleSimpleMerge | Yes |
| TupleSplit | TupleSplitActivity | TupleSplit | Yes |
| TupleToCSV | TupleToCSVActivity | TupleToCSV | Yes |
| TableMetadataToXMLCharArrays | TableMetadataToXMLCharArraysActivity | TableMetadataToXMLCharArrays | - |
| TupleToWebRowSetCharArrays | TupleToWebRowSetCharArraysActivity | TupleToWebRowSetCharArrays | Yes |
| WebRowSetCharacterDataToTuple | WebRowSetCharacterDataToTupleActivity | WebRowSetCharacterDataToTuple | Yes |
| Utility Activities | util. | util. | |
| ActivityUserErrorProducer | ActivityUserErrorProducerActivity | ActivityUserErrorProducer | - |
| CloneableObjectProducer | CloneableObjectProducerActivity | CloneableObjectProducer | - |
| Counter | CounterActivity | Counter | - |
| DQPPattern | DQPPatternActivity | DQPPattern | - |
| Echo | EchoActivity | Echo | Yes |
| HashCode | HashCodeActivity | HashCode | Yes |
| ReadString | ReadStringActivity | ReadString | Yes |
| Sleep | SleepActivity | Sleep | Yes |
| Timestamp | TimestampActivity | Timestamp | Yes |
| XSLTransform | XSLTransformActivity | XSLTransform | Yes |
| XMLDB Activities | xmldb. | xmldb. | |
| XMLListCollections | XMLListCollectionsActivity | XMLListCollections | Yes |
| XMLListResources | XMLListResourcesActivity | XMLListResources | Yes |
| XPathQuery | XPathQueryActivity | XPathQuery | Yes |
| XQuery | XQueryActivity | XQuery | Yes |
Table H.1. Status of activities in OGSA-DAI 3.0