myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Röthenbacher (JIRA) <>
Subject [jira] Created: (TRINIDAD-1377) ActionRequest not properly detected.
Date Fri, 23 Jan 2009 03:52:59 GMT
ActionRequest not properly detected.

                 Key: TRINIDAD-1377
             Project: MyFaces Trinidad
          Issue Type: Bug
          Components: Portlet
    Affects Versions:  1.2.11-core
            Reporter: Felix Röthenbacher

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();

          .fine("Portlet API's are not on the classpath so isAction will only check for servlet
      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.

View raw message