Ok. Ill try to file an issue. And provide some understandable description/test case.
S -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthias Wessendorf Sent: 1. lokakuuta 2008 14:11 To: MyFaces Discussion Subject: Re: [Trinidad] Strange behaviour of the pageFlowScope On Wed, Oct 1, 2008 at 8:02 AM, Luhtala Santeri <[EMAIL PROTECTED]> wrote: > Ok. Sorry. I checked that also and it seems ok. > The 'to' EL string is "#{pageFlowScope.original}". I wonder why it still checks the base type and therefore throws the exception. Is it possible to a) file a jira issue and b) create a *simple* re-produceable test-case? That makes it easier to debug the issue. That said I am not really free (in meaning of time) to jump in right now -M > > S > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthias > Wessendorf > Sent: 30. syyskuuta 2008 17:27 > To: MyFaces Discussion > Subject: Re: [Trinidad] Strange behaviour of the pageFlowScope > > It would be worth to start a debugger to see > a) what the EL string is like (e.g. #{bean.blah}) > > On Tue, Sep 30, 2008 at 3:43 PM, Luhtala Santeri > <[EMAIL PROTECTED]> wrote: >> I double/triple checked that everything is cleared twice. Still the same >> problem... >> >> I found out though that when dialog is launched via commandLink then when >> returning to returnListener method the pageFlowScope is clean. But when it >> is launched without commandLink and when coming back to returnListener >> theres stuff in pageFlowScope. Then when I call pageFlowScope.clear() theres >> still some children left... (Meaning theres something in the TokenCache) >> This might be the reason. >> >> But how to get rid of the children? >> >> S >> >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matthias >> Wessendorf >> Sent: 30. syyskuuta 2008 11:49 >> To: MyFaces Discussion >> Subject: Re: [Trinidad] Strange behaviour of the pageFlowScope >> >> Hi, >> >>> >>> java.lang.IllegalArgumentException: Cannot convert com.xxx.ui.policy. >>> >>> [EMAIL PROTECTED] of type class com.xxx.ui.policy.mode >>> >>> l.UiModelA to class com.xxx.ui.policy.model.UiModelB >>> >>> at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:381) >>> >>> at com.sun.el.parser.AstValue.setValue(AstValue.java:164) >>> >>> at >>> com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:269) >>> >>> >>> >>> at >>> com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.ja >>> >>> va:93) >>> >>> at >>> com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.ja >>> >>> va:68) >>> >>> at >>> org.apache.myfaces.trinidad.event.SetActionListener.processAction(Set >>> >>> ActionListener.java:59) >> >> >> here, in line 59, is where the "class cast exception" happens. >> It tries to update an EL value (setValue()). >> >> It would be worth to start a debugger to see >> a) the EL string (#{bean.blah} >> b) double check if something wasn't cleaned up >> >> -Matthias >> >>> >>> at >>> javax.faces.event.ActionEvent.processListener(ActionEvent.java:51) >>> >>> at >>> org.apache.myfaces.trinidad.component.UIXComponentBase.broadcast(UIXC >>> >>> omponentBase.java:628) >>> >>> at >>> org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand >>> >>> .java:143) >>> >>> at javax.faces.component.UIData.broadcast(UIData.java:517) >>> >>> at javax.faces.component.UIData.broadcast(UIData.java:517) >>> >>> at >>> javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:9 >>> >>> 7) >>> >>> at >>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1 >>> >>> 71) >>> >>> at >>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(Invoke >>> >>> ApplicationExecutor.java:32) >>> >>> at >>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl >>> >>> .java:95) >>> >>> at >>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java >>> >>> :70) >>> >>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) >>> >>> at >>> com.profitsoftware.ui.CustomFacesServlet.service(CustomFacesServlet.j >>> >>> ava:44) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487 >>> >>> ) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet >>> >>> Handler.java:1093) >>> >>> at >>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invoke >>> >>> DoFilter(TrinidadFilterImpl.java:250) >>> >>> at >>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilt >>> >>> erImpl(TrinidadFilterImpl.java:207) >>> >>> at >>> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilte >>> >>> r(TrinidadFilterImpl.java:161) >>> >>> at >>> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFi >>> >>> lter.java:92) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet >>> >>> Handler.java:1084) >>> >>> at >>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(Extensions >>> >>> Filter.java:301) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet >>> >>> Handler.java:1084) >>> >>> at >>> com.profitsoftware.jaasutils.jetty.WLFilter$SecuredRequest.run(WLFilt >>> >>> er.java:72) >>> >>> at java.security.AccessController.doPrivileged(Native Method) >>> >>> at javax.security.auth.Subject.doAs(Subject.java:337) >>> >>> at >>> com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118) >>> >>> at >>> com.profitsoftware.jaasutils.jetty.WLFilter$WASSecuredRequest.run(WLF >>> >>> ilter.java:49) >>> >>> at weblogic.security.subject.SubjectProxy.doAs(SubjectProxy.java:64) >>> >>> at >>> weblogic.security.subject.SubjectManager.runAs(SubjectManager.java:26 >>> >>> 2) >>> >>> at weblogic.security.Security.runAs(Security.java:48) >>> >>> at >>> com.profitsoftware.jaasutils.jetty.WLFilter.doFilter(WLFilter.java:14 >>> >>> 0) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet >>> >>> Handler.java:1084) >>> >>> at >>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3 >>> >>> 60) >>> >>> at >>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav >>> >>> a:216) >>> >>> at >>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1 >>> >>> 81) >>> >>> at >>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7 >>> >>> 26) >>> >>> at >>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >>> >>> >>> >>> at >>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand >>> >>> lerCollection.java:206) >>> >>> at >>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection. >>> >>> java:114) >>> >>> at >>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1 >>> >>> 52) >>> >>> at org.mortbay.jetty.Server.handle(Server.java:324) >>> >>> at >>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50 >>> >>> 5) >>> >>> at >>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio >>> >>> n.java:842) >>> >>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648) >>> >>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) >>> >>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) >>> >>> at >>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja >>> >>> va:395) >>> >>> at >>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool >>> >>> .java:450) >>> >>> ] >>> >>> ... >>> >>> >>> >>> Hope this helps. >>> >>> >>> >>> Santeri >>> >>> >>> >>> >>> >>> -----Original Message----- >>> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of >>> Matthias Wessendorf >>> Sent: 29. syyskuuta 2008 19:28 >>> To: MyFaces Discussion >>> Subject: Re: [Trinidad] Strange behaviour of the pageFlowScope >>> >>> >>> >>> On Mon, Sep 29, 2008 at 9:42 AM, Luhtala Santeri >>> >>> <[EMAIL PROTECTED]> wrote: >>> >>>> Hmm. Nobody seems to know or want share his/her knowledge about >>> >>>> pageFlowScope... >>> >>> :-) Not everybody is reading mails over the weekend ;-) >>> >>>> >>> >>>> >>> >>>> >>> >>>> Is there any decent documentation about this? I know the the docs in >>>> Myfaces >>> >>>> site but they don't quite explain how and what happens with pageFlowScope >>> >>>> when navigating back and forth and if the dialog is not launched with some >>> >>>> action... >>> >>> >>> >>> the execption is caused by EL engine, when trying to use update >>> >>> incompatible values. >>> >>> >>> >>> Can you >>> >>> a) provide a more detailed stack trace >>> >>> b) some code examples that work and that don't work >>> >>> >>> >>> clear is just a java.util.Map.clear() delegation. So code would be good, >>> >>> to understand the problem better >>> >>>> >>> >>>> >>> >>>> >>> >>>> S >>> >>>> >>> >>>> >>> >>>> >>> >>>> ________________________________ >>> >>>> >>> >>>> From: Luhtala Santeri >>> >>>> Sent: 26. syyskuuta 2008 9:21 >>> >>>> To: MyFaces Discussion >>> >>>> Subject: [Trinidad] Strange behaviour of the pageFlowScope >>> >>>> >>> >>>> >>> >>>> >>> >>>> We have couple of pretty similar dialogs in our app. Stuff is passed to >>> >>>> dialog via pageFlowScope. In some situations the objects are passed using >>> >>>> tr:setActionListener-tag with commandLink and then the actual launching is >>> >>>> done in Java and in some cases the dialog is launched from Java-code and >>>> the >>> >>>> values are set to pageFlowScope also there(So no commandLinks). >>> >>>> >>> >>>> >>> >>>> >>> >>>> I have a strange exception. If I have launched the dialog from Java-code >>>> and >>> >>>> have set the values to pageFlowScope also there, then when I have done the >>> >>>> stuff in dialog and exit the dialog's scope and clear the pageFlowScope it >>> >>>> seems to clear it ok. But, when I open the other similar kind of >>>> dialog(from >>> >>>> commandLink) then we crash with this: >>> >>>> >>> >>>> .... >>> >>>> >>> >>>> java.lang.IllegalArgumentException: Cannot convert com.xxx.ui.policy. >>> >>>> >>> >>>> [EMAIL PROTECTED] of type class com.xxx.ui.policy.model >>> >>>> >>> >>>> . UiModelA to class com.xxx.ui.policy.model.UiModelB >>> >>>> >>> >>>> at com.sun.el.lang.ELSupport.coerceToType(ELSupport.java:381) >>> >>>> >>> >>>> at com.sun.el.parser.AstValue.setValue(AstValue.java:164) >>> >>>> >>> >>>> at >>> >>>> com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:269) >>> >>>> >>> >>>> .... >>> >>>> >>> >>>> When the dialog is launched via commandLink and values are set to >>> >>>> pageFlowScope with tr:setActionListener then theres no problem....!!!??? So >>> >>>> what does this tr:setActionListener do actually?? >>> >>>> >>> >>>> >>> >>>> >>> >>>> We use the same 'key' (like "selected") when setting values to >>>> pageFlowScope >>> >>>> with both dialogs. But this shouldn't matter? Right? And after all the >>> >>>> pageFlowScope is just some sort of Map. What does this >>>> pageFlowScope.clear() >>> >>>> actually do? And how can this be dependent of the type? I don't get this... >>> >>>> >>> >>>> >>> >>>> >>> >>>> Santeri >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> Matthias Wessendorf >>> >>> >>> >>> blog: http://matthiaswessendorf.wordpress.com/ >>> >>> sessions: http://www.slideshare.net/mwessendorf >>> >>> twitter: http://twitter.com/mwessendorf >> >> >> >> -- >> Matthias Wessendorf >> >> blog: http://matthiaswessendorf.wordpress.com/ >> sessions: http://www.slideshare.net/mwessendorf >> twitter: http://twitter.com/mwessendorf >> > > > > -- > Matthias Wessendorf > > blog: http://matthiaswessendorf.wordpress.com/ > sessions: http://www.slideshare.net/mwessendorf > twitter: http://twitter.com/mwessendorf > -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf