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