It's a little bit lame that the primefaces guys never run their tests
with MyFaces.

-Matthias

On Mon, Jul 12, 2010 at 7:21 AM, Marcus Büttner <m...@buett.at> wrote:
> Hi,
>
> I've a similar problem with primefaces and myfaces. The standard <f:ajax> to
> rerender a component works as espected but <p:ajax> do not update other
> primefaces components. I've posted it to the primefaces forum but with
> mojarra it seems to work.
>
> my example:
>
> <h:form id="myForm">
>   <h:selectOneMenu id="selectMenu" value="#{myBean.menuValue}">
>       <f:selectItem itemValue="true" itemLabel="Yes"/>
>       <f:selectItem itemValue="false" itemLabel="No"/>
>       <p:ajax event="change" update="output" process="selectMenu"/>
>   </h:selectOneMenu>
>   <p:inputMask id="output" mask="" value="#{myBean.menuValue}"/>
>   <h:commandButton action="action"/>
> </h:form>
>
> Could this be the same cause?
>
> Marcus
>
> Bruno Aranda schrieb:
>>
>> I think you may be right, I have tried to test cases (attached to the
>> JIRA ticket). One using a primefaces button and the other using a jsf
>> standard button, and the latter works as expected.
>>
>> Bruno
>>
>> On 12 July 2010 15:03, Werner Punz <werner.p...@gmail.com> wrote:
>>
>>>
>>> Superb, as I said I am not entirely sure if myfaces is at fault here, my
>>> personal guess goes towards a custom partial response writer on the
>>> PrimeFaces side, but I am guessing here, because we have fallback code in
>>> our ppr responseWriter which exactly should cover what we have here:
>>>
>>>   private String postProcess(StackEntry currentElement) throws
>>> IOException
>>> {
>>>
>>>       currentElement.getWriter().flush();
>>>       StringBuffer buffer = currentElement.getDoubleBuffer().getBuffer();
>>>
>>>       String resultString = buffer.toString();
>>>       //section http://www.w3.org/TR/REC-xml/#sec-cdata-sect everything
>>> is
>>> parsed
>>>       //until it hits a ]]> hence we need to do some mapping here
>>>
>>>       //ok since our maximum string size is Integer.MAX_VALUE (most JVMs
>>> use char [] as
>>>       //representations
>>>       //we can work on strings directly, instead of having to go through
>>> streams
>>>       //it is absolutely unlikely that we will ever have a buffered
>>> stream
>>> bigger than that
>>>       //for our writer!
>>>       if (resultString.contains("]]>")) {
>>>
>>>           //we now first remove pending javascript CDATA blocks
>>>           //the reason is if we leave them the ppr chokes on them
>>>           //the syntax from the auto generated CDATA usually is
>>> //\s+<![CDATA[
>>>           resultString =
>>> resultString.replaceAll("//\\s*((\\<\\!\\[CDATA\\[)|(\\]\\]\\>))", "");
>>>           //now to fullfill the xml spec we have to replace all ]] with
>>> blocks of cdata
>>>           resultString = resultString.replaceAll("\\]\\]\\>",
>>> "]]><![CDATA[]]]]><![CDATA[>");
>>>       }
>>>       return resultString;
>>>   }
>>>
>>> The idea is to double buffer a ppr cdata block and do some final
>>> postprocessing by excaping ]]> by valid cadata escapes.
>>> So this section should never be rendered that way
>>>
>>>>>>>
>>>>>>> //]]></script>
>>>>>>>
>>>
>>> would have been crrect
>>> ]]><![CDATA[]]]]><![CDATA[></script>
>>>
>>> instead it should have gotten a split into two cdata blocks.
>>> But we may have a bug here as well.
>>>
>>> Werner
>>>
>>>
>>>
>>>
>>> Am 12.07.10 15:52, schrieb Bruno Aranda:
>>>
>>>>
>>>> I will create a simple test case,
>>>>
>>>> Cheers,
>>>>
>>>> Bruno
>>>>
>>>> On 12 July 2010 14:47, Werner Punz<werner.p...@gmail.com>  wrote:
>>>>
>>>>>
>>>>> Hi Bruno can you file a snippet of the original xhtml markup into
>>>>>
>>>>> https://issues.apache.org/jira/browse/MYFACES-2811
>>>>>
>>>>> Werner
>>>>>
>>>>>
>>>>>
>>>>> Am 12.07.10 15:33, schrieb Werner Punz:
>>>>>
>>>>>>
>>>>>> Hi Bruno, please file a bugreport on it. We should fix this before
>>>>>> 2.0.1
>>>>>> this is a bug in the ppr responsewriter on the server side. I was
>>>>>> fixing
>>>>>> exactly this issue a few months ago, maybe we have some regression bug
>>>>>> here.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Werner
>>>>>>
>>>>>> Am 12.07.10 14:48, schrieb Bruno Aranda:
>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a partial response that contains invalid syntax because CDATA
>>>>>>> sections are nested. For example, in my app this code is generated in
>>>>>>> the partial response:
>>>>>>>
>>>>>>> <?xml version="1.0"
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> encoding="UTF-8"?><partialResponse><components><component><id>editorForm</id><output><![CDATA[<form
>>>>>>>
>>>>>>> id="editorForm" name="editorForm" method="post"
>>>>>>> action="/editor/curate/publication.jsf?conversationContext=2"
>>>>>>> enctype="application/x-www-form-urlencoded"><span
>>>>>>> id="growl"></span><script type="text/javascript">//<![CDATA[
>>>>>>> jQuery.gritter.add({title:'Publication saved',text:'AC:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> EBI-2637354',image:'/editor/primefaces_resource/2.0.3-SNAPSHOT/primefaces/growl/assets/info.png?conversationContext=2',sticky:false});
>>>>>>>
>>>>>>>
>>>>>>> //]]></script>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Reply via email to