ok, I will file a JIRA issue for this and fix it this weekend.

On 9/25/06, Alexander Smirnov <[EMAIL PROTECTED]> wrote:

Two solutions for same problem breacks togewer :-)
I have overriede UIViewRoot due to same problem, for keep evens queue (
also as uniqueId counter etc ) in own request-scope context.
Messages not affected by this issue, since it stored in FacesContext and
have instances per request.

Also, I found You configuration flag, but it really not used in code.

Adam Winer wrote:

> On 9/25/06, Alexander Smirnov <[EMAIL PROTECTED]> wrote:
>
>>
>> I work for compability on Apache Trinidad and ajax4jsf project, and,
>> after solve all My problems have one incompability with client-side
>> saving state.
>> As I see, in Trinidad StateManagerImpl, ViewRoot not pass save/restore
>> state methods, but manager simple created new instance of UIViewRoot
>> class, and copy any properties from cached instance to new. This code
>> will be source of problem in any realisations expect SUN RI 1.1 - since
>> in MyFaces and JSF 1.2 implementations viewRoot have more persistanse
>> parameters ( at least, must be restored unique id's counter, and lot of
>> listeners in JSF 1.2 ).
>
>
>
> We wanted to simply cache the UIViewRoot itself, but there were
> problems in JSF 1.1 with events (and maybe also messages?)
> not getting cleared.  So, you have a pending ActionEvent in
> the queue, but validation fails - then you get two ActionEvents
> the next time around!
>
> This led to us re-creating the UIViewRoot.   The preferred solution
> is making sure that we can simply cache the original UIViewRoot
> itself.  But simply saving and restoring sufficient state should
> be enough, so I figure we could just call UIViewRoot.saveState()
> and UIViewRoot.restoreState().
>
> I'm willing to add a configuration flag to disable this optimization -
> which
> is a very significant one - but would not  want to turn it off by
> default.
>
> And, In may case, redefine class for ViewRoot component in
>
>> faces-config.xml break after first restore tree state
>
>
>
> Yes, though that should be cleanly fixed simply by going through
> Application.createComponent() to create the UIViewRoot.
>
> -- Adam
>


--
===============================================
Alexander J. Smirnov
http://smirnov.org.ru/en/
Exadel Inc.
e-mail: [EMAIL PROTECTED]
ICQ: 69173529
===============================================


Reply via email to