Pluto
  1. Pluto
  2. PLUTO-591

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

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.2
    • Component/s: portlet container
    • Labels:
      None

      Description

      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

        Activity

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12565149 ] jira [ 12585863 ]
        Mark Thomas made changes -
        Workflow jira [ 12509183 ] Default workflow, editable Closed status [ 12565149 ]
        Ate Douma made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ate Douma created issue -

          People

          • Assignee:
            Ate Douma
            Reporter:
            Ate Douma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development