+1! tell us how much this changes...
best regards, Martin On Fri, Jul 23, 2010 at 12:23 PM, Marius Petoi <marius.pe...@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 <mmarinsc...@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 >> > <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 >> > >> > >> >> >> >> -- >> >> 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