org.nfis.gdas.v091
Interface DataRetrieverInterface

All Known Implementing Classes:
JDBCDataRetriever

public interface DataRetrieverInterface

DataRetrieverInterface defines the getData(String, String, DatasetConfigType, ArrayList, BigInteger, OutputStream) method which writes the Rowset XML element text described in Section 7.2.4 of the GDAS Specifications Document Version 0.9.1. to the passed in OutputStream.

The getData(String, String, DatasetConfigType, ArrayList, BigInteger, OutputStream) method queries Data stores (examples are Oracle, Database files, Access etc.) that supply return data for the GDAS GetData request (see GDAS specification section 7.2). These data stores will have different drivers and connection parameters. Parameters for connecting to these data stores are configured in the dataHandlerConfig.xml which is read and managed by the DataHandler. The data_retriever_class element in the configuration file must reference the class name of a DataRetrieverInterface implementation appropriate for the configured data store. Refer to the dataHandlerConfig Schema and the GDAS User Guide for more information on configuring the dataHandlerConfig.xml.

See Also:
JDBCDataRetriever

Method Summary
 void getData(java.lang.String geoLinkageField, java.lang.String geoLinkIds, org.nfis.gdas.v091.DatasetConfigType dataSourceParams, java.util.ArrayList attributes, java.math.BigInteger geoLinkIdsLimit, java.io.OutputStream out)
          This method is responsible for writing the results from the data store as a RowsetType element to the passed in OutputStream.
 

Method Detail

getData

void getData(java.lang.String geoLinkageField,
             java.lang.String geoLinkIds,
             org.nfis.gdas.v091.DatasetConfigType dataSourceParams,
             java.util.ArrayList attributes,
             java.math.BigInteger geoLinkIdsLimit,
             java.io.OutputStream out)
             throws ServiceReportException
This method is responsible for writing the results from the data store as a RowsetType element to the passed in OutputStream. An implementation will get the unique parameters it needs from the <parameter> elements in the dataHandlerConfig.xml.

An implementation can define any number of paremeter elements to be insterted into the dataHandlerConfig.xml. The parameter element has two attributes, name and value. See the JDBCDataRetriever for an example of how the <parameter> element is used.

Parameters:
geoLinkageField - defined in GDAS 0.9.1 specification section 7.1.4.1.10.9
geoLinkIds - (optional, can be null) A comma delimited string used to limit the number of records that will be returned by the server. If null,return all geoLinkIds available. Defined in GDAS 0.9.1 specification section 7.2.3.10
dataSourceParams - the Java object representation of the dataset_config element from the DataHandler's dataHandlerConfig XML. This element potentially has an unlimited number of 'parameter' elements for passing information into a this method. See JDBCDataRetriever for an example implementation using these parameter elements.
attributes - A list of attribute names (must be Strings) used to query a data source, defined in GDAS 0.9.1 specification section 7.2.3.9
geoLinkIdsLimit - a number limiting the number of rows that can be returned from a GDAS GetData request. Defined in GDAS 0.9.1 specification section 7.1.4
out - the Rowset element described in the GDAS 0.9.1 Specification section 7.2.4.3 is written as text/xml to this stream. This must be a valid Rowset element and only a Rowset element.
Throws:
ServiceReportException