hi @ all, i've moved the renderkit-cache used in GenericRenderKitWrapperFactory to AbstractRenderKitWrapperFactory and simplified the rest (see [1]).
regards, gerhard [1] https://issues.apache.org/jira/browse/EXTVAL-151 2013/1/30 Howard W. Smith, Jr. <[email protected]> > On Tue, Jan 29, 2013 at 6:11 AM, Reto Weiss <[email protected]> wrote: > > > Hi > > > > I'm using MyFaces (2.1.10) with ExtVal (2.0.6). As RenderKit's I use > > Primefaces and Primefaces Mobile. This does not work because the class > > > > > > > org.apache.myfaces.extensions.validator.core.renderkit.DefaultRenderKitWrapperFactory > > > > is not able to handle more than one RenderKit. This is because the method > > createWrapper caches the first RenderKit it wrappes. After that it > returns > > the cached RenderKit even if the RenderKit to wrap is another one than > the > > cached one. > > > > I have fixed this in my project by providing my own > > RenderKitWrapperFactory: > > > > class IvyExtValRenderKitWrapperFactory extends > > AbstractRenderKitWrapperFactory > > { > > private HashMap<RenderKit, ExtValRenderKit> wrappers = new > > HashMap<RenderKit, ExtValRenderKit>(); > > > > @Override > > protected synchronized RenderKit createWrapper(RenderKit renderKit) > > { > > ExtValRenderKit wrapper = wrappers.get(renderKit); > > if (wrapper == null) > > { > > wrapper = new ExtValRenderKit(renderKit); > > wrappers.put(renderKit, wrapper); > > } > > return wrapper; > > } > > > > } > > > > > > Yes, please report and thanks for providing that patch! I was in a very > lengthy discussion with someone else about this issue...almost a year > ago.[1] This is good news! I hope you shared the same in PrimeFaces Mobile > (community) forum as well. > > [1] http://forum.primefaces.org/viewtopic.php?f=8&t=19910&start=10#p62149 >

