[ 
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

Reply via email to