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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to