Return-Path: Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: (qmail 84396 invoked from network); 21 Jul 2010 12:50:48 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Jul 2010 12:50:48 -0000 Received: (qmail 24977 invoked by uid 500); 21 Jul 2010 12:50:47 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 24755 invoked by uid 500); 21 Jul 2010 12:50:45 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 24748 invoked by uid 99); 21 Jul 2010 12:50:44 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Jul 2010 12:50:44 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of martin.marinschek@gmail.com designates 209.85.161.53 as permitted sender) Received: from [209.85.161.53] (HELO mail-fx0-f53.google.com) (209.85.161.53) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Jul 2010 12:50:37 +0000 Received: by fxm19 with SMTP id 19so3534465fxm.12 for ; Wed, 21 Jul 2010 05:49:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:sender:received :in-reply-to:references:date:x-google-sender-auth:message-id:subject :from:to:content-type:content-transfer-encoding; bh=E/pPVCdwy/HNITK94NvavAAVb8Ux44pNU+epaRVjUFQ=; b=Rkp+bHC5JjXwZO2sTzbWPlio+r91mYpDfvcLhFjGCqWfMpKj5+DLYkZabbUHrp2Vu/ IFluzuwcVrNkW1nOGTYHpBTpBdJNKYKn/oetV9a18JCJzDNYpJqbe2J4802r+7Out/E7 ZPOEeFpz3uDMRPicCzNl6gaGIMc2BfOiL21Us= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=iiqZkVjtLN/rBR7Eod/gy8w0F6e70LdwKN+GZDBNlBm7C5F2blev8VYJqEzkVxEoud up7IFvTuQIP0xWi6JvmBdfrXzNRfAN8SpTvFeEsKh4OzAIii3KZZn8l1oz002yHM1MdA gGmdBquiPBh2joh9yEOT5jjyY6LKA0JwtJXjc= MIME-Version: 1.0 Received: by 10.239.155.74 with SMTP id h10mr12884hbc.30.1279716557455; Wed, 21 Jul 2010 05:49:17 -0700 (PDT) Sender: martin.marinschek@gmail.com Received: by 10.239.148.81 with HTTP; Wed, 21 Jul 2010 05:49:17 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Jul 2010 14:49:17 +0200 X-Google-Sender-Auth: sata6TMTLHbZpglYV6s44yYRqss Message-ID: Subject: Re: [GSOC] State saving status after first improvements From: Martin Marinschek To: MyFaces Development Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Hi Marius > --> Full state saving means setting the context parameter > javax.faces.PARTIAL_STATE_SAVING to false. This is all, right? I've notic= ed > 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=B4s 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 >> 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 cou= ld >> > improve the _childState table (which is included in the saved state) t= o >> > 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 >> > 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 bette= r >> >> documentation in that issue soon, so we can review it and make >> >> comments. >> >> >> >> regards, >> >> >> >> Leonardo Uribe >> >> >> >> 2010/7/19 Marius Petoi >> >>> >> >>> 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 t= he >> >>> 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" stat= e. >> >>> This means that only states for the rows which are different from th= e >> >>> 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 ha= ve >> >>> no >> >>> state saved (at least not in the first phase - we could think that i= f >> >>> something appears in all the rows of _rowStates for a componentt, th= en >> >>> 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 >> >>> 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 f= or >> >>>> 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 te= am >> >>>> will not be able to get this done. >> >>>> >> >>>> best regards, >> >>>> >> >>>> Martin >> >>>> >> >>>> On 7/14/10, Marius Petoi wrote: >> >>>> > I placed a breakpoint in >> >>>> > DefaultFaceletsManagementStrategy.saveStateOnMap, >> >>>> > in the point where saveState is called for each component. That i= s >> >>>> > 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 >> >>>> > 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 wrote: >> >>>> >> > Hi Martin, >> >>>> >> > >> >>>> >> > I think you mean for the attributes that I say are added befor= e >> >>>> >> > 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 reaso= n >> >>>> >> > 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 >> >>>> >> > wrote: >> >>>> >> > >> >>>> >> >> Hi Marius, >> >>>> >> >> >> >>>> >> >> you are sounding a bit unsure about this - did you really che= ck >> >>>> >> >> what >> >>>> >> >> is in the partial state at the end of the lifecycle? >> >>>> >> >> >> >>>> >> >> best regards, >> >>>> >> >> >> >>>> >> >> Martin >> >>>> >> >> >> >>>> >> >> On 7/14/10, Marius Petoi wrote: >> >>>> >> >> > Hello, >> >>>> >> >> > >> >>>> >> >> > After the improvements we discussed in previous threads, he= re >> >>>> >> >> > 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 th= e >> >>>> >> >> > initial >> >>>> >> >> state >> >>>> >> >> > is marked, so I think it does not affect partial state savi= ng >> >>>> >> >> > >> >>>> >> >> > - same goes for locale, uniqueIdCounter, renderKitId, >> >>>> >> >> > rendererType, >> >>>> >> >> > which >> >>>> >> >> > are also attributes in the StateHelper, but are added befor= e >> >>>> >> >> > the >> >>>> >> >> > call >> >>>> >> to >> >>>> >> >> > markInitialState(). So they also shouldn't be included in t= he >> >>>> >> >> > 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 > > --=20 http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces