[
https://issues.apache.org/jira/browse/MYFACES-3132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13030904#comment-13030904
]
Matt Benson commented on MYFACES-3132:
--------------------------------------
I do feel it is important to distinguish the fact that MyFaces' implementation
of the javax.faces APIs should _exactly_ implement the specification, making
the implemention of these methods a deficit rather than a benefit. This would
likely almost never be the case with any "normal" situation. In any event,
thanks for addressing this!
> javax.faces.context.ResponseWriterWrapper implementation is overdone
> --------------------------------------------------------------------
>
> Key: MYFACES-3132
> URL: https://issues.apache.org/jira/browse/MYFACES-3132
> Project: MyFaces Core
> Issue Type: Bug
> Reporter: Matt Benson
> Assignee: Leonardo Uribe
> Fix For: 2.0.6, 2.1.0
>
> Attachments: MYFACES-3132-1.patch
>
>
> When using IceFaces an NPE is encountered when one of the lower-level Writer
> calls is made against its DomResponseWriter (specifically this was a result
> of HtmlRendererUtils.renderSelectOptions() calling writer.write(TABULATOR)).
> This is because java.io.Writer delegates all forms of #write() back to the
> abstract write(char[], int, int) variant. MyFaces' version of
> ResponseWriterWrapper implements write(int) directly, whereas the spec
> actually not does declare this method as being implemented here and thus
> allows the default implementation from Writer to delegate to the char[], int,
> int version. Since the MyFaces version calls getWrapped().write(int), an NPE
> is thrown that would be avoided if IceFaces were permitted to proceed through
> the call sequence as implicitly promised by the spec. True implementation of
> the spec requires deleting each of:
> * append(char)
> * append(CharSequence)
> * append(CharSequence, int, int)
> * write(char[])
> * write(int)
> * write(String)
> * write(String, int, int)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira