HttpServletPortletResponseWrapper incorrectly assumes 
MimeResponse.getPortletOutputStream() is upcastable to ServletOutputStream
--------------------------------------------------------------------------------------------------------------------------------

                 Key: PLUTO-591
                 URL: https://issues.apache.org/jira/browse/PLUTO-591
             Project: Pluto
          Issue Type: Bug
          Components: portlet container
    Affects Versions: 2.0.0
            Reporter: Ate Douma
            Assignee: Ate Douma
             Fix For: 2.0.2


Reported by Rossen Stoyanchev on pluto-user@: 

Hi, I am attempting to use Sun's jsf-portlet integration with Pluto 2.0. I get 
the following:

Caused by: java.lang.ClassCastException: 
com.sun.faces.portlet.ByteArrayWebOutputStream cannot be cast to 
javax.servlet.ServletOutputStream
       at 
org.apache.pluto.container.impl.HttpServletPortletResponseWrapper.getOutputStream(HttpServletPortletResponseWrapper.java:234)
       at 
org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:792)
       at 
org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:339)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
       at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
       at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
       at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
       at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227)
       at 
com.sun.faces.portlet.ExternalContextImpl.dispatch(ExternalContextImpl.java:147)
       at 
org.springframework.faces.webflow.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:25)
       at 
com.sun.faces.portlet.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:371)
       at 
com.sun.faces.portlet.ViewHandlerImpl.renderView(ViewHandlerImpl.java:235)
       at 
org.springframework.faces.webflow.FlowViewHandler.renderView(FlowViewHandler.java:91)
       at org.springframework.faces.webflow.JsfView.render(JsfView.java:89)
       at 
org.springframework.webflow.engine.ViewState.render(ViewState.java:282)
       at 
org.springframework.webflow.engine.ViewState.doEnter(ViewState.java:186)
       at org.springframework.webflow.engine.State.enter(State.java:194)
       at org.springframework.webflow.engine.Flow.start(Flow.java:535)
       at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:364)
       at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:222)
       ... 69 more

The JavaDocs for javax.portlet.MimeResponse indicates the 
getPortletOutputStream() method return value is of type java.io.OutputStream. 
Hence the cast to javax.servlet.ServletOutputStream in 
HttpServletPortletResponseWrapper seems dodgy. Can you confirm if this is 
indeed an issue with Pluto's implementation or not?

Thanks,
Rossen 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to