com.plumtree.portaluiinfrastructure.search
Class StartSearchControl

java.lang.Object
  extended by com.plumtree.portaluiinfrastructure.search.SearchResultControl
      extended by com.plumtree.portaluiinfrastructure.search.StartSearchControl
All Implemented Interfaces:
IControl, IManagedObject, IMVCObject
Direct Known Subclasses:
AdvancedStartSearchControl, BannerStartSearchControl

public class StartSearchControl
extends SearchResultControl

Author:
CraigS

Field Summary
static java.lang.String FILTER_QS
          Search filter string parameter name.
static java.lang.String NON_INPUT_PREFIX
           
static java.lang.String OPTIONAL_CONSTRAINT_PREFIX
           
static java.lang.String REQUIRED_CONSTRAINT_PFX_CHECKBOXES
           
static java.lang.String REQUIRED_CONSTRAINT_PFX_RADIO
           
static java.lang.String REQUIRED_CONSTRAINT_PREFIX
           
static java.lang.String SELECTED_PREFIX
           
static java.lang.String STR_MVC_CLASS_NAME
          Name of this control.
 
Fields inherited from class com.plumtree.portaluiinfrastructure.search.SearchResultControl
_model, _parent, BASIC_FIELDS, KEY_DATA, PARTIAL_SEARCH, RECONSTRUCTION_ARGS_PREFIX, RECONSTRUCTION_PREFIX_LENGTH, USER_QUERY
 
Constructor Summary
StartSearchControl()
           
 
Method Summary
 java.lang.Object Create()
          This method is used by the ASManager to return new instances of managed objects.
protected  Redirect CustomizeQuery(QueryArguments query)
          This is a "hook" that subclasses can override to make special- purpose modifications to a search query just before it runs, or to redirect specific searches to a different page.
protected  Redirect ExecuteSearchControl(XPHashtable args, java.lang.String key)
          Execute method that subclasses should implement; unlike Execute() it's allowed to throw a SearchExecutionException.
protected  boolean expectModelInitialized()
          Overrides superclass method; indicates we are initializing the model and that SearchResultControl.Execute() shouldn't try to deal with an uninitialized model.
static int[] GetBannerSearchObjectTypes()
          Public method to let other objects see what types banner search returns.
protected  SearchSettingCollection GetCustomSearchSettings()
          This is a "hook" that subclasses can override to add additional settings to a partcular class of search (such as banner search).
protected  java.lang.String GetLogString()
          Subclasses may override this method to log a string as the "userQuery" in the search server log files.
 java.lang.String GetName()
          Return the name of the MVC object.
 
Methods inherited from class com.plumtree.portaluiinfrastructure.search.SearchResultControl
addCommonData, CheckActionSecurityAndExecute, Init, parseQueryArgs, SpaceNeedsPassthruURL
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STR_MVC_CLASS_NAME

public static final java.lang.String STR_MVC_CLASS_NAME
Name of this control. When the UI framework sees a URL like http://blah/HTTPServlet&space=search&control=searchstart& ... the in_hi_control argument tells it to create a StartSearchControl.

See Also:
Constant Field Values

REQUIRED_CONSTRAINT_PREFIX

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

REQUIRED_CONSTRAINT_PFX_CHECKBOXES

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

REQUIRED_CONSTRAINT_PFX_RADIO

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

OPTIONAL_CONSTRAINT_PREFIX

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

NON_INPUT_PREFIX

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

SELECTED_PREFIX

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

FILTER_QS

public static final java.lang.String FILTER_QS
Search filter string parameter name.

See Also:
Constant Field Values
Constructor Detail

StartSearchControl

public StartSearchControl()
Method Detail

Create

public java.lang.Object Create()
Description copied from class: SearchResultControl
This method is used by the ASManager to return new instances of managed objects.

Specified by:
Create in interface IManagedObject
Specified by:
Create in class SearchResultControl
Returns:
A new instance of the managed class (i.e. return new Foo();)
See Also:
IManagedObject.Create()

GetBannerSearchObjectTypes

public static int[] GetBannerSearchObjectTypes()
Public method to let other objects see what types banner search returns.


GetName

public java.lang.String GetName()
Description copied from interface: IMVCObject
Return the name of the MVC object.

Specified by:
GetName in interface IMVCObject
Specified by:
GetName in class SearchResultControl
Returns:
the name of the object.
See Also:
com.plumtree.portaluiinfrastructure.activityspace.IControl#GetName()

ExecuteSearchControl

protected final Redirect ExecuteSearchControl(XPHashtable args,
                                              java.lang.String key)
Description copied from class: SearchResultControl
Execute method that subclasses should implement; unlike Execute() it's allowed to throw a SearchExecutionException. The key argument indicates the page on which this control's URL was located; this lets us handle the case where the user hits BACK before clicking on something, and (for example) drills down into a different set of categories than the set being displayed on the current page.

Specified by:
ExecuteSearchControl in class SearchResultControl
See Also:
com.plumtree.portalpages.search.SearchResultControl#ExecuteSearchControl()

expectModelInitialized

protected final boolean expectModelInitialized()
Overrides superclass method; indicates we are initializing the model and that SearchResultControl.Execute() shouldn't try to deal with an uninitialized model.

Overrides:
expectModelInitialized in class SearchResultControl

CustomizeQuery

protected Redirect CustomizeQuery(QueryArguments query)
This is a "hook" that subclasses can override to make special- purpose modifications to a search query just before it runs, or to redirect specific searches to a different page. See portalui.browsing.search.results.BannerStartSearchControl.CustomizeQuery() to customize banner search. The provided QueryArguments object contains the query as specified in the URL (see the javadocs or n-docs for that class). The subclass can do either of two things with this object: (1) return a Redirect that forwards the user on to some other page - for example, if the query has special syntax like a ">" in front of the query string (2) replace the members of the QueryArguments to substitute a different search - for example, you can replace the simple string userQuery with an IPTFilter that runs a complex search. Then return null to stay on the search page instead of redirecting.


GetCustomSearchSettings

protected SearchSettingCollection GetCustomSearchSettings()
This is a "hook" that subclasses can override to add additional settings to a partcular class of search (such as banner search). It's an alternative to encoding the settings in every search form that initiates such a search. See portalui.browsing.search.results.BannerStartSearchControl for a usage example.


GetLogString

protected java.lang.String GetLogString()
Subclasses may override this method to log a string as the "userQuery" in the search server log files. This method will always be called last, after GetCustomSearchSettings() and CustomizeQuery().




Copyright 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.