For me, the UIData and UIRepeat need to descend from the same
component - and this is actually something which is being discussed on
the EG right now.

When we have this, the solution should be the same.

Marius, can you go in the profiling mode again, and share with us the
state sizes for a typical page - full state saving, partial state
saving MyFaces, partial state saving Mojarra, with and without data
tables on them?

best regards,

Martin

On Tue, Jul 20, 2010 at 2:46 PM, Marius Petoi <marius.pe...@codebeat.ro> wrote:
> Hi Leonardo,
>
> So you are working on UIData at the moment. What about UIRepeat? I see that
> partial state saving is not implemented in UIRepeat components. We could
> improve the _childState table (which is included in the saved state) to save
> only the states which are different from an initial state (like in UIData
> components).
>
> Regards,
> Marius
>
> On Mon, Jul 19, 2010 at 1:46 PM, Leonardo Uribe <lu4...@gmail.com> wrote:
>>
>> 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 <marius.pe...@codebeat.ro>
>>>
>>> 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
>>> <mmarinsc...@apache.org> 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 <marius.pe...@codebeat.ro> 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
>>>> > <mmarinsc...@apache.org>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 <marius.pe...@codebeat.ro> 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
>>>> >> > <mmarinsc...@apache.org>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 <marius.pe...@codebeat.ro> 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
>>>
>>
>
>



-- 

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