MyFaces can incorrectly determine that Portlets are not supported
-----------------------------------------------------------------

                 Key: MYFACES-3375
                 URL: https://issues.apache.org/jira/browse/MYFACES-3375
             Project: MyFaces Core
          Issue Type: Bug
          Components: JSR-314, Portlet_Support
    Affects Versions: 2.0.9
            Reporter: Paul Nicolucci


There are two issues I'd like to report here.

1) Bridge Class is specific to Apache

org.apache.myfaces.shared.util.ExternalContextUtils.java / 
isPortlet(ExternalContext ec) does the following:

return getRequestType(ec).isPortlet();

This class. contains the logic to determine if Portlet is supported by finding 
a Bridge class  and can return the incorrect value when a Bridge other than the 
Apache Bridge is available.  For instance in 
WebSphere Application Server (WAS) when running in a Portlet environment the 
MyFaces code incorrectly returns a Servlet RequestType.

After looking at the code I see why this is:
        //Summary of values obtained
        javax.portlet.PortletContext =  _PORTLET_CONTEXT_CLASS
        javax.portlet.ActionRequest = _PORTLET_ACTION_REQUEST_CLASS
        javax.portlet.RenderRequest =  PORTLET_RENDER_REQUEST_CLASS
        javax.portlet.ResourceRequest = _PORTLET_RESOURCE_REQUEST_CLASS

//Find bridge to tell if portal is supported
Class<?> bridge = ClassLoaderUtils.loadClass("javax.portlet.faces.Bridge");

If the above javax.portlet.faces.Bridge Class is not found then 
PortletSupported variables are set to false.  There needs to be a better way to 
determine if a Bridge is 
available and therefore determine if Portlets are supported in this environment.


2) Portlet support is determined globally which is not always the case, a more 
granular determination is needed at the application level.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to