Hm flowScope must not be defined, as the DelegatingVariableResolver from SWF look all scopes for it. However i think i've got it:
The Flow is managed through a phaseListener from SWF, which does its work in RenderRespone Phase. Changed my bean setup and now i guess i've got it: The listener gets invoked in phase 5, invoke application, but the bean is not yet there as the flow gets started at phase 6 - so the updateActionListenerCommand does not find the bean, its not there yet. I'll go to the spring webflow folks and try to get some help there about this :-) thx. Torsten Am Montag, den 23.04.2007, 16:36 +0000 schrieb Gary VanMatre: > >Yeah did saw it after writing the mail. > >However - the updateActionListener is working - but not the way i > >expect. > > > >I am using a bean named "edit" with Springs Webflow, bean is stored > in > >flow Scope. > > > >Using the updateActionListener, the bean where the setter gets called > >with the correct value is not the instance, which is used by my flow > >(debugged this, the beans are not at the same "memory place"). > >Confusing. > > > >I only got an example for jsf 1.2 setPropertyActionListener > >http://forum.springframework.org/showthread.php?t=37504 . > > > >Thought it should work with updateActionListener too. > >Don't know where things break - will investigate this a little bit. > >Could it be so hard to got some "master-detail" design with JSF+SWF?M > > > >Maybe - as i am trying to tie differen t thin gs together (Clay, > Tomahawk > >and SWF) i can t say which one i can blame - maybe you have some > thought > >about it? > > > > I've not used SWF but I think you need to qualify the EL with some > kind of context to find the flowScope (#{flowScope.mybean}). > > It might also have to do with how SWF is tracking the current view and > the state of the view. Shale dialog uses a generated ID that gets > added to the view root as an attribute. > I just don't know enough about SWF to make a good guess but if it's a > problem with the state tracking, it might be that Shale has overridden > a hook that SWF also needs. > > > >Torsten > > Gary > > E-Mail-Nachricht-Anlage > > -------- Weitergeleitete Nachricht -------- > > Von: Torsten Krah <[EMAIL PROTECTED]> > > An: user@shale.apache.org > > Betreff: Re: componentType="override" > > Datum: Mon, 23 Apr 2007 15:53:43 +0000 > > > > Yeah did saw it after writing the mail. > > However - the updateActionListener is working - but not the way i > > expect. > > > > I am using a bean named "edit" with Springs Webflow, bean is stored in > > flow Scope. > > > > Using the updateActionListener, the bean where the setter gets called > > with the correct value is not the instance, which is used by my flow > > (debugged this, the beans are not at the same "memory place"). > > Confusing. > > > > I only got an example for jsf 1.2 setPropertyActionListener > > http://forum.springframework.org/showthread.php?t=37504 . > > > > Thought it should work with updateActionListener too. > > Don't know where things break - will investigate this a little bit. > > Could it be so hard to got some "master-detail" design with JSF+SWF? > > > > Maybe - as i am trying to tie different things together (Clay, Tomahawk > > and SWF) i can t say which one i can blame - maybe you have some thought > > about it? > > > > Torsten > > > > Am Montag, den 23.04.2007, 15:05 +0000 schrieb Gary VanMatre: > > > >Did it, but now i get: > > > > > > > >java.lang.RuntimeException: javax.faces.FacesException: Undefined > > > >component type > > > >org.apache.myfaces.custom.updateactionlistener.UpdateActionListener > > > >org.apache.shale.clay.component.Clay.encodeBegin(Clay.java:393) > > > > > > > >org.apache.shale.clay.component.Clay.recursiveRenderChildren(Clay.java:415) > > > > > > > >org.apache.shale.clay.component.Clay.recursiveRenderChildren(Clay.java:418) > > > > > > > >The chain is there, my chain class too. > > > > > > > > > > > ><component jsfid="t:updateActionListener" > > > > > > > >componentType="org.apache.myfaces.custom.updateactionlistener.UpdateActionListener" > > > > extends="baseComponent"> > > > > <attributes> > > > > <set name="propertyBinding" > > > bindingType="VB"></set> > > > > <set name="valueBinding" bindingType="VB"></set> > > > > <set name="converter" bindingType="VB"></set> > > > > </attributes> > > > ></component> > > > > > > > >Definition of the component. > > > > > > > >Whats missing? Why i get undefined componentType? > > > > > > > > > > You are trying to use the action listener as a component. You need to > > > nest the action listener under the command component. > > > > > > > > > > > > <component jsfid="mybutton" extends="t:commandButton"> > > > .... > > > > > > <actionListener jsfid="t:updateActionListener"/> > > > > > > </component> > > > > > > > > > > > > > > > > > >Torsten > > > > > > > > > Gary > > > > > > > > > Am Freitag, den 13.04.2007, 18:48 +0000 schrieb Gary VanMatre: > > > > >I am trying to use the updateActionListener from Tomahawk, using > > > > >Hermods > > > > >tomahawk 1.1.5 Snapshot xml for clay. > > > > > > > > > >But i get this exception: > > > > > > > > > >[18189 2007-04-13 > > > > > > > >18:33:17,488](org.apache.myfaces.application.ApplicationImpl)**ERROR**{org.apac > > > h > > > > >e.myfaces.application.ApplicationImpl.createComponent:391} User: > > > > >->Undefined > > > > >component type override > > > > >[18198 2007-04-13 > > > > > > > >18:33:17,497](org.apache.shale.clay.component.chain.CreateComponentCommand)**ER > > > R > > > > > > > >OR**{org.apache.shale.clay.component.chain.CreateComponentCommand.execute:166} > > > > > > > > >User: ->Cannot create Component renderId="464" > > > > >jsfid="t:updateActionListener" > > > > >componentType="override" extends="t:updateActionListener" > > > > >allowBody="null" > > > > >facetName="null" > > > > >javax.faces.FacesException: Undefined component type override > > > > > > > > > > > > > > >Hm according to the shale clay page, this componentType should be > > > > >possible. > > > > > > > > > >Whats missing here? > > > > > > > > > > > > > You need to define the listener as a top-level component setting the > > > > component > > > type > > > > to the fully qualified path to the action listener. > > > > > > > > <component jsfid="t:updateActionListener" > > > > > > > componentType="org.apache.myfaces.custom.updateactionlistener.UpdateActionListen > > > er" .. > > > > ... > > > > </component... > > > > > > > > However, this won't work without further customizations because this > > > > action > > > listener > > > > is statefull and has special value binding attributes. The JSP tag has > > > > to do > > > some > > > > special processing [1]. > > > > > > > > You will need to create a custom handler to create the listener. There > > > > is an > > > > example in the sandbox for the Trinidad version of the same thing. > > > > > > > > First you will need to add a commons chains config file to the WEB-INF > > > > folder > > > > of your web app [2]. Add a catalog with the name "clayCustomizations". > > > > Add a chain with the name of "preprocessAddActionListener" the the > > > > catalog. > > > > > > > > <catalog name="clayCustomization"> > > > > <chain name="preprocessAddActionListener"> > > > > <command className="acme.tomahawk.CreateActionListenerCommand" /> > > > > </chain> > > > > </catalog> > > > > > > > > Next, create a commons chains command extending > > > > "org.apache.shale.clay.component.chain.CreateActionListenerCommand". > > > > Add the extra logic to handle the special attributes [3]. > > > > > > > > > > > > [1] > > > http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apach > > > e/myfaces/custom/updateactionlistener/UpdateActionListenerTag.java?view=markup > > > > [2] > > > http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/W > > > EB-INF/chain-config.xml?view=markup > > > > [3] > > > http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/java/org > > > /apache/shale/clay/component/chain/trinidad/CreateActionListenerCommand.java?vie > > > w=markup > > > > > > > > > > > > >Torsten > > > > > > > > Gary
smime.p7s
Description: S/MIME cryptographic signature