hi tom, extval just wraps the original renderers as well as renderkits (or your custom implementation). you should see an instance e.g. of your renderer inside the instance of the wrapper. (if you would like to cast an instance to your custom type, you have to use e.g. the generic support module (which uses cglib)).
to test if it is an issue in combination with extval, you can use the following vm-param: org.apache.myfaces.extensions.validator.DEACTIVATE_RENDER_KIT_FACTORY=true as soon as you are using this parameter you shouldn't see instances of extval classes and you can check if it works without extval. regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/6/30 <[email protected]> > Hi at all, > > i'm not sure if this is the right place for my question, but I suppose some > connection to the usage of ExtVal in my project since the suggestions found > in some tutorials do not work. > > I'm using a third party component whose renderer does not meet my demands. > > a) First try was to add a custom renderer to the default renderkit in > faces-config. Problem is: the renderer is registered at one time, but after > this the original renderer is registered again thus overriding my renderer. > The reason for this is unclear to me, what I can see is a lot of ExtVal > processing and the usage of some renderer wrappers. > > b) Second try was to define another default renderkit in faces-config: > > public class MyRenderkit extends RenderKitWrapper { > > private final RenderKit mojarraRenderkit; > > public HISExtendedRenderkit() { > mojarraRenderkit = ((RenderKitFactory) > FactoryFinder.getFactory(FactoryFinder.RENDER_KIT_FACTORY)).getRenderKit(FacesContext.getCurrentInstance(), > "HTML_BASIC"); > } > > @Override > public Renderer getRenderer(String family, String rendererType) { > // return custom renderer > > What I get here is an ExtVal implementation again and not the one of > mojarra: ExtValRenderkit. And in addition the getRenderer-method of > MyRenderkit is never called later on. > > What is the correct way to replace the third party renderer with my custom > renderer while not facing ExtVal internals and implementation classes (such > as DefaultFactoryFinder, ExtValContext and so on). > > Thanks. > > > > > -- > Hotelbewertung: Bloß nicht die Katze im Sack kaufen bzw. den Floh auf der > Matratze buchen - > ob geschäftlich oder privat - erst das Hotel im Reise-Channel auf > arcor.dechecken! > http://www.arcor.de/rd/footer.hotel > >

