Hi Martin, 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.
Regards, Marius On Fri, Jul 23, 2010 at 6:07 AM, Martin Marinschek <mmarinsc...@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 <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 >