com.raritantechnologies.searchApp.queryFilters
Class DynamicQueryParser

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

public class DynamicQueryParser
extends java.lang.Object
implements IQueryParser

Executes a delegate QueryParser operation based on the current query or user state.

XML Configuration Template:
  <QueryParser class="com.raritantechnologies.searchApp.queryFilters.DynamicQueryParser" >

    <UseParser default="[true|false] - can only be true for one Parser ]" >

       <QueryParser class="[ class of com.raritantechnologies.searchApp.IQueryParser ]" >

       </QueryParser>

       <QueryParams>
         <Param name="[ name of parameter ]" matchValue="[ match value | NULL | NOT_NULL ]" exactMatch="[ true|false(default) ]" 
                   matchType="[ (optional) startsWith | endsWith | contains | equals(default) ]" />

         <!-- Use for list of possible values: --> 
         <Param name="[ name of query parameter ]" >
           <ValidValues>
             <Value matchType="[ (optional) startsWith | endsWith | contains | equals(default) ]" >[ the value ]</Value>
             <Value>[ another value ]</Value>
           </ValidValues>
         </Param>

         <!-- Alternatively can use an IComparator -->
         <Param name="[ name of query parameter ]" >
           <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >

           </Comparator>
         </Param>
       </QueryParams>

       <UserParams>
         <Param name="[ name of parameter ]" matchValue="[ match value | NULL | NOT_NULL ]" exactMatch="[ true|false(default) ]" />

         <Param name="[ name of User parameter ]" >
           <ValidValues>
             <Value>[ the value ]</Value>
             <Value>[ another value ]</Value>
           </ValidValues>
         </Param>

         <!-- Alternatively can use an IComparator -->
         <Param name="[ name of User parameter ]" >
           <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >

           </Comparator>
         </Param>
       </UserParams>

    </UseParser>

  </SourceType>
 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Constructor Summary
DynamicQueryParser()
           
 
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 sessionID)
          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

DynamicQueryParser

public DynamicQueryParser()
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

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

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

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 sessionID)
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