|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.raritantechnologies.searchApp.taglibrary.BasicSearchFormRenderer
Implementation of ISearchFormRenderer that renders a static search form from a <SearchForm> tag in the application XML configuration file.
Acquires set of field IDs and SearchFormField objects from the ConfigurationManager:
public String getBody( String searchForm, String category, ...)
{
ConfigurationManager cMan = ConfigurationManager.getInstance( );
ISearchFieldMap sfMap = cMan.getSearchFieldMap( );
String[] searchFormIDs = sfMap.getSearchFormIDs( searchForm, category );
. . .
// for each search form ID, get a SearchFormField object
SearchFormField sff = sfMap.getSearchFormField( searchForm, category, anID );
// render the SearchFormField as HTML . . .
}
XML Configuration Template:
<SearchForm name="[ name of search Form ]" category="[ (optional) Associated SearchSource category ]"
sourceMap="[ name of source map to use (optional) ]"
formMethod="[ get(default)|post ]"
includeSessionID="[true|false]"
includeSubmitButton="[true(default)|false]"
includeResetButton="[true(default)|false]"
submitOnBottom="[true(default)|false - if false submit is on right side ]"
submitButtonText="[ text in submit button ]"
submitHandlerName="[ optional name of submit javascript handler ]"
resetFields="[true|false(default)]"
tableProps="[ list of properties for the html table ]" >
<Field ID="AU" type="text" width="50" name="Author" />
<Field ID="TI" type="text" width="50" name="Title" >
<FieldOp ID="TIBOOL" type="select" />
</Field>
<Field ID="KY" type="text" width="50" name="Keywords" >
<FieldOp ID="KYBOOL" type="select" />
</Field>
<Field ID="PageSize" type="radio" name="Page Size" >
<Choice value="10" name="10" default="on" />
<Choice value="20" name="20" />
<Choice value="50" name="50" />
</Field>
<!-- Optional onSubmit javascript handler -->
<SubmitHandler>
</SubmitHandler>
</SearchForm>
Generates this HTML (spaces and indents added for clarity):
<form name="AdvancedSearch" action="results.jsp" >
<input type="hidden" name="category" value="lifescience" >
<input type="hidden" name="searchForm" value="AdvancedSearch" >
<input type="hidden" name="formType" value="search" >
<table>
<tr>
<td align="right" ><b>Author:</b></td>
<td><input type="text" name="AU" size="50" ></td>
<td> </td>
</tr>
<tr>
<td align="right" ><b>Title:</b></td>
<td><input type="text" name="TI" size="50" ></td>
<td><select name="TIBOOL" >
<option value="AND" >all words</option>
<option value="OR" >any words</option>
<option value="EXACT" >exact phrase</option>
</select>
</td>
</tr>
<tr>
<td align="right" ><b>Keywords:</b></td>
<td><input type="text" name="KY" size="50" ></td>
<td><select name="KYBOOL" >
<option value="AND" >all words</option>
<option value="OR" >any words</option>
<option value="EXACT" >exact phrase</option>
</select>
</td>
</tr>
<tr>
<td align="right" ><b>Page Size:</b></td>
<td><input type="radio" name="PageSize" value="10" checked > 10
<input type="radio" name="PageSize" value="20" > 20
<input type="radio" name="PageSize" value="50" > 50
</td>
<td> </td>
</tr>
<tr>
<td><input type="reset" value="Reset" ></td>
<td><input type="submit" value="Search" ></td>
</tr>
</table>
</form>
Which generates this form:
| Field Summary | |
protected java.lang.String |
action
|
protected java.lang.String |
afterFormData
|
protected java.lang.String |
category
|
protected java.lang.String |
displayStyle
|
protected java.lang.String |
formInitArgs
|
protected java.lang.String |
formMethod
|
protected java.lang.String |
formName
|
protected java.lang.String |
formType
|
protected java.util.HashMap |
hiddenFieldMap
|
protected java.lang.String |
hiddenFields
|
protected boolean |
includeResetButton
|
protected boolean |
includeSearchForm
|
protected boolean |
includeSubmitButton
|
protected java.lang.String |
initialFields
|
protected java.lang.String |
onSubmitHandler
|
protected java.util.HashMap |
operatorMap
|
protected java.util.HashMap |
scriptMap
|
protected java.lang.String |
sourceMapName
|
protected boolean |
submitButtonOnBottom
|
protected java.lang.String |
submitButtonText
|
protected java.lang.String |
submitHandlerName
|
protected java.lang.String |
targetFrame
|
| Fields inherited from interface com.raritantechnologies.searchApp.taglibrary.ISearchFormRenderer |
CLEAR, PAGE, PAGE_NUM, PAGE_SIZE, RESET, SEARCH |
| Constructor Summary | |
BasicSearchFormRenderer()
|
|
BasicSearchFormRenderer(org.w3c.dom.Element elem)
|
|
| Method Summary | |
void |
addAfterFormData(java.lang.String afterFormData)
|
void |
addFormScript(java.lang.String scriptName,
java.lang.String script)
Adds a section of javascript to the form. |
void |
addHiddenField(java.lang.String fieldName,
java.lang.String fieldValue)
Adds a hidden field to the form. |
void |
addHiddenFields(java.lang.String hiddenFields)
addHiddenFields: format is name:value,name:value |
void |
addPersistentFields(java.lang.String formName,
RaritanPageContext pageContext)
|
boolean |
canUpdateSearchParams()
|
java.lang.String |
getActionURL()
|
java.lang.String |
getBody(java.lang.String searchFormName,
java.lang.String categoryName,
java.lang.String initialFields,
java.lang.String hiddenFields,
java.lang.String action,
java.lang.String formInitArgs,
RaritanPageContext pageContext)
Main search form generation method. |
java.lang.String |
getCategory()
|
java.lang.String |
getFormInitArgs()
|
java.lang.String |
getFormMethod()
|
java.lang.String |
getFormName()
|
protected java.lang.StringBuffer |
getFormStart(java.lang.String searchFormName,
java.lang.String categoryName,
java.lang.String initialFields,
java.lang.String hiddenFields,
java.lang.String action,
java.lang.String target,
java.lang.String formInitArgs,
RaritanPageContext pageContext,
boolean renderHidden)
|
java.lang.String |
getFormType()
|
java.lang.String |
getHiddenFields()
|
java.lang.String |
getInitialFields()
|
java.lang.String |
getOnSubmitHandler(java.lang.String sessionID)
|
java.lang.String |
getSubmitHandlerName()
|
void |
initialize(org.w3c.dom.Element elem)
Adds configurable properties to the renderer. |
protected void |
renderHiddenFields(java.lang.StringBuffer strbuf)
|
protected void |
renderScripts(java.lang.StringBuffer strbuf)
|
void |
setFormMethod(java.lang.String fMethod)
sets the form method ( "get" or "post" ) |
void |
setFormName(java.lang.String formName)
sets the form name - used as a key field in session data management so this should be unique within an application. |
void |
setFormType(java.lang.String formType)
Used for new search, paging, search within results, re-sort, whatever? |
void |
setOnSubmitHandler(java.lang.String onSubmitHandler)
|
void |
setSubmitHandlerName(java.lang.String submitHandlerName)
|
void |
updateSearchParams(RaritanPageContext pageContext,
OrderedMap searchParams)
"callback" loop: SearchFormRenderer responsible for converting requests into one or more query maps. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected java.lang.String formName
protected java.util.HashMap operatorMap
protected java.util.HashMap hiddenFieldMap
protected java.util.HashMap scriptMap
protected java.lang.String formType
protected java.lang.String formMethod
protected java.lang.String displayStyle
protected java.lang.String category
protected java.lang.String sourceMapName
protected java.lang.String initialFields
protected java.lang.String hiddenFields
protected java.lang.String action
protected java.lang.String targetFrame
protected java.lang.String formInitArgs
protected java.lang.String onSubmitHandler
protected java.lang.String submitHandlerName
protected boolean includeSubmitButton
protected boolean submitButtonOnBottom
protected boolean includeResetButton
protected boolean includeSearchForm
protected java.lang.String submitButtonText
protected java.lang.String afterFormData
| Constructor Detail |
public BasicSearchFormRenderer()
public BasicSearchFormRenderer(org.w3c.dom.Element elem)
| Method Detail |
public void setFormType(java.lang.String formType)
ISearchFormRenderer
setFormType in interface ISearchFormRendererpublic java.lang.String getFormType()
getFormType in interface ISearchFormRendererpublic void setFormMethod(java.lang.String fMethod)
ISearchFormRenderer
setFormMethod in interface ISearchFormRendererpublic java.lang.String getFormMethod()
getFormMethod in interface ISearchFormRendererpublic void initialize(org.w3c.dom.Element elem)
initialize in interface ISearchFormRenderer
public java.lang.String getBody(java.lang.String searchFormName,
java.lang.String categoryName,
java.lang.String initialFields,
java.lang.String hiddenFields,
java.lang.String action,
java.lang.String formInitArgs,
RaritanPageContext pageContext)
ISearchFormRenderer
getBody in interface ISearchFormRenderersearchFormName - Name of search form - Used to lookup a categoryName - Category of this search form (used for Source Map
applications).initialFields - Additional search form input fields - assumed to be HTML.hiddenFields - List of hidden field name=value pairs.action - Action URL (e.g. JSP or ASP page)formInitArgs - Initial arguments to be passed in the <form> tag.pageContext - Wraps the current page context. Contains session ID, session data
HTTP request parameters. Can be used to set initial
field values.
protected java.lang.StringBuffer getFormStart(java.lang.String searchFormName,
java.lang.String categoryName,
java.lang.String initialFields,
java.lang.String hiddenFields,
java.lang.String action,
java.lang.String target,
java.lang.String formInitArgs,
RaritanPageContext pageContext,
boolean renderHidden)
public void addPersistentFields(java.lang.String formName,
RaritanPageContext pageContext)
public void addHiddenFields(java.lang.String hiddenFields)
public void addHiddenField(java.lang.String fieldName,
java.lang.String fieldValue)
ISearchFormRenderer
addHiddenField in interface ISearchFormRendererprotected void renderHiddenFields(java.lang.StringBuffer strbuf)
public void setFormName(java.lang.String formName)
ISearchFormRenderer
setFormName in interface ISearchFormRendererpublic java.lang.String getFormName()
getFormName in interface ISearchFormRendererpublic java.lang.String getCategory()
getCategory in interface ISearchFormRendererpublic java.lang.String getInitialFields()
getInitialFields in interface ISearchFormRendererpublic java.lang.String getHiddenFields()
getHiddenFields in interface ISearchFormRendererpublic java.lang.String getActionURL()
getActionURL in interface ISearchFormRendererpublic java.lang.String getFormInitArgs()
getFormInitArgs in interface ISearchFormRenderer
public void addFormScript(java.lang.String scriptName,
java.lang.String script)
ISearchFormRenderer
addFormScript in interface ISearchFormRendererprotected void renderScripts(java.lang.StringBuffer strbuf)
public void setOnSubmitHandler(java.lang.String onSubmitHandler)
setOnSubmitHandler in interface ISearchFormRendererpublic java.lang.String getOnSubmitHandler(java.lang.String sessionID)
getOnSubmitHandler in interface ISearchFormRendererpublic void setSubmitHandlerName(java.lang.String submitHandlerName)
setSubmitHandlerName in interface ISearchFormRendererpublic java.lang.String getSubmitHandlerName()
getSubmitHandlerName in interface ISearchFormRendererpublic boolean canUpdateSearchParams()
canUpdateSearchParams in interface ISearchFormRenderer
public void updateSearchParams(RaritanPageContext pageContext,
OrderedMap searchParams)
ISearchFormRenderer
updateSearchParams in interface ISearchFormRendererpublic void addAfterFormData(java.lang.String afterFormData)
addAfterFormData in interface ISearchFormRenderer
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||