org.apache.struts.faces.application
Class FacesRequestProcessor

java.lang.Object
  extended by org.apache.struts.action.RequestProcessor
      extended by org.apache.struts.faces.application.FacesRequestProcessor

public class FacesRequestProcessor
extends RequestProcessor

Concrete implementation of RequestProcessor that implements the standard Struts request processing lifecycle on a request that was received as an ActionEvent by our associated ActionListener. It replaces the request processor instance normally configured by Struts, so it must support non-Faces requests as well.

Version:
$Rev: 473326 $ $Date: 2006-11-10 06:58:06 -0600 (Fri, 10 Nov 2006) $

Field Summary
static String LIFECYCLE_ID_ATTR
          The lifecycle id.
protected static Log log
          The log instance for this class.
 
Fields inherited from class org.apache.struts.action.RequestProcessor
actions, INCLUDE_PATH_INFO, INCLUDE_SERVLET_PATH, moduleConfig, servlet
 
Constructor Summary
FacesRequestProcessor()
           
 
Method Summary
protected  void doForward(String uri, HttpServletRequest request, HttpServletResponse response)
          Set up a Faces Request if we are not already processing one.
protected  Action processActionCreate(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping)
           
protected  ActionForm processActionForm(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping)
           
protected  ActionForward processActionPerform(HttpServletRequest request, HttpServletResponse response, Action action, ActionForm form, ActionMapping mapping)
           
protected  boolean processForward(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping)
           
protected  void processForwardConfig(HttpServletRequest request, HttpServletResponse response, ForwardConfig forward)
           
protected  boolean processInclude(HttpServletRequest request, HttpServletResponse response, ActionMapping mapping)
           
protected  String processPath(HttpServletRequest request, HttpServletResponse response)
          Identify and return the path component (from the request URI for a non-Faces request, or from the form event for a Faces request) that we will use to select an ActionMapping to dispatch with.
protected  void processPopulate(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping)
          Populate the properties of the specified ActionForm instance from the request parameters included with this request, IF this is a non-Faces request.
protected  boolean processValidate(HttpServletRequest request, HttpServletResponse response, ActionForm form, ActionMapping mapping)
           
 
Methods inherited from class org.apache.struts.action.RequestProcessor
destroy, doInclude, getInternal, getServletContext, init, internalModuleRelativeForward, internalModuleRelativeInclude, process, processCachedMessages, processContent, processException, processLocale, processMapping, processMultipart, processNoCache, processPreprocess, processRoles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static Log log

The log instance for this class.


LIFECYCLE_ID_ATTR

public static final String LIFECYCLE_ID_ATTR

The lifecycle id.

See Also:
Constant Field Values
Constructor Detail

FacesRequestProcessor

public FacesRequestProcessor()
Method Detail

doForward

protected void doForward(String uri,
                         HttpServletRequest request,
                         HttpServletResponse response)
                  throws IOException,
                         ServletException

Set up a Faces Request if we are not already processing one. Next, create a new view if the specified uri is different from the current view identifier. Finally, cause the new view to be rendered, and call FacesContext.responseComplete() to indicate that this has already been done.

Overrides:
doForward in class RequestProcessor
Parameters:
uri - Context-relative path to forward to
request - Current page request
response - Current page response
Throws:
IOException - if an input/output error occurs
ServletException - if a servlet error occurs

processActionCreate

protected Action processActionCreate(HttpServletRequest request,
                                     HttpServletResponse response,
                                     ActionMapping mapping)
                              throws IOException
Overrides:
processActionCreate in class RequestProcessor
Throws:
IOException

processActionForm

protected ActionForm processActionForm(HttpServletRequest request,
                                       HttpServletResponse response,
                                       ActionMapping mapping)
Overrides:
processActionForm in class RequestProcessor

processActionPerform

protected ActionForward processActionPerform(HttpServletRequest request,
                                             HttpServletResponse response,
                                             Action action,
                                             ActionForm form,
                                             ActionMapping mapping)
                                      throws IOException,
                                             ServletException
Overrides:
processActionPerform in class RequestProcessor
Throws:
IOException
ServletException

processForward

protected boolean processForward(HttpServletRequest request,
                                 HttpServletResponse response,
                                 ActionMapping mapping)
                          throws IOException,
                                 ServletException
Overrides:
processForward in class RequestProcessor
Throws:
IOException
ServletException

processForwardConfig

protected void processForwardConfig(HttpServletRequest request,
                                    HttpServletResponse response,
                                    ForwardConfig forward)
                             throws IOException,
                                    ServletException
Overrides:
processForwardConfig in class RequestProcessor
Throws:
IOException
ServletException

processInclude

protected boolean processInclude(HttpServletRequest request,
                                 HttpServletResponse response,
                                 ActionMapping mapping)
                          throws IOException,
                                 ServletException
Overrides:
processInclude in class RequestProcessor
Throws:
IOException
ServletException

processPath

protected String processPath(HttpServletRequest request,
                             HttpServletResponse response)
                      throws IOException

Identify and return the path component (from the request URI for a non-Faces request, or from the form event for a Faces request) that we will use to select an ActionMapping to dispatch with. If no such path can be identified, create an error response and return null.

Overrides:
processPath in class RequestProcessor
Parameters:
request - The servlet request we are processing
response - The servlet response we are creating
Throws:
IOException - if an input/output error occurs

processPopulate

protected void processPopulate(HttpServletRequest request,
                               HttpServletResponse response,
                               ActionForm form,
                               ActionMapping mapping)
                        throws ServletException

Populate the properties of the specified ActionForm instance from the request parameters included with this request, IF this is a non-Faces request. For a Faces request, this will have already been done by the Update Model Values phase of the request processing lifecycle, so all we have to do is recognize whether the request was cancelled or not.

Overrides:
processPopulate in class RequestProcessor
Parameters:
request - The servlet request we are processing
response - The servlet response we are creating
form - The ActionForm instance we are populating
mapping - The ActionMapping we are using
Throws:
ServletException - if thrown by RequestUtils.populate()

processValidate

protected boolean processValidate(HttpServletRequest request,
                                  HttpServletResponse response,
                                  ActionForm form,
                                  ActionMapping mapping)
                           throws IOException,
                                  ServletException,
                                  InvalidCancelException
Overrides:
processValidate in class RequestProcessor
Throws:
IOException
ServletException
InvalidCancelException


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.