<?xml version="1.0" encoding="UTF-8"?>
<web-app id="iDempiere" 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>iDempiere Web Client</display-name>
	
	<servlet>
      <servlet-name>AtmosphereServlet</servlet-name>
      <servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class>
      <init-param>
        <param-name>org.atmosphere.cpr.AtmosphereHandler</param-name>
        <param-value>fi.jawsy.jawwa.zk.atmosphere.ZkAtmosphereHandler</param-value>
      </init-param>
      <init-param>
        <param-name>org.atmosphere.cpr.AtmosphereHandler.contextRoot</param-name>
        <param-value>/zkau/comet</param-value>
      </init-param>
      <init-param>
    	<param-name>org.atmosphere.cpr.broadcasterCacheClass</param-name>
    	<param-value>org.atmosphere.cache.HeaderBroadcasterCache</param-value>
	  </init-param>
	  <init-param>
    	<param-name>org.atmosphere.cpr.AtmosphereInterceptor</param-name>
    	<param-value>org.atmosphere.client.TrackMessageSizeInterceptor</param-value>
 	  </init-param>
      <load-on-startup>0</load-on-startup>
      <!-- Remove async-supported if you are not using Servlet 3.0 -->
      <async-supported>true</async-supported>
    </servlet>
    <servlet-mapping>
      <servlet-name>AtmosphereServlet</servlet-name>
      <url-pattern>/zkau/comet</url-pattern>
    </servlet-mapping>
	
	<!-- /// -->
	<!-- DSP -->
	<servlet>
		<description>
			<![CDATA[The servlet loads the DSP pages.]]>
		</description>
		<servlet-name>dspLoader</servlet-name>
		<servlet-class>
			org.zkoss.web.servlet.dsp.InterpreterServlet
		</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>dspLoader</servlet-name>
		<url-pattern>*.dsp</url-pattern>
	</servlet-mapping>
	<!-- /// -->

	<!-- //// -->
	<!-- ZK -->
	<listener>
		<description>
			Used to cleanup when a session is destroyed
		</description>
		<display-name>ZK Session Cleaner</display-name>
		<listener-class>
			org.zkoss.zk.ui.http.HttpSessionListener
		</listener-class>
	</listener>
	<listener>
		<description>
			Used to track the session currently used
		</description>
		<display-name>Update Session</display-name>
		<listener-class>
			org.adempiere.webui.LoggedSessionListener
		</listener-class>
	</listener>

	<servlet>
		<description>ZK loader for ZUML pages</description>
		<servlet-name>zkLoader</servlet-name>
		<servlet-class>
			org.adempiere.webui.session.WebUIServlet
		</servlet-class>
		<!-- Must. Specifies URI of the update engine (DHtmlUpdateServlet).
			It must be the same as <url-pattern> for the update engine.
		-->
		<init-param>
			<param-name>update-uri</param-name>
			<param-value>/zkau</param-value>
		</init-param>
		<init-param> 
			<param-name>compress</param-name>
			<param-value>false</param-value> 
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zul</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>zkLoader</servlet-name>
		<url-pattern>*.zhtml</url-pattern>
	</servlet-mapping>
	<servlet>
		<description>The asynchronous update engine for ZK</description>
		<servlet-name>auEngine</servlet-name>
		<servlet-class>
			org.zkoss.zk.au.http.DHtmlUpdateServlet
		</servlet-class>
		<init-param> 
			<param-name>compress</param-name>
			<param-value>false</param-value> 
		</init-param> 
	</servlet>
	<servlet-mapping>
		<servlet-name>auEngine</servlet-name>
		<url-pattern>/zkau/*</url-pattern>
	</servlet-mapping>
	<!-- //// -->

	<!-- /////////// -->
	<!-- Miscellaneous -->
	<session-config>
		<session-timeout>60</session-timeout>
	</session-config>

	<!-- MIME mapping -->
	<mime-mapping>
		<extension>doc</extension>
		<mime-type>application/vnd.ms-word</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>dsp</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>gif</extension>
		<mime-type>image/gif</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>htm</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>html</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>jnlp</extension>
		<mime-type>application/x-java-jnlp-file</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>jpeg</extension>
		<mime-type>image/jpeg</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>jpg</extension>
		<mime-type>image/jpeg</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>js</extension>
		<mime-type>application/x-javascript</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>pdf</extension>
		<mime-type>application/pdf</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>png</extension>
		<mime-type>image/png</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>txt</extension>
		<mime-type>text/plain</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>xls</extension>
		<mime-type>application/vnd.ms-excel</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>xml</extension>
		<mime-type>text/xml</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>xul</extension>
		<mime-type>application/vnd.mozilla.xul-xml</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>zhtml</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>zip</extension>
		<mime-type>application/x-zip</mime-type>
	</mime-mapping>
	<mime-mapping>
		<extension>zul</extension>
		<mime-type>text/html</mime-type>
	</mime-mapping>
	<welcome-file-list>
		<welcome-file>index.zul</welcome-file>
	</welcome-file-list>

<!-- 	<security-constraint> -->
<!-- 		<web-resource-collection> -->
<!-- 			<web-resource-name>all</web-resource-name> -->
<!-- 			<url-pattern>/*</url-pattern> -->
<!-- 		</web-resource-collection> -->
<!-- 		<user-data-constraint> -->
<!-- 			<transport-guarantee>CONFIDENTIAL</transport-guarantee> -->
<!-- 		</user-data-constraint> -->
<!-- 	</security-constraint> -->
			
	<!--env-entry>
		<env-entry-name>IDEMPIERE_HOME</env-entry-name>
		<env-entry-type>java.lang.String</env-entry-type>
		<env-entry-value>/opt/adempiere/</env-entry-value>
	</env-entry-->
</web-app>