<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!-- this is based on a sample web.xml file provided by 
http://jakarta.apache.org/tomcat/tomcat-4.0-doc/appdev/web.xml.txt
-->

<!-- For Android, this file is a copy of the one in 
       <greenstone3-home>/web/WEB-INF/web.xml 
    with anything to do with the following removed:
      Axis, OAI, and MAT
  -->

<web-app>
	<display-name>GSDL3</display-name>
	<description>
		Greenstone digital library version 3.
	</description>
  
	<filter>
		<filter-name>Greenstone URL Filter</filter-name>
		<filter-class>org.greenstone.gsdl3.core.URLFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>Greenstone URL Filter</filter-name>
		<url-pattern>*</url-pattern>
	</filter-mapping>
  
	<!-- Context initialization parameters that define shared
	String constants used within your application, which
	can be customized by the system administrator who is
	installing your application.  The values actually
	assigned to these parameters can be retrieved in a
	servlet or JSP page by calling:

	String value =
	getServletContext().getInitParameter("name");

	where "name" matches the <param-name> element of
	one of these initialization parameters.

	You can define any number of context initialization
	parameters, including zero.
	-->
  
	<context-param>
		<param-name>webmaster</param-name>
		<param-value>greenstone3@list.scms.waikato.ac.nz</param-value>
		<description>
			The EMAIL address of the administrator to whom questions
			and comments about this application should be addressed.
		</description>
	</context-param>
  

	<!-- Servlet definitions for the servlets that make up
	your web application, including initialization
	parameters.  With Tomcat, you can also send requests
	to servlets not listed here with a request like this:

	http://localhost:8080/{context-path}/servlet/{classname}

	but this usage is not guaranteed to be portable.  It also
	makes relative references to images and other resources
	required by your servlet more complicated, so defining
	all of your servlets (and defining a mapping to them with
	a servlet-mapping element) is recommended.

	Servlet initialization parameters can be retrieved in a
	servlet or JSP page by calling:

	String value =
	getServletConfig().getInitParameter("name");

	where "name" matches the <param-name> element of
	one of these initialization parameters.

	You can define any number of servlets, including zero.
	-->

	<servlet>
		<servlet-name>tester</servlet-name>
		<description>a test servlet</description>
		<servlet-class>TestServlet</servlet-class>
	</servlet>
  
	<!-- For client side text fetching -->
	<servlet>
		<servlet-name>grabtext</servlet-name>
		<description>Grabs text for client-side display with minimal overhead.</description>
		<servlet-class>org.greenstone.gsdl3.ClientSideServlet</servlet-class>
	</servlet>
  
  
	<servlet>
		<servlet-name>library</servlet-name>
		<description>The standard gsdl3 library program</description>
		<servlet-class>org.greenstone.gsdl3.LibraryServlet</servlet-class>
		<init-param>
			<param-name>library_name</param-name>
			<param-value>library</param-value>
		</init-param>
		<init-param>
			<param-name>site_name</param-name>
			<param-value>localsite</param-value>
		</init-param>
		<init-param>
			<param-name>interface_name</param-name>
			<param-value>default</param-value>
		</init-param>
		<init-param>
			<param-name>receptionist_class</param-name>
			<param-value>DefaultReceptionist</param-value>
		</init-param>
		<init-param>
			<param-name>default_lang</param-name>
			<param-value>en</param-value>
		</init-param>
	</servlet>
  
	<servlet>
		<servlet-name>gs2-library</servlet-name>
		<description>Greenstone 2 lookalike library program: uses localsite with the gs2 interface</description>
		<servlet-class>org.greenstone.gsdl3.LibraryServlet</servlet-class>
		<init-param>
			<param-name>library_name</param-name>
			<param-value>gs2-library</param-value>
		</init-param>
		<init-param>
			<param-name>site_name</param-name>
			<param-value>localsite</param-value>
		</init-param>
		<init-param>
			<param-name>interface_name</param-name>
			<param-value>gs2</param-value>
		</init-param>
		<init-param>
			<param-name>default_lang</param-name>
			<param-value>en</param-value>
		</init-param>
		<init-param>
			<param-name>session_expiration</param-name>
			<param-value>1800</param-value>
		</init-param>
		<init-param>
			<param-name>params_class</param-name>
			<param-value>GS2Params</param-value>
		</init-param>
	</servlet>
  
	<servlet>
		<servlet-name>nzdl-library</servlet-name>
		<description>gsdl3 library program</description>
		<servlet-class>org.greenstone.gsdl3.LibraryServlet</servlet-class>
		<init-param>
			<param-name>library_name</param-name>
			<param-value>nzdl</param-value>
		</init-param>
		<init-param>
			<param-name>site_name</param-name>
			<param-value>nzdl</param-value>
		</init-param>
		<init-param>
			<param-name>interface_name</param-name>
			<param-value>nzdl</param-value>
		</init-param>
		<init-param>
			<param-name>default_lang</param-name>
			<param-value>en</param-value>
		</init-param>
		<init-param>
			<param-name>params_class</param-name>
			<param-value>NZDLParams</param-value>
		</init-param>
		<init-param>
			<param-name>session_expiration</param-name>
			<param-value>600</param-value>
		</init-param>
  </servlet>

	<servlet>
		<servlet-name>gateway</servlet-name>
		<description>gsdl3 library based on gateway site and basic interface. It uses SOAP to talk to localsite</description>
		<servlet-class>org.greenstone.gsdl3.LibraryServlet</servlet-class>
		<init-param>
			<param-name>library_name</param-name>
			<param-value>gateway</param-value>
		</init-param>
		<init-param>
			<param-name>site_name</param-name>
			<param-value>gateway</param-value>
		</init-param>
		<init-param>
			<param-name>interface_name</param-name>
			<param-value>basic</param-value>
		</init-param>
		<init-param>
			<param-name>default_lang</param-name>
			<param-value>en</param-value>
		</init-param>
	</servlet>
  
	<servlet>
		<servlet-name>basic-library</servlet-name>
		<description>basic gsdl3 library program: uses localsite and the basic interface</description>
		<servlet-class>org.greenstone.gsdl3.LibraryServlet</servlet-class>
		<init-param>
			<param-name>library_name</param-name>
			<param-value>basic-library</param-value>
		</init-param>
		<init-param>
			<param-name>site_name</param-name>
			<param-value>localsite</param-value>
		</init-param>
		<init-param>
			<param-name>interface_name</param-name>
			<param-value>basic</param-value>
		</init-param>
		<init-param>
			<param-name>default_lang</param-name>
			<param-value>en</param-value>
		</init-param>
		<!--<init-param>
			<param-name>allow_client_side_xslt</param-name>
			<param-value>true</param-value>
		</init-param>-->
	</servlet>



 
    <!-- Define mappings that are used by the servlet container to
         translate a particular request URI (context-relative) to a
         particular servlet.  The examples below correspond to the
         servlet descriptions above.  Thus, a request URI like:

           http://localhost:8080/{contextpath}/graph

         will be mapped to the "graph" servlet, while a request like:

           http://localhost:8080/{contextpath}/saveCustomer.do

         will be mapped to the "controller" servlet.

		Note: context path is determined by the servlet container - 
		in Tomcat, specified in server.xml -kjdon
		
         You may define any number of servlet mappings, including zero.
         It is also legal to define more than one mapping for the same
         servlet, if you wish to.
    -->
    <!--
    
    <servlet-mapping>
      <servlet-name>controller</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>

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

	<servlet-mapping>
		<servlet-name>nzdl-library</servlet-name>
		<url-pattern>/nzdl</url-pattern>
    </servlet-mapping>
	<servlet-mapping>
		<servlet-name>tester</servlet-name>
		<url-pattern>/testing</url-pattern>
	</servlet-mapping>
  
	<servlet-mapping>
		<servlet-name>library</servlet-name>
		<url-pattern>/library/*</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>gs2-library</servlet-name>
		<url-pattern>/gs2-library</url-pattern>
	</servlet-mapping>
  
	<servlet-mapping>
		<servlet-name>gateway</servlet-name>
		<url-pattern>/gateway</url-pattern>
	</servlet-mapping>
  
	<servlet-mapping>
		<servlet-name>basic-library</servlet-name>
		<url-pattern>/basic-library</url-pattern>
	</servlet-mapping>

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

  <!-- uncomment this if you want to use the SOAPMonitorService. You will also 
  need to copy the SOAPMonitorApplet*.class files from 
  gsdl3/comms/soap/axis/web/WEB-INF/classes to the gsdl3/web directory. See the 
  comms/soap/axis/docs/install.html Appendix for details about how to use this -->
  <!--
  <servlet-mapping>
    <servlet-name>SOAPMonitorService</servlet-name>
    <url-pattern>/SOAPMonitor</url-pattern>
  </servlet-mapping>
  -->
  <!-- uncomment this if you want the admin servlet -->
  <!--
  <servlet-mapping>
    <servlet-name>AdminServlet</servlet-name>
    <url-pattern>/servlet/AdminServlet</url-pattern>
  </servlet-mapping>
  -->

  <!-- Define the default session timeout for your application,
  in minutes.  From a servlet or JSP page, you can modify
  the timeout for a particular session dynamically by using
  HttpSession.getMaxInactiveInterval(). -->

  <session-config>
    <session-timeout>240</session-timeout>    <!-- 4 hours -->
  </session-config>

  <!-- axis mime-mappings -->
  <mime-mapping>
    <extension>wsdl</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>
  
  <mime-mapping>
    <extension>xsd</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>

</web-app>
