[ 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