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

Reply via email to