You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Max Starets (JIRA)" <de...@myfaces.apache.org> on 2010/05/27 23:11:38 UTC

[jira] Updated: (TRINIDAD-1817) fileDownloadActionListeners needs to delay retrieving OutputStream from the response until something needs to be written to the stream

     [ https://issues.apache.org/jira/browse/TRINIDAD-1817?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Max Starets updated TRINIDAD-1817:
----------------------------------

    Status: Patch Available  (was: Open)

> fileDownloadActionListeners needs to delay retrieving OutputStream from the response until something needs to be written to the stream
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-1817
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1817
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 2.0.0.3-core
>            Reporter: Max Starets
>            Assignee: Max Starets
>         Attachments: trinidad-1817.patch
>
>
> The issue may be demonstrated by taking our fileDownloadActionListener demo and modifying it to run with Facelets.
> After you click on the 'Click for Error" button, you will get an UnsupportedOperationException instead of the expected FacesMessage.
> The exception is thrown because we calling getOutputStream(), but not completing the response when we want to report an error.
> JSF later calls getWriter(), which is causing UnsupportedOperationException.
> This problem does not show up with JSPs because of the side effect of the JSP engine dispatch - getWriter() simply succeeds.
> The solution is to create a proxy OutputStream that retrieves the delegate stream only when it needs to write.

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