com.raritantechnologies.searchApp.queryFilters
Class PatternQueryParser

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

public class PatternQueryParser
extends java.lang.Object
implements IQueryParser

Uses a String pattern template to parse one or more query (or user) fields into a query string.

XML Configuration Template:
  <QueryParser class="com.raritantechnologies.searchApp.queryFilters.PatternQueryParser"
                  outputField="[ name of field to get parsed query ]"  >

     <!-- Optional field filters that apply a filter to a query or user value prior to inserting the -->
     <!-- value into the template -->
     <FieldFilters>
       <Filter ID="[ query or user field ]"
                  class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >
       </Filter>

     </FieldFilters>

     <!-- =========================================================  -->
     <!-- String template that result field values will be inserted  -->
     <!-- into. If this is HTML or XML, the template block should be -->
     <!-- wrapped in a <!CDATA[  ]]> section.                        -->
     <!-- =========================================================  -->
     <Template>
        Display string with {fieldname} sections that will be replaced with input query parameter values
        {USER:param} sections will have user parameters where param can be NAME|PASSWORD|ALTNAME:[loginName]|ALTPASS:[loginName] 
        or an attribute
        inserted by the PatternResultRenderer.
     </Template>

  </QueryParser>
 

Developed by Raritan Technologies .

Author:
Ted Sullivan

Constructor Summary
PatternQueryParser()
           
 
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.
static java.lang.String resolvePattern(OrderedMap params, ILoginInfo userInfo, java.lang.String queryTemplate, java.util.HashMap fieldFilterMap, java.lang.String startBrace, java.lang.String endBrace)
           
 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

PatternQueryParser

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

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

resolvePattern

public static java.lang.String resolvePattern(OrderedMap params,
                                              ILoginInfo userInfo,
                                              java.lang.String queryTemplate,
                                              java.util.HashMap fieldFilterMap,
                                              java.lang.String startBrace,
                                              java.lang.String endBrace)

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