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
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