I opened a Jira issue about this for a specific part of Tomahawk, but everybody should be made aware of this issue:

 

I have a report of a user who wanted to use JSCookMenu in a portlet. This results in a ClassCastException because org.apache.myfaces.component.html.util.AddResource assumes that the underlying request object will be an HttpServletRequest.

I will fix this for AddResource, but I suspect that there are other offending classes in Tomahawk.

For future reference, you should always use methods from ExternalContext instead of doing (HttpServletRequest)ExternalContext.getRequest().

If you MUST use features of HttpServletRequest that ExternalContext doesn't offer then you should use the PortletUtil to make sure that you don't break portlets. To tell if you are running in a portlet environment, you can say:

org.apache.myfaces.portlet.PortletUtil.isPortletRequest(FacesContext facesContext)

Note: calling PortletUtil does not put any dependency on the Portlet API.

 

Thanks for your time.  We now return you to your regularly scheduled email list.

 

Stan Silvert

JBoss, Inc.

[EMAIL PROTECTED]

callto://stansilvert

 

Reply via email to