On Tue, Jan 29, 2013 at 6:11 AM, Reto Weiss <reto.we...@ivyteam.ch> 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