hi steven, yes - now i see it as well. please file a myfaces-core issue at [1].
thx & regards, gerhard [1] https://issues.apache.org/jira/browse/MYFACES http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2011/9/8 Steven Rudolf <[email protected]> > Hello Gerhard, > > sorry that I not answered for so long. It was hard to reproduce the error I > got. > Now, finally, I found the error-producing configuration. > > If I set the MyFaces library to "development"-Mode via the > web.xml-paramter: > > <context-param> > <param-name>javax.faces.PROJECT_STAGE</param-name> > <param-value>Development</param-value> > </context-param> > AND I have view-Parameter in my Xhtml-Page, then the following behaviour > takes happen: > > I can open a new view (useCaseA.xhtml) and this will create a new bean. > (useCaseABean). > Then I go to the shared use case and a new sharedUseCaseBean will be > created. > No I go back and in the Restore-View-Phase the old useCaseABean will be > destroyed and a new one will be created. > > In UseCase B are no viewParameter and if I do the same actions in the > UseCase B then the old bean is not destroyed while going back from the > shared UseCase. > > I do not know exactly, which component in the application is responsible > for this behaviour. Since it depends on the PROJECT_STAGE parameter I think > it is the myFaces library. > Can you reproduce it with this setting? > Greetings from Stuttgart, > Steven > > > -----Ursprüngliche Nachricht----- > Von: "Gerhard Petracek" <[email protected]> > Gesendet: Sep 1, 2011 11:43:15 PM > An: "MyFaces Discussion" <[email protected]> > Betreff: Re: FW: Re: CODI ViewAccessScope use-case in use-case approach > > >hi steven, > > > >i've created a branch of the example (called viewparams) which illustrates > >the described use-case. > >i used the configured jetty plugin, but i can't reproduce the issue. > > > >regards, > >gerhard > > > >http://www.irian.at > > > >Your JSF powerhouse - > >JSF Consulting, Development and > >Courses in English and German > > > >Professional Support for Apache MyFaces > > > > > > > >2011/9/1 Steven Rudolf <[email protected]> > > > >> Hello Gerhard, > >> > >> thanks a lot for your help. > >> I tried out your example and it works fine. Of course :-) > >> > >> I tried to apply the logic to my own application and I was hopping mad > >> because I could not get it work! > >> Now I realised, that my problem is the viewParameter in my view. > >> > >> If I insert in your useCaseA.xhtml the following section (and of course > the > >> value with getter and setter in the bean class): > >> <f:metadata> > >> <f:viewParam name="value" value="#{useCaseBeanA.value}" /> > >> </f:metadata> > >> > >> Now the useCaseBeanA will be instantiate everytime I link to the > >> useCaseA.xhtml. (with faces-redirect) > >> Could you reproduce it? > >> > >> btw. I use the IBM WebSphere Application Server 8 (with apache myfaces > as > >> JSF implementation). I could not get it work with jetty. > >> > >> Kind regards, > >> Steven > >> > >> > >> -----Ursprüngliche Nachricht----- > >> Von: "Gerhard Petracek" <[email protected]> > >> Gesendet: Aug 30, 2011 2:19:47 PM > >> An: "MyFaces Discussion" <[email protected]> > >> Betreff: Re: FW: Re: CODI ViewAccessScope use-case in use-case approach > >> > >> >hi steven, > >> > > >> >i've created a small demo [1] (including some comments) which > illustrates > >> a > >> >possible solution. > >> > > >> >regards, > >> >gerhard > >> > > >> >[1] http://s.apache.org/Oaz > >> > > >> >http://www.irian.at > >> > > >> >Your JSF powerhouse - > >> >JSF Consulting, Development and > >> >Courses in English and German > >> > > >> >Professional Support for Apache MyFaces > >> > > >> > > >> >2011/8/30 Steven Rudolf <[email protected]> > >> > > >> >> Hello Gerhard, > >> >> > >> >> thanks for your effort! > >> >> Yes, Sorry, I described it not very well. I am really searching for a > >> >> generic solution. > >> >> I have many use-cases of type A and three or four use cases of type B > >> for > >> >> searching some entities. I do not want to inject all of the > A-type-beans > >> >> into the B-type-beans because I want to code the B-types > independently > >> from > >> >> the calling use-cases. Therefore I tried to use the > "useCaseLinkBean". > >> >> > >> >> Kind regards, > >> >> Steven > >> >> > >> >> > >> >> -----Ursprüngliche Nachricht----- > >> >> Von: "Gerhard Petracek" <[email protected]> > >> >> Gesendet: Aug 29, 2011 4:58:13 PM > >> >> An: "MyFaces Discussion" <[email protected]> > >> >> Betreff: Re: FW: Re: CODI ViewAccessScope use-case in use-case > approach > >> >> > >> >> >hi steven, > >> >> > > >> >> >that would make sense if it's a generic engine. if it isn't that > >> generic, > >> >> >you could directly inject "bean a" into "bean b" and access it. > >> >> >if you really access e.g. #toString of the "callerBean" it should > work. > >> >> > > >> >> >the alternative depends on further details of your application and > >> >> >use-cases. > >> >> > > >> >> >if you aren't allowed to provide details about your application, we > >> could > >> >> >talk about the concrete constellation in our irc channel (afterwards > we > >> >> post > >> >> >the basic solution). > >> >> > > >> >> >regards, > >> >> >gerhard > >> >> > > >> >> >http://www.irian.at > >> >> > > >> >> >Your JSF powerhouse - > >> >> >JSF Consulting, Development and > >> >> >Courses in English and German > >> >> > > >> >> >Professional Support for Apache MyFaces > >> >> > > >> >> > > >> >> >2011/8/29 Steven Rudolf <[email protected]> > >> >> > > >> >> >> Oh, I am deeply sorry for the bad format! > >> >> >> I hope you can read it better now: > >> >> >> > >> >> >> Hello Gerhard, thanks for the fast answer! > >> >> >> > >> >> >> I have an a.view with a commandlink like this: > >> >> >> <h:commandlink > >> action="#{useCaseLinkBean.accessUseCase('foreignUseCase', > >> >> >> aBean")}" /> > >> >> >> > >> >> >> Then I have the useCaseLinkBean which handles the "routing" > between > >> the > >> >> >> usecases with the method: > >> >> >> public String accessUseCase(final String accessLink, final > >> UseCaseCaller > >> >> >> callerBean) { > >> >> >> this.callerBean = callerBean; > >> >> >> return accessLink + "?faces-redirect=true"; > >> >> >> } > >> >> >> > >> >> >> Now on the b.view I access the aBean in two ways. > >> >> >> The first is an outputText: > >> >> >> <h:outputText value="I came from #{useCaseLinkBean.callerBean}" /> > >> >> >> > >> >> >> And the second is the back-link via a commandButton: > >> >> >> <h:commandButton > >> >> >> > >> >> > >> > action="#{useCaseLinkBean.callerBean.returnWithResult(bBean.returnObject)}" > >> >> >> /> > >> >> >> > >> >> >> Do I have to access the aBean in some other way to not break the > >> >> >> assignement of aView to aBean instance? > >> >> >> The using of a "routing" bean is not so clever as well. Maybe > there > >> is a > >> >> >> more elegant way? > >> >> >> > >> >> >> Greetings from Stuttgart, > >> >> >> Steven > >> >> >> > >> >> >> > >> >> >> > >> >> >> -----Ursprüngliche Nachricht----- > >> >> >> Von: "Steven Rudolf" <[email protected]> > >> >> >> Gesendet: Aug 29, 2011 4:21:36 PM > >> >> >> An: "MyFaces Discussion" <[email protected]> > >> >> >> Betreff: Re: CODI ViewAccessScope use-case in use-case approach > >> >> >> > >> >> >> >Hello Gerhard, thanks for the fast answer! I have an a.view with > a > >> >> >> commandlink like this: Then I have the useCaseLinkBean which > handles > >> the > >> >> >> "routing" between the usecases the method: public String > >> >> accessUseCase(final > >> >> >> String accessLink, final UseCaseCaller callerBean) { > this.callerBean > >> = > >> >> >> callerBean; return accessLink + "?faces-redirect=true"; } Now on > the > >> >> b.view > >> >> >> I access the aBean in two ways. The first is an outputText: And > the > >> >> second > >> >> >> is the back-link via a commandButton: Do I have to access the > aBean > >> in > >> >> some > >> >> >> other way to not break the assignement of aView to aBean instance? > >> The > >> >> using > >> >> >> of a "routing" bean is not so clever as well. Maybe there is a > more > >> >> elegant > >> >> >> way? Greetings from Stuttgart, Steven > >> >> >> > > >> >> >> > > >> >> >> >-----Ursprüngliche Nachricht----- > >> >> >> >Von: "Gerhard Petracek" <[email protected]> > >> >> >> >Gesendet: Aug 29, 2011 3:20:09 PM > >> >> >> >An: "MyFaces Discussion" <[email protected]> > >> >> >> >Betreff: Re: CODI ViewAccessScope use-case in use-case approach > >> >> >> > > >> >> >> >>hi steven, > >> >> >> >> > >> >> >> >>first of all: welcome @ myfaces! > >> >> >> >> > >> >> >> >>please provide more information on how you touch the bean of > your > >> >> first > >> >> >> >>use-case (A). > >> >> >> >> > >> >> >> >>regards, > >> >> >> >>gerhard > >> >> >> >> > >> >> >> >>http://www.irian.at > >> >> >> >> > >> >> >> >>Your JSF powerhouse - > >> >> >> >>JSF Consulting, Development and > >> >> >> >>Courses in English and German > >> >> >> >> > >> >> >> >>Professional Support for Apache MyFaces > >> >> >> >> > >> >> >> >> > >> >> >> >>2011/8/29 Steven Rudolf <[email protected]> > >> >> >> >> > >> >> >> >>> Hello, > >> >> >> >>> > >> >> >> >>> I'm using CODI (v 1.0.1) and I'm loving the ViewAccessScope > >> becaue > >> >> it > >> >> >> is > >> >> >> >>> really easy to program my use cases if I know, that the beans > >> will > >> >> >> clean up > >> >> >> >>> if I don't access them anymore after redirecting to the next > >> view. > >> >> So > >> >> >> mainly > >> >> >> >>> all my beans are ViewAccessScope and the transfer of values > >> between > >> >> >> screens > >> >> >> >>> works with viewParams. > >> >> >> >>> > >> >> >> >>> Now I have an "use case in use case" approach, where I have to > >> link > >> >> >> from > >> >> >> >>> one use case (A) to another screen (B) only for searching an > >> entity > >> >> and > >> >> >> then > >> >> >> >>> link back to the calling use case (A). I realized it with a > >> simple > >> >> >> redirect > >> >> >> >>> and I access the A-Bean from the B-view with a ping-method so > >> that > >> >> the > >> >> >> >>> A-Bean will not be destroyed. But if I link back to the A-view > >> then > >> >> a > >> >> >> new > >> >> >> >>> A-Bean will be created because the A-view doesn't know the old > >> >> A-Bean > >> >> >> >>> anymore. > >> >> >> >>> > >> >> >> >>> I think that the assignement of bean to view is destroyed > after > >> >> >> redirecting > >> >> >> >>> to B-view so that the render of A-view will create a new > A-Bean. > >> >> After > >> >> >> >>> looking to the CODI sources I think that will be done in > >> >> >> >>> > >> >> >> > >> >> > >> > org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.ViewAccessConversationExpirationEvaluator. > >> >> >> >>> > >> >> >> >>> How can I program my use-case? Is there a > >> >> >> >>> ViewAccess-ExceptOneSpecialLink-Scope poossible? Maybe I can > >> write a > >> >> >> >>> PhaseListener where I can plant the old A-Bean to the new > >> rendered > >> >> >> A-view? > >> >> >> >>> > >> >> >> >>> Respectfully, > >> >> >> >>> Steven Rudolf > >> >> >> >>> > >> >> >> >>> ___________________________________________________________ > >> >> >> >>> Schon gehört? WEB.DE hat einen genialen Phishing-Filter in > die > >> >> >> >>> Toolbar eingebaut! http://produkte.web.de/go/toolbar > >> >> >> >>> > >> >> >> > > >> >> >> > >> >> >> > >> >> >> ___________________________________________________________ > >> >> >> Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die > >> >> >> Toolbar eingebaut! http://produkte.web.de/go/toolbar > >> >> >> > >> >> > >> >> > >> >> ___________________________________________________________ > >> >> Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die > >> >> Toolbar eingebaut! http://produkte.web.de/go/toolbar > >> >> > >> > >> > >> ___________________________________________________________ > >> Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die > >> Toolbar eingebaut! http://produkte.web.de/go/toolbar > >> > > > ___________________________________________________________ > Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die > Toolbar eingebaut! http://produkte.web.de/go/toolbar >

