com.raritantechnologies.searchApp.queryFilters
Class ParameterRepackager

java.lang.Object
  extended bycom.raritantechnologies.searchApp.QueryProcessorFilter
      extended bycom.raritantechnologies.searchApp.queryFilters.ParameterRepackager
All Implemented Interfaces:
IQueryProcessor

public class ParameterRepackager
extends QueryProcessorFilter

ParameterRepackager gets list of parameters to leave as is or a list of parameters to pack. Parameters are packed into a parameter of a given name with a delimiter and assignment delimiter.

Given this input: field1=value1 field2=value2

Produces: packedField="field1=value1|field2=value2"

XML Configuration Template:
 <SourceType name="repackedQueries"
           type="QueryProcessorFilterSource"
           sourceFactoryClass = "com.raritantechnologies.searchApp.QueryProcessorFilterFactory"
           filterClass  = "com.raritantechnologies.searchApp.queryFilters.ParameterRepackager"
           inputSource  = "Filter Source"  >

   <ParameterSet name="parameterGroup" delimiter="|" nameValSep="=" select="include" >
     <Param name="foo" />  <!-- foo is included in "parameterGroup" -->
     <Param name="bar" />  <!-- bar is included in "parameterGroup" -->
     <StaticParams>
       <StaticParam name="fixed" value="preset value" />
     </StaticParams>
   <ParameterSet>

   <ParameterSet name="allOthers" delimiter="|" nameValSep="=" select="exclude" >
     <Param name="foo" /> <!-- foo is NOT included in "allOthers" -->
   </ParameterSet>

 </SourceType>
 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.QueryProcessorFilter
theQueryProcessor
 
Constructor Summary
ParameterRepackager()
           
 
Method Summary
 void addParameterSet(java.lang.String paramSetName, java.lang.String delimiter, java.lang.String nameValueSeparator, java.lang.String select, java.util.ArrayList paramFieldsList, java.util.HashMap fixedParams)
           
 IResultSet executeQuery(java.lang.Integer queryID, ISearchFieldMap searchMap, SourceLoginInfo[] sources, OrderedMap inputParameters, java.lang.Integer pageSize, java.lang.Integer startRec)
          Base implementation executes the query then starts filter chain.
 void initialize(org.w3c.dom.Element initElem)
          subclasses should override this to initialize themselves.
static void main(java.lang.String[] args)
           
 IResultSet repackageParameters(IResultSet initialResults)
           
 
Methods inherited from class com.raritantechnologies.searchApp.QueryProcessorFilter
doExecuteQuery, filterResultSet, getQueryProcessor, getQueryProcessor, getRealSources, setNextFilter, setQueryProcessor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ParameterRepackager

public ParameterRepackager()
Method Detail

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 class: QueryProcessorFilter
Base implementation executes the query then starts filter chain.

Specified by:
executeQuery in interface IQueryProcessor
Overrides:
executeQuery in class QueryProcessorFilter
Throws:
QueryProcessorException

addParameterSet

public void addParameterSet(java.lang.String paramSetName,
                            java.lang.String delimiter,
                            java.lang.String nameValueSeparator,
                            java.lang.String select,
                            java.util.ArrayList paramFieldsList,
                            java.util.HashMap fixedParams)

repackageParameters

public IResultSet repackageParameters(IResultSet initialResults)

initialize

public void initialize(org.w3c.dom.Element initElem)
Description copied from class: QueryProcessorFilter
subclasses should override this to initialize themselves.

Overrides:
initialize in class QueryProcessorFilter

main

public static void main(java.lang.String[] args)