[prev in list] [next in list] [prev in thread] [next in thread] 

List:       myfaces-user
Subject:    Re: FW: Re: CODI ViewAccessScope use-case in use-case approach
From:       Gerhard Petracek <gerhard.petracek () gmail ! com>
Date:       2011-09-08 20:39:32
Message-ID: CAGJtJfHdyD9PKF0eOxB9BMdxcq+CzzwGyAoFi9fi99OxF4-S=w () mail ! gmail ! com
[Download RAW message or body]


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 <Steven.Rudolf@web.de>

> 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" <gerhard.petracek@gmail.com>
> Gesendet: Sep 1, 2011 11:43:15 PM
> An: "MyFaces Discussion" <users@myfaces.apache.org>
> 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 <Steven.Rudolf@web.de>
> > 
> > > 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" <gerhard.petracek@gmail.com>
> > > Gesendet: Aug 30, 2011 2:19:47 PM
> > > An: "MyFaces Discussion" <users@myfaces.apache.org>
> > > 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 <Steven.Rudolf@web.de>
> > > > 
> > > > > 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" <gerhard.petracek@gmail.com>
> > > > > Gesendet: Aug 29, 2011 4:58:13 PM
> > > > > An: "MyFaces Discussion" <users@myfaces.apache.org>
> > > > > 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 <Steven.Rudolf@web.de>
> > > > > > 
> > > > > > > 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" <Steven.Rudolf@web.de>
> > > > > > > Gesendet: Aug 29, 2011 4:21:36 PM
> > > > > > > An: "MyFaces Discussion" <users@myfaces.apache.org>
> > > > > > > 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" <gerhard.petracek@gmail.com>
> > > > > > > > Gesendet: Aug 29, 2011 3:20:09 PM
> > > > > > > > An: "MyFaces Discussion" <users@myfaces.apache.org>
> > > > > > > > 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 <Steven.Rudolf@web.de>
> > > > > > > > > 
> > > > > > > > > > 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
> 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic