com.raritantechnologies.searchApp.database
Class DatabaseStatisticsSource

java.lang.Object
  extended bycom.raritantechnologies.searchApp.SearchSource
      extended bycom.raritantechnologies.searchApp.database.DatabaseStatisticsSource
All Implemented Interfaces:
IQueryProcessor, IXMLSearchSourceFactory

public class DatabaseStatisticsSource
extends SearchSource
implements IQueryProcessor, IXMLSearchSourceFactory

SearchSource that provides statistics on a Database Table: row counts for a given key, min, max values, etc..

XML Configuration Template:
   <SourceType name="[ source name ]" type="DatabaseStatisticsSource"
            sourceFactoryClass="com.raritantechnologies.searchApp.database.DatabaseStatisticsSource" 
            queryProcessor="com.raritantechnologies.searchApp.database.DatabaseStatisticsSource"
            databaseConnectionManager="[ name of Database Connection Manager ]"
            tableName="[ name of table to get statistics on ]"
            recordKeyColumn="[ column that has the record ]"
            valueColumns="[ comma separated list of fields to add to result"
            recordCountsField="[ result field that contains row counts of the recordKey ]"  >

    <CustomField sqlColumn="[ name of SQL Column ]" 
                      maxField="[ result field that gets maximum for this column ]"
                    minField="[ result field that gets minimum value for this column ]" 
                    valuesField="[ nested result field that gets value, and counts ]" />

   </SourceType>
 


Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.SearchSource
ID_FIELD, IS_FEDERATED, NUMBER_OF_FIELDS, SECURE, SOURCE_NAME, SOURCE_TYPE, TITLE_FIELD, URL_FIELD
 
Constructor Summary
DatabaseStatisticsSource()
           
 
Method Summary
 SearchSource[] createSearchSources(org.w3c.dom.Element sourceElem, ISearchFieldMapFactory factory)
           
 IResultSet executeQuery(java.lang.Integer queryID, ISearchFieldMap searchMap, SourceLoginInfo[] sources, OrderedMap inputParameters, java.lang.Integer pageSize, java.lang.Integer startRec)
          Executes a Query.
 java.lang.String getName()
           
 IQueryProcessor getQueryProcessor()
          returns the type of QueryProcessor that can access this SearchSource.
 void initializeSource(org.w3c.dom.Element sourceElem, SearchSource source)
           
 void setName(java.lang.String name)
          set/get the name of this instance of the SearchSource e.g.
 
Methods inherited from class com.raritantechnologies.searchApp.SearchSource
addFieldFormatter, addSearchField, addSourceAttributes, addStaticField, addStaticFields, addUserSearchField, canAccess, canConsolidateSources, consolidateSources, delSearchField, formatResult, formatResult, formatResultField, formatResultField, formatResults, formatResults, getAccessableFields, getAttributes, getBasePath, getConfigPath, getDisplayName, getFieldFormatters, getIDField, getProperty, getSearchField, getSearchFieldID, getSearchFields, getSearchFields, getSecondarySortSpec, getSecurityManager, getSecurityManagerName, getSecurityModel, getSortSpec, getSourceCredentials, getSourcePropertyNames, getTitleField, getType, getURLField, getUserSearchFields, isMultiThreaded, setConfigPath, setDisplayName, setIDField, setMultiThreaded, setSecurityManagerName, setSecurityModel, setSortMap, setSourcePropertyInfoSource, setTitleField, setType, setURLField, shouldFormatResults, supportsBackgroundSort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DatabaseStatisticsSource

public DatabaseStatisticsSource()
Method Detail

getQueryProcessor

public IQueryProcessor getQueryProcessor()
Description copied from class: SearchSource
returns the type of QueryProcessor that can access this SearchSource.

Specified by:
getQueryProcessor in class SearchSource

setName

public void setName(java.lang.String name)
Description copied from class: SearchSource
set/get the name of this instance of the SearchSource e.g. Product name Docbase name Database name Web site name

Overrides:
setName in class SearchSource

getName

public java.lang.String getName()
Overrides:
getName in class SearchSource

executeQuery

public IResultSet executeQuery(java.lang.Integer queryID,
                               ISearchFieldMap searchMap,
                               SourceLoginInfo[] sources,
                               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.
sources - 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

createSearchSources

public SearchSource[] createSearchSources(org.w3c.dom.Element sourceElem,
                                          ISearchFieldMapFactory factory)
Specified by:
createSearchSources in interface IXMLSearchSourceFactory

initializeSource

public void initializeSource(org.w3c.dom.Element sourceElem,
                             SearchSource source)
Specified by:
initializeSource in interface IXMLSearchSourceFactory