[ 
https://issues.jboss.org/browse/RF-12865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12782195#comment-12782195
 ] 

Brian Leathem commented on RF-12865:
------------------------------------

As reported in the user forum, this bug is only present when RichFaces is used 
in combination with OmniFaces.  See the following Omnifaces bug report for a 
clear explanation of the root cause from [~bauke]:

https://code.google.com/p/omnifaces/issues/detail?id=191

{quote}
This is a design bug in RichFaces. It's not utilizing standard JSF API 
facilities in its partial response writer. For some unobvious reason they 
stopped using PartialResponseWriter#endDocument() and added a custom 
finallyEndDocument() method which is not part of standard JSF API. This is only 
called by RichFaces own ExtendedPartialViewContextImpl. They also incorrectly 
assume that the RichFaces partial response writer would be the only response 
writer ever which is in use in the webapp. They do not take into account that 
partial response writers can be wrapped by another implementations and are 
supposed to delegate to the wrapped instance everytime. They do an instanceof 
check on the outermost wrapped instance only and if it's not an instance of 
their own response writer implementation (but e.g. the one of OmniFaces or even 
PrimeFaces), then they completely ignore it. They even don't even try to call 
the standard endDocument() method on it. In short, they are breaking the st!
 andard API.

See also source code for evidence: 
http://grepcode.com/file/repo1.maven.org/maven2/org.richfaces.core/richfaces-core-impl/4.3.1.CR1/org/richfaces/context/ExtendedPartialViewContextImpl.java#206

That is works with Mojarra is because it coincidentally loads the OmniFaces 
partial view context *before* the RichFaces one, so RichFaces always ends up 
getting its own response writer.

I'm not sure what to do here. I could expand our Hacks class with another one 
for RichFaces. It's already so full of ExtendedPartialViewContextImpl specific 
hacks.
{quote}

and

{quote}
I recommend to get rid of `finallyEndDocument()` and perform the job in 
`endDocument()`. I also recommend to let your partial view context impl extend 
from javax.faces.context.PartialViewContextWrapper to keep RichFaces friendly 
towards other JSF libraries which also offer a PVC wrapper. This should also 
eliminate verbose/strange ContextMode.DIRECT/WRAPPED boilerplate. As to 
"encoding issues" which the class' javadoc is talking about, I'm not sure what 
exactly you mean there, but I believe that it has the same grounds as this 
PrimeFaces problem: http://stackoverflow.com/a/9839362/157882 If this is true, 
just don't do that and clearly document to the enduser that it's his 
responsibility to explicitly configure the webapp and/or the server to use 
UTF-8 as request parameter/body encoding, which is at most a matter of a 
servlet fitler with an oneliner. This way you do not need to introduce wrapper 
modes in your partial view context (at least, I did not see a clear reason why 
you!
  are doing that, other than the comment on top of the class).
{quote}

                
> A4j:commandButton fail to render/update other components with MyFaces
> ---------------------------------------------------------------------
>
>                 Key: RF-12865
>                 URL: https://issues.jboss.org/browse/RF-12865
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: third-party
>    Affects Versions: 4.3.1
>         Environment: weblogic 10.3.4, Myfaces 2.1.10, Richfaces 4.3.1, 
> OmniFaces1.3
>            Reporter: blam lam
>              Labels: waiting_on_user
>
> After submit from a a4j:commandButton, it fail to re-render / update other 
> component on the page.
> This problem only appear in MyFaces. It does not happens in Mojarra.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to