<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
    Copyright 2002-2013 the original author or authors.

    Licensed 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
	      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0" metadata-complete="true">

    <display-name>Spring PetClinic</display-name>
    <description>Spring PetClinic sample application</description>

    <!-- When using Spring jpa, use the following: -->
    <context-param>
        <param-name>spring.profiles.active</param-name>
        <param-value>jpa</param-value>
    </context-param>

    <!-- When using Spring JDBC, use the following: -->
    <!--  <context-param>
         <param-name>spring.profiles.active</param-name>
         <param-value>jdbc</param-value>
     </context-param>  -->

    <!--  the  CallMonitoringAspect counts invocations on classes with @Repository on them. Classes in spring-data-jpa don't have that annotation  -->
    <!--  When using Spring Data JPA, uncomment the following: -->
    <!--
        <context-param>
         <param-name>spring.profiles.active</param-name>
         <param-value>spring-data-jpa</param-value>
     </context-param>
     -->

    <!--
		- Location of the XML file that defines the root application context.
		- Applied by ContextLoaderListener.
	-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/business-config.xml, classpath:spring/tools-config.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!--
- Servlet that dispatches request to registered handlers (Controller implementations).
-->
    <servlet>
        <servlet-name>petclinic</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/mvc-core-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>petclinic</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- Dandelion servlet definition and mapping -->
    <servlet>
        <servlet-name>dandelionServlet</servlet-name>
        <servlet-class>com.github.dandelion.core.web.DandelionServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dandelionServlet</servlet-name>
        <url-pattern>/dandelion-assets/*</url-pattern>
    </servlet-mapping>

    <!-- used to provide the ability to enter Chinese characters inside the Owner Form -->
    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Dandelion filter definition and mapping -->
    <filter>
        <filter-name>dandelionFilter</filter-name>
        <filter-class>com.github.dandelion.core.web.DandelionFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>dandelionFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- Dandelion-Datatables filter, used for basic export -->
    <filter>
        <filter-name>datatables</filter-name>
        <filter-class>com.github.dandelion.datatables.core.web.filter.DatatablesFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>datatables</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!--  	No need for welcome-file declaration here.
    		See inside spring/mvc-core-config.xml : 
    		<mvc:view-controller path="/" view-name="welcome" /> 
    -->

</web-app>
