Hi guys,

> Unfortunately, try to save the state directly on the child components is not
> possible. The problem is the datatable is the one who know about the rows,
> so the right place for save this information (at least the delta
> information) is there. But the initial state could be saved on the children
> if some additional methods are provided. I don't know if it is worth to add
> those methods, because the only one interested to save the initial state is
> the datatable (things are different if the children could use that
> information to "reset" the current state, maybe a method called
> resetInitialState). My first solution for partial state saving used a
> protected variable to save the initial state on the children, but after look
> the latest solution I'm inclined to implement the latest one.

Leonardo is right - I don´t see a way to do this either. Additionally,
I don´t think changing the location will buy any major reductions.

For the state of a normal input text - what exactly does it consist
of, highlight the size of each of the parts.

best regards,

Martin

>> On Wed, Jul 21, 2010 at 7:51 PM, Leonardo Uribe <lu4...@gmail.com> wrote:
>>>
>>> Hi Marius, Martin
>>>
>>> Yes, it is a bug. The problem is related to some changes done on
>>> MYFACES-2754. I think that this changes was tested against jsp but not
>>> against facelets. I reverted the changes so you can test now.
>>>
>>> regards,
>>>
>>> Leonardo Uribe
>>>
>>> 2010/7/21 Martin Marinschek <mmarinsc...@apache.org>
>>>>
>>>> Hi Marius,
>>>>
>>>> ok, Leonardo will hopefully take a look - for you to continue: just
>>>> post the partial state values for typical pages right now (you can
>>>> also take the pages of the sample as a base if you want).
>>>>
>>>> best regards,
>>>>
>>>> Martin
>>>>
>>>> On Wed, Jul 21, 2010 at 3:23 PM, Marius Petoi <marius.pe...@codebeat.ro>
>>>> wrote:
>>>> > Hello,
>>>> >
>>>> > As I see, in JspStateManagerImpl.saveSerializedView (actually in the
>>>> > isWritingState() method), there is a check whether the
>>>> > JSP_IS_WRITING_STATE_ATTR is set in the FacesContext. But this
>>>> > attribute is
>>>> > set in ViewHandlerImpl.setWritingState() if there is no StateWriter
>>>> > defined
>>>> > (if the current view is a jsp). So, in my opinion, the verification in
>>>> > the
>>>> > JspStateManagerImpl.isWritingState() should also include the
>>>> > verification of
>>>> > the StateWriter. Otherwise, full state saving will work only for
>>>> > JSP-s.
>>>> >
>>>> > Regards,
>>>> > Marius
>>>> >
>>>> > On Wed, Jul 21, 2010 at 3:49 PM, Martin Marinschek
>>>> > <mmarinsc...@apache.org>
>>>> > wrote:
>>>> >>
>>>> >> Hi Marius
>>>> >>
>>>> >> > --> Full state saving means setting the context parameter
>>>> >> > javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've
>>>> >> > noticed
>>>> >> > that just by doing this, the xhtml pages don't work anymore...only
>>>> >> > the
>>>> >> > jsp-s. There is no state saved in xhtml-s. Am I missing something?
>>>> >>
>>>> >> Oh my. That´s a bug then. Leonardo, can you look into this (not that
>>>> >> I
>>>> >> desperately need full state saving, but some users might need it)?
>>>> >>
>>>> >> 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
>>>> >> >
>>>> >> >
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >>
>>>> >> 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