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
>

Reply via email to