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"> <description>Target EL value binding.</description> </set> <set name="valueBinding" bindingType="VB"> <description>Source EL value binding.</description> </set> <set name="converter" bindingType="VB"> <description> Converter id for conversion of the source to the target </description> </set> </attributes> </component> Definition of the component. Whats missing? Why i get undefined componentType? Torsten 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.apach > >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)**ERR > >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.UpdateActionListener" > .. > ... > </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/apache/myfaces/custom/updateactionlistener/UpdateActionListenerTag.java?view=markup > [2] > http://svn.apache.org/viewvc/shale/sandbox/shale-clay-trinidad/src/main/webapp/WEB-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?view=markup > > > >Torsten > > Gary
smime.p7s
Description: S/MIME cryptographic signature