>From: <[EMAIL PROTECTED]> > > I think that the second loop is needed when using Shale Tiger so I think > is better put this code in shale-tiger.jar. In this way, developer (like > me) not using tiger extension does not need it. > > Are u agree? >
Yeah, the ViewControllerCallbacks2 class is in the tiger library and overrides behavior in the view library. > > > > -----Original Message----- > From: Gary VanMatre [mailto:[EMAIL PROTECTED] > Sent: 26 giugno 2007 05.38 > To: dev@shale.apache.org > Subject: Re: Any one plans to fix SHALE-409 bug? > > >From: > > > > > > > > I have successfully tested to comment the second loop: > > > > // Second select all remaining instances, which will include > > annotated > > > > // managed beans if Shale Tiger is present > > > > /* > > > > entries = map.entrySet().iterator(); > > > > while (entries.hasNext()) { > > > > Map.Entry entry = (Map.Entry) entries.next(); > > > > if (!list.contains(entry.getKey())) { > > > > list.add(entry.getKey()); > > > > } > > > > }*/ > > > > > > > > Is there any one can try it and plans to release the fix? > > > > > The problem with commenting out this loop is that we might > break someone else's application. The second loop forces > the destroy method to be invoked for beans with the @Destroy > annotation before the response has completed and the faces > context released. > > I've been looking at this one off and on. At first I thought we > could just invoke the LifecycleListener from the ViewPhaseListener > but we don't have ServletContextEvent there. > > Another option might be to add a destroy method to the > ViewControllerCallbacks class. This utility bean is registered as > a managed bean. The tiger library overrides the registered bean > to look for the @Preprocess and @Prerender runtime method > annotations. The ViewControllerCallbacks2 class would inspect > for the @Destroy annotation or the other interfaces. > > We could remove the second loop and modify the first to use the > ViewControllerCallbacks bean. > > Consider: > // First select all the ViewController and AbstractRequestBean > instances > > while (entries.hasNext()) { > Map.Entry entry = (Map.Entry) entries.next(); > if > (getViewControllerCallbacks(event.getFacesContext()).hasDestroy(entry.ge > tValue())) { > list.add(entry.getKey()); > } > } > > > What do you think? > > > > > > > > Can I help you? > > > > > > > > Thanks in advance > > > > Mario > > > > > > > > > > > > This message is for the designated recipient only and may contain > privileged, > > proprietary, or otherwise private information. If you have received it > in > > error, please notify the sender immediately and delete the original. > Any other > > use of the email by you is prohibited. > > > > > This message is for the designated recipient only and may contain privileged, > proprietary, or otherwise private information. If you have received it in > error, please notify the sender immediately and delete the original. Any > other > use of the email by you is prohibited.