<?xml version="1.0" encoding="UTF-8" ?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
              version="2.0">


    <!--
     * Licensed to the Apache Software Foundation (ASF) under one
     * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
     * "License"); you may not use this file except in compliance
     * with the License.  You may obtain a copy of the License at
     *
     *   http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing,
     * software distributed under the License is distributed on an
     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     * KIND, either express or implied.  See the License for the
     * specific language governing permissions and limitations
     * under the License.
    -->

    <factory>

        <!--
          all these factories are replacements for the normal ones
          issue is we have to make a codeweaving for every bean created
        -->

        <application-factory>
            rewrite.org.apache.myfaces.extensions.scripting.jsf.dynamicdecorators.factories.ScriptingApplicationFactory
        </application-factory>

        <faces-context-factory>
            rewrite.org.apache.myfaces.extensions.scripting.jsf.dynamicdecorators.factories.ScriptingFacesContextFactory
        </faces-context-factory>


        <lifecycle-factory>
            rewrite.org.apache.myfaces.extensions.scripting.jsf.dynamicdecorators.factories.ScriptingLifecycleFactory
        </lifecycle-factory>

        <render-kit-factory>
            rewrite.org.apache.myfaces.extensions.scripting.jsf.dynamicdecorators.factories.ScriptingRenderkitFactory
        </render-kit-factory>

        <!--
          <tag-handler-delegate-factory>
              org.apache.myfaces.extensions.scripting.facelet.TagHandlerDelegateFactoryImpl
          </tag-handler-delegate-factory>
        -->
    </factory>
    <lifecycle>
        <phase-listener>rewrite.org.apache.myfaces.extensions.scripting.jsf.startup.RefreshPhaseListener
        </phase-listener>
    </lifecycle>

    <!--
    <application>
        <resource-handler>rewrite.org.apache.myfaces.extensions.scripting.jsf.resources.SourceResourceHandler</resource-handler>
    </application>
    -->

    <!--
    <application>
        <system-event-listener>
            <system-event-listener-class>org.apache.myfaces.extensions.scripting.startup.IntialScanAnnotationListener
            </system-event-listener-class>
            <system-event-class>javax.faces.event.PostConstructApplicationEvent</system-event-class>
        </system-event-listener>

    </application>
   -->

    <component>
        <component-type>org.apache.myfaces.extensions.scripting.components.CompilerComponent</component-type>
        <component-class>rewrite.org.apache.myfaces.extensions.scripting.jsf.components.CompilerComponent
        </component-class>
    </component>

    <component>
        <component-type>org.apache.myfaces.extensions.scripting.components.TaintHistory</component-type>
        <component-class>rewrite.org.apache.myfaces.extensions.scripting.jsf.components.TaintHistory</component-class>
    </component>
    <render-kit>
        <renderer>
            <component-family>javax.faces.Output</component-family>
            <renderer-type>org.apache.myfaces.extensions.scripting.components.CompilerComponentRenderer</renderer-type>
            <renderer-class>rewrite.org.apache.myfaces.extensions.scripting.jsf.components.CompilerComponentRenderer
            </renderer-class>
        </renderer>
        <renderer>
            <component-family>javax.faces.Output</component-family>
            <renderer-type>org.apache.myfaces.extensions.scripting.components.TaintHistoryRenderer</renderer-type>
            <renderer-class>rewrite.org.apache.myfaces.extensions.scripting.jsf.components.TaintHistoryRenderer</renderer-class>
        </renderer>
    </render-kit>

</faces-config>