jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/CodiRenderKitFactory.java [38:131]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private RenderKitWrapperFactory renderKitWrapperFactory;

    private volatile Boolean initialized;
    private final boolean deactivated;

    /**
     * Constructor for wrapping the given {@link RenderKitFactory}
     * @param wrapped render-kit-factory which will be wrapped
     */
    public CodiRenderKitFactory(RenderKitFactory wrapped)
    {
        this.wrapped = wrapped;
        this.deactivated = !isActivated();

        if(!this.deactivated)
        {
            this.renderKitWrapperFactory = CodiUtils.lookupFromEnvironment(RenderKitWrapperFactory.class);
        }
    }

    /**
     * {@inheritDoc}
     */
    public void addRenderKit(String s, RenderKit renderKit)
    {
        wrapped.addRenderKit(s, renderKit);
    }

    /**
     * Creates an intercepted {@link RenderKit} in order to wrap the {@link javax.faces.context.ResponseWriter}
     *
     * {@inheritDoc}
     */
    public RenderKit getRenderKit(FacesContext facesContext, String s)
    {
        RenderKit renderKit = wrapped.getRenderKit(facesContext, s);

        if (renderKit == null)
        {
            return null;
        }

        if(this.deactivated)
        {
            return renderKit;
        }

        //workaround for mojarra

        if(this.initialized == null)
        {
            lazyInit();
        }

        if(this.renderKitWrapperFactory != null)
        {
            return this.renderKitWrapperFactory.create(renderKit);
        }

        return new InterceptedRenderKit(renderKit);
    }

    private synchronized void lazyInit()
    {
        // switch into paranoia mode
        if(this.initialized != null)
        {
            return;
        }

        if(this.renderKitWrapperFactory == null)
        {
            //workaround for mojarra
            CodiStartupBroadcaster.broadcastStartup();

            if(CodiUtils.isCdiInitialized())
            {
                this.renderKitWrapperFactory = CodiUtils
                        .getContextualReferenceByClass(RenderKitWrapperFactory.class, true);
            }
        }

        if(CodiUtils.isCdiInitialized())
        {
            this.initialized = true;
        }
    }

    /**
     * {@inheritDoc}
     */
    public Iterator<String> getRenderKitIds()
    {
        return wrapped.getRenderKitIds();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/CodiRenderKitFactory.java [41:134]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private RenderKitWrapperFactory renderKitWrapperFactory;
    
    private volatile Boolean initialized;
    private final boolean deactivated;

    /**
     * Constructor for wrapping the given {@link RenderKitFactory}
     * @param wrapped render-kit-factory which will be wrapped
     */
    public CodiRenderKitFactory(RenderKitFactory wrapped)
    {
        this.wrapped = wrapped;
        this.deactivated = !isActivated();

        if(!this.deactivated)
        {
            this.renderKitWrapperFactory = CodiUtils.lookupFromEnvironment(RenderKitWrapperFactory.class);
        }
    }

    /**
     * {@inheritDoc}
     */
    public void addRenderKit(String s, RenderKit renderKit)
    {
        wrapped.addRenderKit(s, renderKit);
    }

    /**
     * Creates an intercepted {@link RenderKit} in order to wrap the {@link javax.faces.context.ResponseWriter}
     *
     * {@inheritDoc}
     */
    public RenderKit getRenderKit(FacesContext facesContext, String s)
    {
        RenderKit renderKit = wrapped.getRenderKit(facesContext, s);

        if (renderKit == null)
        {
            return null;
        }

        if(this.deactivated)
        {
            return renderKit;
        }

        //workaround for mojarra

        if(this.initialized == null)
        {
            lazyInit();
        }

        if(this.renderKitWrapperFactory != null)
        {
            return this.renderKitWrapperFactory.create(renderKit);
        }

        return new InterceptedRenderKit(renderKit);
    }

    private synchronized void lazyInit()
    {
        // switch into paranoia mode
        if(this.initialized != null)
        {
            return;
        }

        if(this.renderKitWrapperFactory == null)
        {
            //workaround for mojarra
            CodiStartupBroadcaster.broadcastStartup();

            if(CodiUtils.isCdiInitialized())
            {
                this.renderKitWrapperFactory = CodiUtils
                        .getContextualReferenceByClass(RenderKitWrapperFactory.class, true);
            }
        }

        if(CodiUtils.isCdiInitialized())
        {
            this.initialized = true;
        }
    }

    /**
     * {@inheritDoc}
     */
    public Iterator<String> getRenderKitIds()
    {
        return wrapped.getRenderKitIds();
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



