Mapper.mapToStagingDb interface

/**  
 * Maps information in the Application database to the search 
 * service staging database for the specified search service id.  
 *  
 * @param id the identifier of the search service.  
 * @return the list of all mapped rows for the specified search 
 *   service.  
 * @throws AppException application exception  
 * @throws InformationalException information exception.  
 */ 
SearchServiceRowDtlsList mapToStagingDb(
  final SearchServiceKey id) throws AppException,
    InformationalException;

This method is invoked during the Database Extraction batch process; for each Search Service, mapToStagingDb is called to retrieve information from the source entities and return them to the batch process.

A Cúram ReadmultiOperation needs to be written to process all records to be stored on the staging database for each Search Service. A Generic Search Server operation called ExtractReadMultiOperation needs to be invoked on each of these records. Internally, this operation works out what other entities are required to populate an entire SearchServiceRow based on this data, and also constructs a SearchServiceRow object.

The result of this whole process is simply a list of SearchServiceRows, constituting all initial data to be populated into the staging database. The Database Extraction batch process then takes care of inserting these rows onto the staging database.