com.raritantechnologies.searchApp.sourceMap
Class LookupQueryProcessor

java.lang.Object
  extended bycom.raritantechnologies.searchApp.sourceMap.LookupQueryProcessor
All Implemented Interfaces:
IQueryProcessor

public class LookupQueryProcessor
extends java.lang.Object
implements IQueryProcessor

Implements a two-step query processor. The first or "Lookup" processor transforms the input query to one or more output fields. The second or "output" query processor executes the search using the expanded query input. Configurated by the LookupSearchSource. The Lookup and output query processors can be any IQueryProcessor.

The final output result set contains the fields found by the second or output query processor and any "Input" fields specified in the configuration from the original result.


The following UML sequence diagram demonstrates this control flow:

Developed by Raritan Technologies .

Author:
Ted Sullivan

Constructor Summary
LookupQueryProcessor()
           
 
Method Summary
protected  IResultSet executeLookupQuery(LookupSearchSource luss, java.lang.Integer queryID, ISearchFieldMap searchMap, SourceLoginInfo[] searchSources, OrderedMap inputParams, java.lang.Integer pageSize, java.lang.Integer startRec)
           
 IResultSet executeQuery(java.lang.Integer queryID, ISearchFieldMap searchMap, SourceLoginInfo[] searchSources, OrderedMap inputParameters, java.lang.Integer pageSize, java.lang.Integer startRec)
          Executes a Query.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LookupQueryProcessor

public LookupQueryProcessor()
Method Detail

executeQuery

public IResultSet executeQuery(java.lang.Integer queryID,
                               ISearchFieldMap searchMap,
                               SourceLoginInfo[] searchSources,
                               OrderedMap inputParameters,
                               java.lang.Integer pageSize,
                               java.lang.Integer startRec)
                        throws QueryProcessorException
Description copied from interface: IQueryProcessor
Executes a Query. Returns results in the form of an IResultSet object.

Specified by:
executeQuery in interface IQueryProcessor
Parameters:
queryID - Unique ID for this query. Used by front end to manage queries and query pages. QueryProcessor may use this parameter to organize its search results, and to organize any state information it needs to process future page requests (future executeQuery( ) calls with the same queryID.
searchMap - Provides mapping information needed to translate the inputParameters into a search string appropriate for this type of QueryProcessor. Mapping information is obtained by the application framework from local configuration data.
searchSources - The LoginInfo and SearchSource(s) to be used for this query. The SearchSource(s) must be of the appropriate type for the QueryProcessor.
inputParameters - Form inputs. Use ISearchFieldMap to translate these into implementation and source-specific fields.
pageSize - Integer specifying the number of results to include in the returned Document. if null - use the default page size.
startRec - Integer specifying the starting record in the result set to be returned. if null - start with the first record.
Returns:
IResultSet containing result set.
Throws:
QueryProcessorException

executeLookupQuery

protected IResultSet executeLookupQuery(LookupSearchSource luss,
                                        java.lang.Integer queryID,
                                        ISearchFieldMap searchMap,
                                        SourceLoginInfo[] searchSources,
                                        OrderedMap inputParams,
                                        java.lang.Integer pageSize,
                                        java.lang.Integer startRec)
                                 throws QueryProcessorException
Throws:
QueryProcessorException