org.sakaiproject.cheftool
Class ToolServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byorg.sakaiproject.vm.ComponentServlet
              extended byorg.sakaiproject.vm.VmServlet
                  extended byorg.sakaiproject.cheftool.VmServlet
                      extended byorg.sakaiproject.cheftool.ToolServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig
Direct Known Subclasses:
VelocityPortletPaneledAction

public abstract class ToolServlet
extends VmServlet

ToolServlet is a Servlet that support CHEF tools.

Extending VmServlet provides support for component location and use of the Velocity Template Engine.

Version:
$Revision: 5918 $
Author:
University of Michigan, Sakai Software Development Team
See Also:
Serialized Form

Field Summary
protected static String ALERT_ATTR
          The state attribute name used to store the Alert.
protected static String ALERT_STATE_INITED
          The state attribute name used to store the marker of have been initialized.
protected static String MENU_ATTR
          The state attribute name used to store the Menu.
protected static String PARAM_ACTION
          The request parameter name whose value is the action.
protected static String PARAM_ACTION_COMBO
          The request parameter name root that has the action name following.
protected  String TITLE_PANEL
          The special panel name for the title.
protected  String TOOL_MODE_ATTR
          The mode attribute name base - postfix with the portlet mode.
protected  String TOOL_MODE_DEFAULT
          The mode value when no mode has been set.
 
Fields inherited from class org.sakaiproject.cheftool.VmServlet
m_validator
 
Fields inherited from class org.sakaiproject.vm.ComponentServlet
ATTR_PARAMS
 
Constructor Summary
ToolServlet()
           
 
Method Summary
protected  void actionDispatch(String methodBase, String methodExt, HttpServletRequest req, HttpServletResponse res)
          Dispatch to a "processAction" method based on reflection.
protected  void doGet(HttpServletRequest req, HttpServletResponse res)
          Respond to a request by dispatching to a portlet like "do" method based on the portlet mode and tool mode
protected  void doPost(HttpServletRequest req, HttpServletResponse res)
          Respond to a request by dispatching to a portlet like "do" method based on the portlet mode and tool mode
protected  Alert getAlert(HttpServletRequest req)
          Access the Alert for the current request.
protected  Alert getAlert(SessionState state)
          Access the Alert in this state - will create one if needed.
protected  Menu getMenu(HttpServletRequest req)
          Access the Menu for the current request.
protected  String getPid(HttpServletRequest req)
          Access the "pid" - portlet window id, tool id, from the request
protected  SessionState getState(HttpServletRequest req)
          Access the SessionState for the current request.
protected  String getToolMode(HttpServletRequest req)
          Access the tool mode for the current Portlet mode.
protected  void initState(SessionState state, HttpServletRequest req, HttpServletResponse res)
          Initialize for the first time the session state for this session.
protected  void prepState(HttpServletRequest req, HttpServletResponse res)
          Prepare state, either for first time or update
protected  void processAction(HttpServletRequest req, HttpServletResponse res)
          Process a Portlet action.
protected  void setToolMode(String toolMode, HttpServletRequest req)
          Set the tool mode.
protected  void setVmStdRef(HttpServletRequest request, HttpServletResponse response)
          Add some standard references to the vm context.
protected  void toolModeDispatch(String methodBase, String methodExt, HttpServletRequest req, HttpServletResponse res)
          Dispatch to a "do" method based on reflection.
protected  void updateState(SessionState state, HttpServletRequest req, HttpServletResponse res)
          Update for this request processing the session state.
 
Methods inherited from class org.sakaiproject.vm.VmServlet
getActionURL, getVmReference, includeVm, setVmReference
 
Methods inherited from class org.sakaiproject.vm.ComponentServlet
sendParentRedirect, service, setNoCacheHeaders
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TOOL_MODE_DEFAULT

protected final String TOOL_MODE_DEFAULT
The mode value when no mode has been set.

See Also:
Constant Field Values

TOOL_MODE_ATTR

protected final String TOOL_MODE_ATTR
The mode attribute name base - postfix with the portlet mode.

See Also:
Constant Field Values

TITLE_PANEL

protected final String TITLE_PANEL
The special panel name for the title.

See Also:
Constant Field Values

PARAM_ACTION_COMBO

protected static final String PARAM_ACTION_COMBO
The request parameter name root that has the action name following.

See Also:
Constant Field Values

PARAM_ACTION

protected static final String PARAM_ACTION
The request parameter name whose value is the action.

See Also:
Constant Field Values

ALERT_STATE_INITED

protected static final String ALERT_STATE_INITED
The state attribute name used to store the marker of have been initialized.

See Also:
Constant Field Values

ALERT_ATTR

protected static final String ALERT_ATTR
The state attribute name used to store the Alert.

See Also:
Constant Field Values

MENU_ATTR

protected static final String MENU_ATTR
The state attribute name used to store the Menu.

See Also:
Constant Field Values
Constructor Detail

ToolServlet

public ToolServlet()
Method Detail

setVmStdRef

protected void setVmStdRef(HttpServletRequest request,
                           HttpServletResponse response)
Add some standard references to the vm context.

Overrides:
setVmStdRef in class VmServlet
Parameters:
request - The render request.
response - The render response.

setToolMode

protected void setToolMode(String toolMode,
                           HttpServletRequest req)
Set the tool mode.

Parameters:
toolMode - The new tool mode.
req - The portlet request.

getToolMode

protected String getToolMode(HttpServletRequest req)
Access the tool mode for the current Portlet mode.

Parameters:
req - The portlet request.
Returns:
the tool mode for the current Portlet mode.

doPost

protected void doPost(HttpServletRequest req,
                      HttpServletResponse res)
               throws ServletException
Respond to a request by dispatching to a portlet like "do" method based on the portlet mode and tool mode

Throws:
ServletException

doGet

protected void doGet(HttpServletRequest req,
                     HttpServletResponse res)
              throws ServletException
Respond to a request by dispatching to a portlet like "do" method based on the portlet mode and tool mode

Throws:
ServletException

toolModeDispatch

protected void toolModeDispatch(String methodBase,
                                String methodExt,
                                HttpServletRequest req,
                                HttpServletResponse res)
                         throws ToolException
Dispatch to a "do" method based on reflection.

Parameters:
methodBase - The base name of the method to call.
methodExt - The end name of the method to call.
req - The HttpServletRequest.
res - The HttpServletResponse
Throws:
PortletExcption, - IOException, just like the "do" methods.
ToolException

processAction

protected void processAction(HttpServletRequest req,
                             HttpServletResponse res)
Process a Portlet action.


actionDispatch

protected void actionDispatch(String methodBase,
                              String methodExt,
                              HttpServletRequest req,
                              HttpServletResponse res)
Dispatch to a "processAction" method based on reflection.

Parameters:
methodBase - The base name of the method to call.
methodExt - The end name of the method to call.
req - The ActionRequest.
res - The ActionResponse
Throws:
PortletExcption, - IOException, just like the "do" methods.

getPid

protected String getPid(HttpServletRequest req)
Access the "pid" - portlet window id, tool id, from the request

Parameters:
req - The current request.
Returns:
the "pid" - portlet window id, tool id, from the request

getState

protected SessionState getState(HttpServletRequest req)
Access the SessionState for the current request. Note: this is scoped only for the current request.

Parameters:
req - The current portlet request.
Returns:
The SessionState objet for the current request.

prepState

protected void prepState(HttpServletRequest req,
                         HttpServletResponse res)
Prepare state, either for first time or update

Parameters:
req - The current portlet request.
res - The current response.

initState

protected void initState(SessionState state,
                         HttpServletRequest req,
                         HttpServletResponse res)
Initialize for the first time the session state for this session. If overridden in a sub-class, make sure to call super.

Parameters:
state - The session state.
req - The current request.
res - The current response.

updateState

protected void updateState(SessionState state,
                           HttpServletRequest req,
                           HttpServletResponse res)
Update for this request processing the session state. If overridden in a sub-class, make sure to call super.

Parameters:
state - The session state.
req - The current request.
res - The current response.

getAlert

protected Alert getAlert(HttpServletRequest req)
Access the Alert for the current request.

Parameters:
req - The current portlet request.
Returns:
The Alert objet for the current request.

getAlert

protected Alert getAlert(SessionState state)
Access the Alert in this state - will create one if needed.

Parameters:
state - The state in which to find the alert.
Returns:
The Alert objet.

getMenu

protected Menu getMenu(HttpServletRequest req)
Access the Menu for the current request.

Parameters:
req - The current portlet request.
Returns:
The Menu objet for the current request.