You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by Martin Marinschek <mm...@apache.org> on 2010/08/01 20:28:06 UTC
Re: [GSOC] State saving status after first improvements
Hi guys,
> stateHelper.remove() doesn't remove the value but replaces it with null. And
> also, as I understand, saving the null values in the state helper can't be
> removed.
>
why is this?
best regards,
Martin
>
> On Fri, Jul 23, 2010 at 1:27 PM, Martin Marinschek
> <mm...@apache.org>wrote:
>
>> +1!
>>
>> tell us how much this changes...
>>
>> best regards,
>>
>> Martin
>>
>> On Fri, Jul 23, 2010 at 12:23 PM, Marius Petoi <ma...@codebeat.ro>
>> wrote:
>> > Hello,
>> >
>> > These values are written by default in the processDecodes() and
>> > updateModel() methods. This is before the state is written. One thing
>> that
>> > we could do is in the saveState method to check whether the values for
>> the
>> > attributes are the default ones and remove them from the StateHelper, so
>> > that they don't get saved. Upon restore, we look if the values are in
>> > the
>> > state and if not, initialize them with the default values.
>> >
>> > Regards,
>> > Marius
>> >
>> > On Fri, Jul 23, 2010 at 11:01 AM, Martin Marinschek <
>> mmarinschek@apache.org>
>> > wrote:
>> >>
>> >> Hi Marius,
>> >>
>> >> > The state of a typical input text contains the following 4 attributes
>> >> > (both
>> >> > the keys and the values): valid, value, localValueSet and
>> >> > submittedValue.
>> >> > Value and submittedValue may be null, in this case only the keys are
>> >> > contained in the state. Valid and localValueSet are boolean
>> properties.
>> >> > I
>> >> > measured the state of an input text to be approximately 300 B. If
>> >> > this
>> >> > is in
>> >> > a table, you need to multiply it by the number of rows in that table.
>> >>
>> >> why are the keys contained in the state if the thing is null? null is
>> >> the default value, we should probably not state save this case. Same
>> >> with the default values of valid and localValueSet...
>> >>
>> >> best regards,
>> >>
>> >> Martin
>> >>
>> >> > On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek
>> >> > <mm...@apache.org>
>> >> > wrote:
>> >> >>
>> >> >> 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 <lu4242@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 <mm...@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
>> >> >> >>>> <ma...@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
>> >> >> >>>> > <mm...@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
>> >> >> >>>> >> >> <ma...@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
>> >> >> >>>> >> >> > <lu...@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 <ma...@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
>> >> >> >>>> >> >> >>> <mm...@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 <ma...@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
>> >> >> >>>> >> >> >>>> > <mm...@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.petoi@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
>> >> >> >>>> >> >> >>>> >> > <mm...@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
>> >> >> >>>> >> >> >>>> >> >> <ma...@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
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >>
>> >> 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
Re: [GSOC] State saving status after first improvements
Posted by Leonardo Uribe <lu...@gmail.com>.
Hi Martin
The reason why we should save the null value in this case is, if the
property was set before markInitialState is called, and by some reason is
set to null after markInitialState, when the state is rebuild building the
view on the next request, this property will not be set to null. The
consideration done in this case is keep PSS compatible with jsf 1.2 state
saving, but note this scenario could happen only in rare (but possible and
perfectly legal) cases.
best regards,
Leonardo
2010/8/1 Martin Marinschek <mm...@apache.org>
> Hi guys,
>
> > stateHelper.remove() doesn't remove the value but replaces it with null.
> And
> > also, as I understand, saving the null values in the state helper can't
> be
> > removed.
> >
>
> why is this?
>
> best regards,
>
> Martin
>
> >
> > On Fri, Jul 23, 2010 at 1:27 PM, Martin Marinschek
> > <mm...@apache.org>wrote:
> >
> >> +1!
> >>
> >> tell us how much this changes...
> >>
> >> best regards,
> >>
> >> Martin
> >>
> >> On Fri, Jul 23, 2010 at 12:23 PM, Marius Petoi <
> marius.petoi@codebeat.ro>
> >> wrote:
> >> > Hello,
> >> >
> >> > These values are written by default in the processDecodes() and
> >> > updateModel() methods. This is before the state is written. One thing
> >> that
> >> > we could do is in the saveState method to check whether the values for
> >> the
> >> > attributes are the default ones and remove them from the StateHelper,
> so
> >> > that they don't get saved. Upon restore, we look if the values are in
> >> > the
> >> > state and if not, initialize them with the default values.
> >> >
> >> > Regards,
> >> > Marius
> >> >
> >> > On Fri, Jul 23, 2010 at 11:01 AM, Martin Marinschek <
> >> mmarinschek@apache.org>
> >> > wrote:
> >> >>
> >> >> Hi Marius,
> >> >>
> >> >> > The state of a typical input text contains the following 4
> attributes
> >> >> > (both
> >> >> > the keys and the values): valid, value, localValueSet and
> >> >> > submittedValue.
> >> >> > Value and submittedValue may be null, in this case only the keys
> are
> >> >> > contained in the state. Valid and localValueSet are boolean
> >> properties.
> >> >> > I
> >> >> > measured the state of an input text to be approximately 300 B. If
> >> >> > this
> >> >> > is in
> >> >> > a table, you need to multiply it by the number of rows in that
> table.
> >> >>
> >> >> why are the keys contained in the state if the thing is null? null is
> >> >> the default value, we should probably not state save this case. Same
> >> >> with the default values of valid and localValueSet...
> >> >>
> >> >> best regards,
> >> >>
> >> >> Martin
> >> >>
> >> >> > On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek
> >> >> > <mm...@apache.org>
> >> >> > wrote:
> >> >> >>
> >> >> >> 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 <
> lu4242@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 <mm...@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
> >> >> >> >>>> <ma...@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
> >> >> >> >>>> > <mm...@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
> >> >> >> >>>> >> >> <ma...@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
> >> >> >> >>>> >> >> > <lu...@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 <ma...@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
> >> >> >> >>>> >> >> >>> <mm...@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.petoi@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
> >> >> >> >>>> >> >> >>>> > <mm...@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.petoi@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
> >> >> >> >>>> >> >> >>>> >> > <mm...@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
> >> >> >> >>>> >> >> >>>> >> >> <ma...@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
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >>
> >> >> 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
>