com.raritantechnologies.rql.topic
Class TopicQueryParser

java.lang.Object
  extended bycom.raritantechnologies.rql.topic.TopicQueryParser
All Implemented Interfaces:
IConfigurable, IQueryParser

public class TopicQueryParser
extends java.lang.Object
implements IQueryParser

QueryParser that uses a TopicSet as a intermediate query model. Converts a topicID to a query string using one or more ITopicRenderers mapped to a "language" setting.

XML Configuration Template:
   <QueryParser class="com.raritantechnologies.rql.topic.TopicQueryParser"
                   topicIDField="[ parameter field to get topicID for the output ]"
                   topicName="[ name of topic that will be extracted from the TopicSet (if a TopicSetBuilder is used ) ]"
                   parsedQueryField="[ parameter field to put parsed query (output) ]" >

     <!-- Option 1: Use an ITopicSetBuilder to create the TopicSet from the input query map -->
     <TopicSetBuilder class="[ class of com.raritantechnologies.rql.topic.ITopicSetBuilder ]" >
       <!-- configuration parameters for TopicSetBuilder -->
     </TopicSetBuilder>

     <!-- Option 2: Use an ITopicParser to convert a incoming query to a TopicSet -->
     <TopicParser class="[ class of com.raritantechnologies.rql.topic.ITopicParser ]"
                     inputField="[ field that contains the incoming query to be translated ]" >

     </TopicParser>

     <!-- One or more com.raritantechnologies.rq1.topic.ITopicRenderer elements. The first will be the default if none has the default="true" attribute -->
     <TopicRenderer language="[ language for this renderer ]"
                       class="[ class or com.raritantechnologies.rql.topic.ITopicRenderer ]"
                       default="[true|false(default)" >

     </TopicRenderer>

     <!-- etc. . . -->

   </QueryParser>
 


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

TopicQueryParser

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