com.raritantechnologies.searchApp.taglibrary
Class BasicInputFormRenderer

java.lang.Object
  extended bycom.raritantechnologies.searchApp.taglibrary.BasicSearchFormRenderer
      extended bycom.raritantechnologies.searchApp.taglibrary.BasicInputFormRenderer
All Implemented Interfaces:
IConfigurable, ISearchFormRenderer
Direct Known Subclasses:
DatabaseInputFormRenderer, ECommerceInputFormRenderer

public class BasicInputFormRenderer
extends BasicSearchFormRenderer

Builds an html input form with a table layout.

Adds a ValueMap to the BasicSearchFormRenderer API. This map is used to initialize form fields. The default behavior is to retrieve these fields from the SearchField objects a searchForm, category pair.

XML Configuration Template:
   <SearchForm name="ConfigurationForm"
           rendererClass="com.raritantechnologies.searchApp.taglibrary.BasicInputFormRenderer"
           tableProps="[ table tag properties ]"
           trProps="[ properties of tr tags ]"
           itemTypeField="someFieldID"
           getItemTypeList="true|false"
           formType="[ form type ]" />

       <!-- Defines the name, action, method and default button text for the form -->
       <Form action="somepage.jsp" method="post" submitText="Go" />

       <DefaultFieldProperties rows="4" cols="30" maxCols="4" fieldClass="medText"
              headerClass="[ css class for row headers ]" tdClass="inputCell"
              extraAttribs="onClick='javascript:saveItem()'" />
      
       <UserPermission name="com.raritantechnologies.security.DBUserPermission" />
       <Submit type="button" name="save" class="medText" value="Save" onClick="saveItem()" >
         <SubmitHandler>
         function saveItem()
         {
            // put the saveItem javascript here...
         }
         </SubmitHandler>
       </Submit>
       <Submit type="button" name="delete" class="medText" value="delete" onClick="deleteItem()" />

       <RequiredFieldHandler type="popup/URL" href="theCheckingURL" popupMessage="the message for required fields" />

       <!-- Additional fields can be specified as for BasicSearchFormRenderer: -->
       <Field ID="[ field ID ]" type="text" width="50" name="[ display text ]" includeIfValue="true|false" />

       <Field ID="[ field ID ]" type="text" width="50" name="[ display text ]" >
         <FieldOp ID="[ boolean operator ID ]" type="select" />
       </Field>

       <Field ID="[ choice Field ID ]" type="radio" name="[ display text ]" includeIfValue="true" >
          <Choice value="10" name="10" default="on" />
          <Choice value="20" name="20" />
          <Choice value="50" name="50" />
       </Field>

     <FieldTypeOverride ID="[fieldID]" type="[override type]" />

     <!-- Optional Output Processors - process form inputs -->
     <ResultSetProcessor class="[ class of com.raritantechnologies.searchApp.IResultSetProcessor ]" >

     </ResultSetProcessor>

   </SearchForm>
 

Developed by Raritan Technologies .

Author:
Alan Connell

Nested Class Summary
protected  class BasicInputFormRenderer.InputFieldBean
           
protected  class BasicInputFormRenderer.SubmitBean
           
 
Field Summary
protected  java.lang.String attributes
           
protected  java.lang.String cols
           
protected  java.lang.String fieldClass
           
protected  java.lang.String itemType
           
protected  java.lang.String itemTypeField
           
protected  int maxCols
           
protected  java.lang.String rows
           
protected  java.util.ArrayList submitBeans
           
protected  java.lang.String tableProps
           
protected  java.lang.String tdClass
           
protected  java.lang.String thClass
           
protected  java.lang.String trProps
           
protected  java.util.Map valueMap
           
protected  java.lang.String width
           
 
Fields inherited from class com.raritantechnologies.searchApp.taglibrary.BasicSearchFormRenderer
afterFormData, category, displayStyle, formInitArgs, formMethod, formName, hiddenFieldMap, hiddenFields, includeResetButton, includeSearchForm, includeSubmitButton, initialFields, onSubmitHandler, operatorMap, scriptMap, sourceMapName, submitButtonOnBottom, submitButtonText, submitHandlerName, targetFrame
 
Fields inherited from interface com.raritantechnologies.searchApp.taglibrary.ISearchFormRenderer
CLEAR, PAGE, PAGE_NUM, PAGE_SIZE, RESET, SEARCH
 
Constructor Summary
BasicInputFormRenderer()
           
 
Method Summary
protected  void addToValueMap(java.lang.String name, java.lang.String value)
           
protected  BasicInputFormRenderer.InputFieldBean createInputFieldBean()
           
 java.lang.String getBody(java.lang.String searchFormName, java.lang.String formCategory, java.lang.String initialFields, java.lang.String hiddenFields, java.lang.String action, java.lang.String formInitArgs, RaritanPageContext pageContext)
          Builds the form and table
protected  java.util.List getFields(java.lang.String searchFormName, java.lang.String formCategory, java.lang.String itemType, RaritanPageContext pageContext)
          Reads in the fields from the SearchFieldMap.
protected  java.lang.String getFormStart(java.lang.String searchFormName, java.lang.String actionParam, java.lang.String formInitArgs)
           
protected  java.lang.String getItemID(RaritanPageContext pageContext)
           
protected  java.lang.String getItemIDField(RaritanPageContext pageContext)
           
protected  java.lang.String getItemType(RaritanPageContext pageContext)
           
protected  java.lang.String getPopupJScript(java.util.List formFields, java.lang.String onClickMethod)
           
 void initialize(org.w3c.dom.Element elem)
          Adds configurable properties to the renderer.
protected  void initValueMap(java.util.List fields, RaritanPageContext pageContext)
          Puts values into the valueMap.
protected  boolean noRegularField(java.lang.String hiddenParamName)
           
protected  void processOutputAction(RaritanPageContext pageContext)
           
 
Methods inherited from class com.raritantechnologies.searchApp.taglibrary.BasicSearchFormRenderer
addAfterFormData, addFormScript, addHiddenField, addHiddenFields, addPersistentFields, canUpdateSearchParams, getActionURL, getCategory, getFormInitArgs, getFormMethod, getFormName, getFormStart, getFormType, getHiddenFields, getInitialFields, getOnSubmitHandler, getSubmitHandlerName, renderHiddenFields, renderScripts, setFormMethod, setFormName, setFormType, setOnSubmitHandler, setSubmitHandlerName, updateSearchParams
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tableProps

protected java.lang.String tableProps

trProps

protected java.lang.String trProps

rows

protected java.lang.String rows

cols

protected java.lang.String cols

width

protected java.lang.String width

maxCols

protected int maxCols

fieldClass

protected java.lang.String fieldClass

thClass

protected java.lang.String thClass

tdClass

protected java.lang.String tdClass

attributes

protected java.lang.String attributes

itemTypeField

protected java.lang.String itemTypeField

itemType

protected java.lang.String itemType

valueMap

protected java.util.Map valueMap

submitBeans

protected java.util.ArrayList submitBeans
Constructor Detail

BasicInputFormRenderer

public BasicInputFormRenderer()
Method Detail

initialize

public void initialize(org.w3c.dom.Element elem)
Description copied from class: BasicSearchFormRenderer
Adds configurable properties to the renderer.

Specified by:
initialize in interface ISearchFormRenderer
Overrides:
initialize in class BasicSearchFormRenderer

initValueMap

protected void initValueMap(java.util.List fields,
                            RaritanPageContext pageContext)
Puts values into the valueMap. Which puts specific values into the form fields. Subclasses should override this to add dynamic fields (i.e. possibly using lookup methods to get field values).


addToValueMap

protected void addToValueMap(java.lang.String name,
                             java.lang.String value)

getBody

public java.lang.String getBody(java.lang.String searchFormName,
                                java.lang.String formCategory,
                                java.lang.String initialFields,
                                java.lang.String hiddenFields,
                                java.lang.String action,
                                java.lang.String formInitArgs,
                                RaritanPageContext pageContext)
Builds the form and table

Specified by:
getBody in interface ISearchFormRenderer
Overrides:
getBody in class BasicSearchFormRenderer
Parameters:
searchFormName - The name of the searchForm in the configuration SearchFieldMap
formCategory - The category of the searchForm
initialFields - Text or fields that will prepend the form. Can be used to include feedback or other information - need not be structured as form fields.
hiddenFields - Pipe ('|') and colon (':') delimited list of hidden field name=value pairs.
action - Form action
formInitArgs - Optional html parameters added to
tag

getItemType

protected java.lang.String getItemType(RaritanPageContext pageContext)

getFormStart

protected java.lang.String getFormStart(java.lang.String searchFormName,
                                        java.lang.String actionParam,
                                        java.lang.String formInitArgs)

getItemID

protected java.lang.String getItemID(RaritanPageContext pageContext)

getItemIDField

protected java.lang.String getItemIDField(RaritanPageContext pageContext)

getFields

protected java.util.List getFields(java.lang.String searchFormName,
                                   java.lang.String formCategory,
                                   java.lang.String itemType,
                                   RaritanPageContext pageContext)
Reads in the fields from the SearchFieldMap.


noRegularField

protected boolean noRegularField(java.lang.String hiddenParamName)

getPopupJScript

protected java.lang.String getPopupJScript(java.util.List formFields,
                                           java.lang.String onClickMethod)

createInputFieldBean

protected BasicInputFormRenderer.InputFieldBean createInputFieldBean()

processOutputAction

protected void processOutputAction(RaritanPageContext pageContext)