org.apache.portals.bridges.jsf
Class FacesPortlet

java.lang.Object
  extended by javax.portlet.GenericPortlet
      extended by org.apache.portals.bridges.common.GenericServletPortlet
          extended by org.apache.portals.bridges.jsf.FacesPortlet
All Implemented Interfaces:
javax.portlet.Portlet, javax.portlet.PortletConfig

public class FacesPortlet
extends GenericServletPortlet

FacesPortlet utilizes Java Server Faces to create the user interface in a portlet environment.

Author:
David Le Strat, David Sean Taylor

Field Summary
static java.lang.String ACTION_REQUEST
          Action request.
static java.lang.String CUSTOM_REQUEST
          Custom request.
static java.lang.String EDIT_REQUEST
          Edit request.
static java.lang.String FACES_MESSAGES
          FacesMessage objects on portlet session
static java.lang.String HELP_REQUEST
          Help request.
static java.lang.String JSF_CUSTOM_ID
           
static java.lang.String JSF_EDIT_ID
           
static java.lang.String JSF_HELP_ID
           
static java.lang.String JSF_VIEW_ID
          The JSF_VIEW_ID used to maintain the state of the view action.
static java.lang.String PARAM_ACTION_PAGE
          Name of portlet preference for Action page.
static java.lang.String PARAM_CUSTOM_PAGE
          Name of portlet preference for Custom page.
static java.lang.String PARAM_EDIT_PAGE
          Name of portlet preference for Edit page.
static java.lang.String PARAM_HELP_PAGE
          Name of portlet preference for Edit page
static java.lang.String PARAM_UNIQUE_IDS
          Override default behavior for Unique IDS
static java.lang.String PARAM_VIEW_PAGE
          Name of portlet preference for View page
static java.lang.String REQUEST_SERVLET_PATH
          The REQUEST_SERVLET_PATH used for externalContext.getRequestServletPath().
static java.lang.String REQUEST_TYPE
          The REQUEST_TYPE request attribute can be used to determine the Portlet request type (ACTION_REQUEST, VIEW_REQUEST, HELP_REQUEST, EDIT_REQUEST or CUSTOM_REQUEST) of the current request.
static java.lang.String VIEW_REQUEST
          View request.
static java.lang.String VIEW_ROOT
          The VIEW_ROOT used to keep track of action between the action request and the render request.
 
Fields inherited from class org.apache.portals.bridges.common.GenericServletPortlet
PARAM_ALLOW_PREFERENCES, PARAM_MAX_PAGE
 
Constructor Summary
FacesPortlet()
           
 
Method Summary
protected  void cleanUpAfterPortal(javax.portlet.PortletRequest request, javax.portlet.PortletResponse response)
          Removes temporary JSF attributes from the request.
 void destroy()
           Release all resources acquired at startup time.
 void doCustom(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
           
 void doEdit(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
           
 void doHelp(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
           
 void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
           
 javax.faces.context.FacesContextFactory getFacesContextFactory()
           Gets the FacesContextFactory.
 javax.faces.lifecycle.Lifecycle getLifecycle()
           Get the faces life cycle.
 void init(javax.portlet.PortletConfig portletConfig)
           Acquire the factory instance we will require.
protected  void preProcessFaces(javax.faces.context.FacesContext context)
           
 void processAction(javax.portlet.ActionRequest request, javax.portlet.ActionResponse response)
           
 
Methods inherited from class org.apache.portals.bridges.common.GenericServletPortlet
getDefaultActionPage, getDefaultCustomPage, getDefaultEditPage, getDefaultHelpPage, getDefaultViewPage, processPreferencesAction, setDefaultActionPage, setDefaultCustomPage, setDefaultEditPage, setDefaultHelpPage, setDefaultViewPage
 
Methods inherited from class javax.portlet.GenericPortlet
doDispatch, getInitParameter, getInitParameterNames, getPortletConfig, getPortletContext, getPortletName, getResourceBundle, getTitle, init, render
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VIEW_ROOT

public static final java.lang.String VIEW_ROOT
The VIEW_ROOT used to keep track of action between the action request and the render request.

See Also:
Constant Field Values

REQUEST_SERVLET_PATH

public static final java.lang.String REQUEST_SERVLET_PATH
The REQUEST_SERVLET_PATH used for externalContext.getRequestServletPath(). externalContext.getRequestServletPath() should return null but this is a work around an issue with MyFaces JspViewHandler implementation getServletMapping().

See Also:
Constant Field Values

REQUEST_TYPE

public static final java.lang.String REQUEST_TYPE
The REQUEST_TYPE request attribute can be used to determine the Portlet request type (ACTION_REQUEST, VIEW_REQUEST, HELP_REQUEST, EDIT_REQUEST or CUSTOM_REQUEST) of the current request.

See Also:
Constant Field Values

JSF_VIEW_ID

public static final java.lang.String JSF_VIEW_ID
The JSF_VIEW_ID used to maintain the state of the view action.

See Also:
Constant Field Values

JSF_EDIT_ID

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

JSF_HELP_ID

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

JSF_CUSTOM_ID

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

PARAM_ACTION_PAGE

public static final java.lang.String PARAM_ACTION_PAGE
Name of portlet preference for Action page.

See Also:
Constant Field Values

PARAM_CUSTOM_PAGE

public static final java.lang.String PARAM_CUSTOM_PAGE
Name of portlet preference for Custom page.

See Also:
Constant Field Values

PARAM_EDIT_PAGE

public static final java.lang.String PARAM_EDIT_PAGE
Name of portlet preference for Edit page.

See Also:
Constant Field Values

PARAM_HELP_PAGE

public static final java.lang.String PARAM_HELP_PAGE
Name of portlet preference for Edit page

See Also:
Constant Field Values

PARAM_VIEW_PAGE

public static final java.lang.String PARAM_VIEW_PAGE
Name of portlet preference for View page

See Also:
Constant Field Values

ACTION_REQUEST

public static final java.lang.String ACTION_REQUEST
Action request.

See Also:
Constant Field Values

VIEW_REQUEST

public static final java.lang.String VIEW_REQUEST
View request.

See Also:
Constant Field Values

CUSTOM_REQUEST

public static final java.lang.String CUSTOM_REQUEST
Custom request.

See Also:
Constant Field Values

EDIT_REQUEST

public static final java.lang.String EDIT_REQUEST
Edit request.

See Also:
Constant Field Values

HELP_REQUEST

public static final java.lang.String HELP_REQUEST
Help request.

See Also:
Constant Field Values

FACES_MESSAGES

public static final java.lang.String FACES_MESSAGES
FacesMessage objects on portlet session

See Also:
Constant Field Values

PARAM_UNIQUE_IDS

public static final java.lang.String PARAM_UNIQUE_IDS
Override default behavior for Unique IDS

See Also:
Constant Field Values
Constructor Detail

FacesPortlet

public FacesPortlet()
Method Detail

destroy

public void destroy()

Release all resources acquired at startup time.

Specified by:
destroy in interface javax.portlet.Portlet
Overrides:
destroy in class javax.portlet.GenericPortlet

init

public void init(javax.portlet.PortletConfig portletConfig)
          throws javax.portlet.PortletException

Acquire the factory instance we will require.

Specified by:
init in interface javax.portlet.Portlet
Overrides:
init in class GenericServletPortlet
Throws:
javax.portlet.PortletException - if, for any reason, the startp of this Faces application failed. This includes errors in the config file that is parsed before or during the processing of this init() method.

doEdit

public void doEdit(javax.portlet.RenderRequest request,
                   javax.portlet.RenderResponse response)
            throws javax.portlet.PortletException,
                   java.io.IOException
Overrides:
doEdit in class GenericServletPortlet
Throws:
javax.portlet.PortletException
java.io.IOException
See Also:
GenericPortlet.doEdit(javax.portlet.RenderRequest, javax.portlet.RenderResponse)

doHelp

public void doHelp(javax.portlet.RenderRequest request,
                   javax.portlet.RenderResponse response)
            throws javax.portlet.PortletException,
                   java.io.IOException
Overrides:
doHelp in class GenericServletPortlet
Throws:
javax.portlet.PortletException
java.io.IOException
See Also:
GenericPortlet.doHelp(javax.portlet.RenderRequest, javax.portlet.RenderResponse)

doCustom

public void doCustom(javax.portlet.RenderRequest request,
                     javax.portlet.RenderResponse response)
              throws javax.portlet.PortletException,
                     java.io.IOException
Overrides:
doCustom in class GenericServletPortlet
Parameters:
request - The RenderRequest.
response - The RenderResponse.
Throws:
javax.portlet.PortletException - Throws a PortletException.
java.io.IOException - Throws a IOException.

doView

public void doView(javax.portlet.RenderRequest request,
                   javax.portlet.RenderResponse response)
            throws javax.portlet.PortletException,
                   java.io.IOException
Overrides:
doView in class GenericServletPortlet
Throws:
javax.portlet.PortletException
java.io.IOException
See Also:
GenericPortlet.doView(javax.portlet.RenderRequest, javax.portlet.RenderResponse)

processAction

public void processAction(javax.portlet.ActionRequest request,
                          javax.portlet.ActionResponse response)
                   throws javax.portlet.PortletException,
                          java.io.IOException
Specified by:
processAction in interface javax.portlet.Portlet
Overrides:
processAction in class GenericServletPortlet
Throws:
javax.portlet.PortletException
java.io.IOException
See Also:
Portlet.processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)

getFacesContextFactory

public javax.faces.context.FacesContextFactory getFacesContextFactory()
                                                               throws javax.portlet.PortletException

Gets the FacesContextFactory.

Returns:
The FacesContextFactory.
Throws:
javax.portlet.PortletException - Throws a PortletException.

getLifecycle

public javax.faces.lifecycle.Lifecycle getLifecycle()
                                             throws javax.portlet.PortletException

Get the faces life cycle.

Returns:
The Lifecycle.
Throws:
javax.portlet.PortletException - Throws a PortletException.

preProcessFaces

protected void preProcessFaces(javax.faces.context.FacesContext context)

cleanUpAfterPortal

protected void cleanUpAfterPortal(javax.portlet.PortletRequest request,
                                  javax.portlet.PortletResponse response)
Removes temporary JSF attributes from the request. Under certain circumstances, internal JSF attributes from one portlet become available to another portlet on the same page (this can happen, for example, when first portlet throws an exception while rendering). If this happens, a portlet would not render correctly. Theoretically, Portlet server should make sure that no request attributes from one portlet are visible to another portlet. In practice this isn't always the case, so a portlet needs to remove those request attributes before doing anything else.

Parameters:
request - portlet request we are processing
response - portlet response we are processing


Copyright © 1999-2011 Apache Software Foundation. All Rights Reserved.