com.raritantechnologies.searchApp.queryFilters
Class SelectResultTypeQueryParser

java.lang.Object
  extended bycom.raritantechnologies.searchApp.queryFilters.SelectResultTypeQueryParser
All Implemented Interfaces:
IConfigurable, IQueryParser

public class SelectResultTypeQueryParser
extends java.lang.Object
implements IQueryParser

Checks if a query parameter is in a ResultType - Term count map. (see ResultTypeTermProcessor) If so, it adds query parameters to the query map.

If a ResultType is defined either statically or from an incoming query parameter field, and a count Comparator is included, the parameter additions/deletions will only be done on that field and only if the count value matches the count comparator.

XML Configuration Template:
   <QueryParser class="com.raritantechnologies.searchApp.queryFilters.SelectResultTypeQueryParser"
                   termMapFile="[ name of file that has ResultType Term Count statistics ]"
                   queryField="[ name of field in incoming query that has query term(s) ]"
                   tokenizeQuery="[ true|false(default) ]"
                   resultTypeValue="[ (optional) fixed value for result type to check ]"
                   resultTypeField="[ (optional) incoming query field that has resultType value to check ]" >

     <!-- Used to add or remove parameters from the query map based on the selected ResultType value -->
     <ResultTypeQueryMap>
       <!-- One or more ResultType elements ... -->
       <ResultType name="[ name of result type ]" >
          <Param name="[ name of param ]" value=[" value of param or 'REMOVE' to remove the param ]" />
       </ResultType>

     </ResultTypeQueryMap>

     <!-- Optional Comparator to determine if the counts for a term are valid for query map addition/subtraction -->
     <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >

     </Comparator>

   </QueryParser>
 


Constructor Summary
SelectResultTypeQueryParser()
           
 
Method Summary
 java.lang.String createQuery(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
           
 java.util.List getErrors()
          Returns the errors that occurred during the translate() step.
 void initialize(org.w3c.dom.Element elem)
          Initializes the object from an XML tag or element.
 OrderedMap parse(OrderedMap params, ILoginInfo userInfo)
           
 OrderedMap parse(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
          Translate using the input parameters if this is how the query is passed.
 void setLanguage(java.lang.String language)
           
 void setSessionID(java.lang.String id)
          Allows QueryParser object to access the sessionData.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SelectResultTypeQueryParser

public SelectResultTypeQueryParser()
Method Detail

parse

public OrderedMap parse(OrderedMap params,
                        java.lang.String language,
                        ILoginInfo userInfo)
                 throws QueryParseException,
                        UnsupportedLanguageException
Description copied from interface: IQueryParser
Translate using the input parameters if this is how the query is passed.

Specified by:
parse in interface IQueryParser
Parameters:
params - An ordered map containing the query parameters
language - String representing the target language (e.g. VQL)
Throws:
QueryParseException
UnsupportedLanguageException

parse

public OrderedMap parse(OrderedMap params,
                        ILoginInfo userInfo)
Specified by:
parse in interface IQueryParser

setLanguage

public void setLanguage(java.lang.String language)
Specified by:
setLanguage in interface IQueryParser

createQuery

public java.lang.String createQuery(OrderedMap params,
                                    java.lang.String language,
                                    ILoginInfo userInfo)
                             throws QueryParseException,
                                    UnsupportedLanguageException
Specified by:
createQuery in interface IQueryParser
Throws:
QueryParseException
UnsupportedLanguageException

getErrors

public java.util.List getErrors()
Description copied from interface: IQueryParser
Returns the errors that occurred during the translate() step.

Specified by:
getErrors in interface IQueryParser
Returns:
the list of error(s) (if any) that occurred.

setSessionID

public void setSessionID(java.lang.String id)
Description copied from interface: IQueryParser
Allows QueryParser object to access the sessionData.

Specified by:
setSessionID in interface IQueryParser

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from interface: IConfigurable
Initializes the object from an XML tag or element. This method is called by the Framework as part of the application initializtion. see ConfigurationManager, XMLConfigurationManager, XMLSearchFieldMapFactory, XMLSearchSourceFactory. Configurable objects that are owned or contained by other configurable objects will be initialized in by the parent object.

Specified by:
initialize in interface IQueryParser