<?xml version="1.0" encoding="UTF-8"?>
<!--
	Copyright (c) 2002-2006 Matt Magoffin
	
	This program is free software; you can redistribute it and/or 
	modify it under the terms of the GNU General Public License as 
	published by the Free Software Foundation; either version 2 of 
	the License, or (at your option) any later version.
	
	This program is distributed in the hope that it will be useful, 
	but WITHOUT ANY WARRANTY; without even the implied warranty of 
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
	General Public License for more details.
	
	You should have received a copy of the GNU General Public License 
	along with this program; if not, write to the Free Software 
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
	02111-1307 USA
	
	$Id: web.xml,v 1.4 2006/11/28 09:23:25 matt Exp $
-->
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
	version="2.4">

	<resource-ref>
		<res-ref-name>jdbc/ieat</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
		<res-sharing-scope>Shareable</res-sharing-scope>
	</resource-ref>

	<resource-ref>
		<res-ref-name>mail/ieat</res-ref-name>
		<res-type>javax.mail.Session</res-type>
		<res-auth>Container</res-auth>
		<res-sharing-scope>Shareable</res-sharing-scope>
	</resource-ref>
	
	<context-param>
		<param-name>webAppRootKey</param-name>
		<param-value>ieat.root.dir</param-value>
	</context-param>
	
	<!--
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>log4j.properties</param-value>
	</context-param>
	-->
	
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/dataAccessContext.xml
			/WEB-INF/applicationContext.xml
		</param-value>
	</context-param>
	
	<!-- 
		Static content client-side cache headers filter
	-->
	<filter>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<filter-class>magoffin.matt.xweb.util.ResponseHeaderFilter</filter-class>
		<init-param>
			<param-name>Cache-Control</param-name>
			<param-value>max-age=86400</param-value>
		</init-param>
	</filter>
	
	<!-- Compression filter -->
	<filter>
		<filter-name>Compression Filter</filter-name>
		<filter-class>compressionFilters.CompressionFilter</filter-class>
		<init-param>
			<param-name>compressionThreshold</param-name>
			<param-value>10</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>0</param-value>
		</init-param>
	</filter>
	
	<!-- Use UTF-8 character encoding -->
	<filter>
		<filter-name>Set Character Encoding</filter-name>
		<filter-class>filters.SetCharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	
	<!-- Cache filter -->
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.js</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.css</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.gif</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.jpg</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.png</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>*.html</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Client-side Cache Headers Filter</filter-name>
		<url-pattern>/messages.json</url-pattern>
	</filter-mapping>
	
	<!-- Compression filter -->
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.css</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.do</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.html</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.js</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.json</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>Compression Filter</filter-name>
		<url-pattern>*.txt</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>Set Character Encoding</filter-name>
		<servlet-name>ieat</servlet-name>
	</filter-mapping>
	
	<!--
	<listener>
		<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
	</listener>
	-->
	
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<servlet>
		<servlet-name>ieat</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>ieat</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>ieat</servlet-name>
		<url-pattern>*.json</url-pattern>
	</servlet-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	
</web-app>
