You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Scott O'Bryan (JIRA)" <de...@myfaces.apache.org> on 2009/02/13 19:03:01 UTC
[jira] Resolved: (TRINIDAD-1377) ActionRequest not properly
detected.
[ https://issues.apache.org/jira/browse/TRINIDAD-1377?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott O'Bryan resolved TRINIDAD-1377.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.2.11-core
Patch applied and should be in the 1.2.11-core release of Trinidad
> ActionRequest not properly detected.
> ------------------------------------
>
> Key: TRINIDAD-1377
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1377
> Project: MyFaces Trinidad
> Issue Type: Bug
> Components: Portlet
> Affects Versions: 1.2.11-core
> Reporter: Felix Röthenbacher
> Assignee: Scott O'Bryan
> Fix For: 1.2.11-core
>
> Attachments: TRINIDAD-1377-patch.txt
>
>
> The method ExternalContextUtils.isAction(final ExternalContext externalContext) does not reliably detect an action request.
> If the object returned by ExternalContext.getRequest() implements the ServletRequest interface the method above returns
> true. This can also apply for a RenderRequest which is not an ActionRequest.
> The following fixes this:
> /**
> * Returns <code>true</code> if this externalContext represents an "action". An action request
> * is any ServletRequest or a portlet ActionRequest. It is assumed that the ExternalContext
> *
> * @return a boolean of <code>true</code> if this is a Portlet ActionRequest or an non-portlet
> * request.
> */
> public static boolean isAction(final ExternalContext externalContext)
> {
> final Object request = externalContext.getRequest();
> if (_PORTLET_ACTION_REQUEST_CLASS == null)
> {
> _LOG
> .fine("Portlet API's are not on the classpath so isAction will only check for servlet request.");
> return request instanceof ServletRequest;
> }
> return (request instanceof ServletRequest && !_PORTLET_RENDER_REQUEST_CLASS.isInstance(request) ||
> _PORTLET_ACTION_REQUEST_CLASS.isInstance(request)) ;
> }
> _PORTLET_RENDER_REQUEST_CLASS has to be properly initialized. Not sure why this method checks for ServletRequest.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.