com.raritantechnologies.searchApp.queryFilters
Class XMLQueryParser

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

public class XMLQueryParser
extends java.lang.Object
implements IQueryParser

Converts a set of Query Fields to XML or an XML field to a set of name=value pairs. Using the same format used by the RTI Search WebServices interface.

XML Configuration Template:
    <QueryParser class="com.raritantechnologies.searchApp.queryFilters.XMLQueryParser" 
                    xmlField="[ name of field in parameter map to store XML or read XML ]"
                    mode="[ CREATE_XML | READ_XML ]"
                    removeXMLField="[ true|false(default) - if true, remove the xmlField after extracting query in READ_XML mode ]"
                    wrapCData="[ true(default)|false - if true, wraps value field in CDATA wrappers ]" >

      <!-- Optional list of IComparators. Used to determine which fields to put into XML in WRITE_XML mode -->
      <QueryFields>
        <Comparator class="[ class of com.raritantechnologies.utils.comparators.IComparator ]" >

        </Comparator>

      </QueryFields>

      <!-- Optional XSL Transform ? -->

    </QueryParser>

  
Standard XML Format:

      <QueryFields>

        <Field>
          <Name>[ name of field ]</Name>
          <Value>[ value of field ]</Value>
        </Field>

        <Field>
          <Name>[ name of field ]</Name>
          <Value>[ value of field ]</Value>
        </Field>

      </QueryFields>
 


Field Summary
static java.lang.String CREATE_XML
           
static java.lang.String READ_XML
           
 
Constructor Summary
XMLQueryParser()
           
 
Method Summary
 java.lang.String createQuery(OrderedMap params, java.lang.String language, ILoginInfo userInfo)
           
 java.lang.String createQuery(OrderedMap params, java.lang.String language, ILoginInfo userInfo, java.util.List queryFields)
           
static void extractQuery(org.w3c.dom.Element queryEl, OrderedMap params, java.lang.String fieldTagName)
           
static void extractQuery(org.w3c.dom.Element queryEl, OrderedMap params, java.lang.String fieldTagName, java.util.Set fieldNames)
           
static void extractQuery(java.lang.String xmlString, OrderedMap params, java.lang.String fieldTagName)
           
static void extractQuery(java.lang.String xmlString, OrderedMap params, java.lang.String fieldTagName, java.util.Set fieldNames)
           
static OrderedMap extractQuery(java.lang.String xmlString, java.lang.String fieldTagName)
           
 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 setFieldTagName(java.lang.String fieldTagName)
           
 void setLanguage(java.lang.String language)
           
 void setQueryTagName(java.lang.String queryTagName)
           
 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
 

Field Detail

CREATE_XML

public static final java.lang.String CREATE_XML
See Also:
Constant Field Values

READ_XML

public static final java.lang.String READ_XML
See Also:
Constant Field Values
Constructor Detail

XMLQueryParser

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

createQuery

public java.lang.String createQuery(OrderedMap params,
                                    java.lang.String language,
                                    ILoginInfo userInfo,
                                    java.util.List queryFields)
                             throws QueryParseException,
                                    UnsupportedLanguageException
Throws:
QueryParseException
UnsupportedLanguageException

extractQuery

public static OrderedMap extractQuery(java.lang.String xmlString,
                                      java.lang.String fieldTagName)

extractQuery

public static void extractQuery(java.lang.String xmlString,
                                OrderedMap params,
                                java.lang.String fieldTagName)

extractQuery

public static void extractQuery(java.lang.String xmlString,
                                OrderedMap params,
                                java.lang.String fieldTagName,
                                java.util.Set fieldNames)

extractQuery

public static void extractQuery(org.w3c.dom.Element queryEl,
                                OrderedMap params,
                                java.lang.String fieldTagName)

extractQuery

public static void extractQuery(org.w3c.dom.Element queryEl,
                                OrderedMap params,
                                java.lang.String fieldTagName,
                                java.util.Set fieldNames)

getErrors

public java.util.List getErrors()
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)
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

setQueryTagName

public void setQueryTagName(java.lang.String queryTagName)

setFieldTagName

public void setFieldTagName(java.lang.String fieldTagName)