Hi Marius

Right now I'm working on "MYFACES-2616 Fix UIData state saving model (spec
issue 153)". I hope to attach some new patches, a example and a better
documentation in that issue soon, so we can review it and make comments.

regards,

Leonardo Uribe

2010/7/19 Marius Petoi <[email protected]>

> Hi Martin,
>
> Regarding state saving in tables, here are my observations and comments:
> - there is no state saved in relation to the UIData objects.
> - the states saved for the children of the UIData objects (the components
> in the tables) are irrelevant. They are not used afterwards, as the
> components are initialized at each request with default values and the state
> saved corresponds to the last modifications of the component (to the row
> which was last set via the setRowIndex() method).
> - every time the setRowIndex() method is invoked with the -1 parameter,
> _initialDescendantComponentState is initialized. This will no longer be
> necessary, as the initial state will be restored from the previously saved
> state.
> - the _rowStates array of states is constructed using "partial" state. This
> means that only states for the rows which are different from the template
> are saved in this array. In my opinion, this is what needs to be saved for
> the UIData. The children component of the UIData should have no state saved
> (at least not in the first phase - we could think that if something appears
> in all the rows of _rowStates for a componentt, then we could move this down
> to the component state).
>
> These are just some basic observations about state saving in tables. What
> do you think?
>
> Regards,
> Marius
>
>
> On Wed, Jul 14, 2010 at 4:29 PM, Martin Marinschek <[email protected]
> > wrote:
>
>> Ok, so you actually checked it - perfect!
>>
>> Next step: is there any component where this is different? UIInput is
>> ok - all the other standard components are ok as well?
>>
>> When we have finished this, take a look at what Leonardo has done for
>> partial state saving in data-tables. We will need to work out a
>> proposal for an API in JSF 2.1 - and, I guess, alsongside our
>> implementation, also an implementation for Mojarra, cause the RI team
>> will not be able to get this done.
>>
>> best regards,
>>
>> Martin
>>
>> On 7/14/10, Marius Petoi <[email protected]> wrote:
>> > I placed a breakpoint in
>> DefaultFaceletsManagementStrategy.saveStateOnMap,
>> > in the point where saveState is called for each component. That is the
>> point
>> > where the state to be saved is retrieved. That is where I got the
>> > information on the first place. I looked at each component and at the
>> > returned value of saveState.
>> >
>> > On Wed, Jul 14, 2010 at 3:41 PM, Martin Marinschek
>> > <[email protected]>wrote:
>> >
>> >> Hi Marius,
>> >>
>> >> "as I see" means you see it, or you think it is like this ;) ?
>> >>
>> >> best regards,
>> >>
>> >> Martin
>> >>
>> >> On 7/14/10, Marius Petoi <[email protected]> wrote:
>> >> > Hi Martin,
>> >> >
>> >> > I think you mean for the attributes that I say are added before the
>> call
>> >> to
>> >> > markInitialState(). So, as I see, the
>> >> > org.apache.myfaces.view.facelets.MARK_ID, locale, uniqueIdCounter,
>> >> > renderKitId, rendererType are not present in the partial state at the
>> >> > end
>> >> of
>> >> > the lifecycle, although they are in the StateHelper. The reason for
>> this
>> >> is
>> >> > that they are added there before the call to markInitialState(). So,
>> >> > they
>> >> > will never be in the partial state.
>> >> >
>> >> > Regards,
>> >> > Marius
>> >> >
>> >> > On Wed, Jul 14, 2010 at 3:05 PM, Martin Marinschek
>> >> > <[email protected]>wrote:
>> >> >
>> >> >> Hi Marius,
>> >> >>
>> >> >> you are sounding a bit unsure about this - did you really check what
>> >> >> is in the partial state at the end of the lifecycle?
>> >> >>
>> >> >> best regards,
>> >> >>
>> >> >> Martin
>> >> >>
>> >> >> On 7/14/10, Marius Petoi <[email protected]> wrote:
>> >> >> > Hello,
>> >> >> >
>> >> >> > After the improvements we discussed in previous threads, here is
>> what
>> >> >> > the
>> >> >> > state looks like for some of the components:
>> >> >> >
>> >> >> > - the org.apache.myfaces.view.facelets.MARK_ID
>> >> >> > (ComponentSupport.MARK_CREATED) attribute is present in almost all
>> >> >> > the
>> >> >> > components, but that is put in the attributes map before the
>> initial
>> >> >> state
>> >> >> > is marked, so I think it does not affect partial state saving
>> >> >> >
>> >> >> > - same goes for locale, uniqueIdCounter, renderKitId,
>> rendererType,
>> >> >> > which
>> >> >> > are also attributes in the StateHelper, but are added before the
>> call
>> >> to
>> >> >> > markInitialState(). So they also shouldn't be included in the
>> partial
>> >> >> state.
>> >> >> >
>> >> >> > - for UIInput, the partial state contains the value,
>> localValueSet,
>> >> >> > submittedValue and valid properties. This is the partial state
>> which
>> >> is
>> >> >> > stored after one submit.
>> >> >> >
>> >> >> > Do you have other suggestions about what else could be improved in
>> >> >> partial
>> >> >> > state saving?
>> >> >> >
>> >> >> > Regards,
>> >> >> > Marius
>> >> >> >
>> >> >>
>> >> >>
>> >> >> --
>> >> >>
>> >> >> http://www.irian.at
>> >> >>
>> >> >> Your JSF powerhouse -
>> >> >> JSF Consulting, Development and
>> >> >> Courses in English and German
>> >> >>
>> >> >> Professional Support for Apache MyFaces
>> >> >>
>> >> >
>> >>
>> >>
>> >> --
>> >>
>> >> http://www.irian.at
>> >>
>> >> Your JSF powerhouse -
>> >> JSF Consulting, Development and
>> >> Courses in English and German
>> >>
>> >> Professional Support for Apache MyFaces
>> >>
>> >
>>
>>
>> --
>>
>> http://www.irian.at
>>
>> Your JSF powerhouse -
>> JSF Consulting, Development and
>> Courses in English and German
>>
>> Professional Support for Apache MyFaces
>>
>
>

Reply via email to