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

	<context-param>
        <param-name>log4jConfiguration</param-name>
        <param-value>/WEB-INF/log4j2.xml</param-value>
    </context-param>
    <context-param>
    	<param-name>shiroConfigLocations</param-name>
    	<param-value>/WEB-INF/shiro.ini</param-value>
	</context-param>
	<context-param>
		<param-name>quartz:config-file</param-name>
		<param-value>quartz.properties</param-value>
	</context-param>
	<context-param>
		<param-name>quartz:shutdown-on-unload</param-name>
		<param-value>true</param-value>
	</context-param>
	<context-param>
		<param-name>quartz:wait-on-shutdown</param-name>
		<param-value>false</param-value>
	</context-param>
	<context-param>
		<param-name>quartz:start-scheduler-on-load</param-name>
		<param-value>true</param-value>
	</context-param>
	<context-param>
		<param-name>cache:thread-count</param-name>
		<param-value>3</param-value>
	</context-param>

	<!-- <context-param> <param-name>cvs-config-02</param-name> <param-value>c:/temp/test2.txt</param-value> 
		</context-param> <context-param> <param-name>cvs-config-01</param-name> <param-value>c:/temp/test.txt</param-value> 
		</context-param> <context-param> <param-name>cvs-config-03</param-name> <param-value>c:/temp/test3.txt</param-value> 
		</context-param> -->

	<!-- Caching interval in minutes for CVS cache -->
	<context-param>
		<param-name>cvs-cache-interval</param-name>
		<param-value>3</param-value>
	</context-param>

	<!-- CVS content search cache -->
	<!-- <context-param> <param-name>cvs-findings-configuration</param-name> 
		<param-value>c:/temp/cvs-findings.txt</param-value> </context-param> -->

	<listener>
    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  	</listener>
	<listener>
		<listener-class>org.quartz.ee.servlet.QuartzInitializerListener</listener-class>
	</listener>
	<listener>
		<listener-class>net.brutex.xservices.util.cache.CacheExecutorService</listener-class>
	</listener>


	<servlet>
		<servlet-name>XServices</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<!-- <init-param>
			<param-name>config-location</param-name>
			<param-value>/WEB-INF/cxf-servlet.xml</param-value>
		</init-param>
		-->
		<init-param>
        	<param-name>hide-service-list-page</param-name>
        	<param-value>false</param-value>
    </init-param> 
		<load-on-startup>1</load-on-startup>
	</servlet>
	<!--
	<servlet>
		<servlet-name>QuartzInitializer</servlet-name>
		<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
		<init-param>
			<param-name>shutdown-on-unload</param-name>
			<param-value>true</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
	-->
	<servlet>
		<servlet-name>CacheServlet</servlet-name>
		<servlet-class>net.brutex.xservices.util.cache.CacheServlet</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>FindingsCacheServlet</servlet-name>
		<servlet-class>net.brutex.xservices.util.cache.FindingsCacheServlet</servlet-class>
		<load-on-startup>3</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>XServices</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>
	
	<session-config>
		<session-timeout>30</session-timeout>
	</session-config>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>

	<!-- Shiro -->
	<listener>
		<listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
	</listener>

	<filter>
		<filter-name>ShiroFilter</filter-name>
		<filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>ShiroFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
		<dispatcher>ERROR</dispatcher>
	</filter-mapping>
	<!-- Shiro -->


	<servlet>
		<servlet-name>H2Console</servlet-name>
		<servlet-class>org.h2.server.web.WebServlet</servlet-class>
		<!-- this should be deactivated or protected -->
        <init-param>
            <param-name>webAllowOthers</param-name>
            <param-value>true</param-value>
        </init-param>
		<!--
<init-param>
    <param-name>trace</param-name>
    <param-value></param-value>
</init-param>
-->
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>H2Console</servlet-name>
		<url-pattern>/console/*</url-pattern>
	</servlet-mapping>
	<!--
    <security-role>
        <role-name>admin</role-name>
    </security-role>
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>H2 Console</web-resource-name>
            <url-pattern>/console/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>admin</role-name>
        </auth-constraint>
    </security-constraint>
    -->

	<servlet>
		<servlet-name>ViewStatusMessages</servlet-name>
		<servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>ViewStatusMessages</servlet-name>
		<url-pattern>/logs</url-pattern>
	</servlet-mapping>

</web-app>