<?xml version="1.0" encoding="UTF-8"?>

<!--
 * 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.
-->

<web-app
    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-app_3_0.xsd"
    version="3.0">

  <display-name>Tobago Application for Quality Assurance</display-name>
  <description>Will be used for automated tests in the build process.</description>

  <context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <!--<param-value>Production</param-value>-->
    <param-value>Development</param-value>
  </context-param>

  <context-param>
    <param-name>com.sun.faces.validateXml</param-name>
    <param-value>true</param-value>
  </context-param>

  <context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
  </context-param>

  <context-param>
    <param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name>
    <param-value>*.xhtml</param-value>
  </context-param>

  <context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
  </context-param>

  <servlet>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>3</load-on-startup>
    <!-- This is needed, for file upload e.g. <tc:file> with JSF 2.0 or 2.1, JSF 2.2 doesn't need it. -->
    <multipart-config/>
  </servlet>
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>ResourceServlet</servlet-name>
    <servlet-class>org.apache.myfaces.tobago.servlet.ResourceServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ResourceServlet</servlet-name>
    <url-pattern>/org/apache/myfaces/tobago/renderkit/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ResourceServlet</servlet-name>
    <url-pattern>/org/apache/myfaces/tobago/sandbox/*</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>KillSessionServlet</servlet-name>
    <servlet-class>org.apache.myfaces.tobago.example.test.KillSession</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>KillSessionServlet</servlet-name>
    <url-pattern>/KillSession</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>ScriptEventServlet</servlet-name>
    <servlet-class>org.apache.myfaces.tobago.example.test.ScriptEventServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ScriptEventServlet</servlet-name>
    <url-pattern>/ScriptEventServlet</url-pattern>
  </servlet-mapping>

<!--
  <filter>
    <filter-name>MyFacesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
      <init-param>
          <param-name>uploadMaxFileSize</param-name>
          <param-value>20m</param-value>
      </init-param>
  </filter>

  &lt;!&ndash; extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  &ndash;&gt;
  <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      &lt;!&ndash; servlet-name must match the name of your javax.faces.webapp.FacesServlet entry &ndash;&gt;
      <servlet-name>FacesServlet</servlet-name>
  </filter-mapping>

  &lt;!&ndash; extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  &ndash;&gt;
  <filter-mapping>
      <filter-name>MyFacesExtensionsFilter</filter-name>
      <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
  </filter-mapping>
-->

  <error-page>
    <error-code>404</error-code>
    <location>/faces/404.xhtml</location>
  </error-page>

  <error-page>
    <error-code>500</error-code>
    <location>/faces/500.xhtml</location>
  </error-page>

  <jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <url-pattern>*.jspx</url-pattern>
      <url-pattern>*.html</url-pattern>
      <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
  </jsp-config>

<!-- This is an alternative way to set the project stage.
  <env-entry>
    <env-entry-name>jsf/ProjectStage</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Development</env-entry-value>
  </env-entry>
-->

  <filter>
    <filter-name>WaitFilter</filter-name>
    <filter-class>org.apache.myfaces.tobago.example.test.WaitFilter</filter-class>
  </filter>

  <filter-mapping>
      <filter-name>WaitFilter</filter-name>
      <url-pattern>/image/wait/*</url-pattern>
  </filter-mapping>

</web-app>
