<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<!--
 - web.xml
 -
 - Version: $Revision: 1.25 $
 -
 - Date: $Date: 2006/11/07 22:41:33 $
 -
 - Copyright (c) 2002, Hewlett-Packard Company and Massachusetts
 - Institute of Technology.  All rights reserved.
 -
 - Redistribution and use in source and binary forms, with or without
 - modification, are permitted provided that the following conditions are
 - met:
 -
 - - Redistributions of source code must retain the above copyright
 - notice, this list of conditions and the following disclaimer.
 -
 - - Redistributions in binary form must reproduce the above copyright
 - notice, this list of conditions and the following disclaimer in the
 - documentation and/or other materials provided with the distribution.
 -
 - - Neither the name of the Hewlett-Packard Company nor the name of the
 - Massachusetts Institute of Technology nor the names of their
 - contributors may be used to endorse or promote products derived from
 - this software without specific prior written permission.
 -
 - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 - HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 - OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 - USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 - DAMAGE.
-->

<!--
  - The is the servlet deployment descriptor for Tomcat 4.0 for the DSpace
  - Web user interface
  -
  - '@@dspace.dir@@' will be replaced with the directory where DSpace is installed
  -->

<web-app>

  <display-name>DSpace Web UI</display-name>


  <!-- Configuration Information -->

  <context-param>
    <param-name>dspace-config</param-name>
    <param-value>@@dspace.dir@@/config/dspace.cfg</param-value>
    <description>
      The location of the main DSpace configuration file
    </description>
  </context-param>

  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
    <param-value>Messages</param-value>
  </context-param>


  <!-- Filters -->

  <filter>
    <filter-name>admin-only</filter-name>
    <filter-class>org.dspace.app.webui.filter.AdminOnlyFilter</filter-class>
  </filter>

  <filter>
    <filter-name>registered-only</filter-name>
    <filter-class>org.dspace.app.webui.filter.RegisteredOnlyFilter</filter-class>
  </filter>


  <!-- Filter mappings -->
  
  <filter-mapping>
    <filter-name>admin-only</filter-name>
    <url-pattern>/dspace-admin/*</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/mydspace</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/tools/*</url-pattern>
  </filter-mapping>
    
  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/profile</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/submit</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/subscribe</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/workspace</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>registered-only</filter-name>
    <url-pattern>/view-workspaceitem</url-pattern>
  </filter-mapping>

  <!-- Servlets -->

<servlet>
        <servlet-name>jcaptcha</servlet-name>
        <servlet-class>edu.umn.dspace.captcha.ImageCaptchaServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
    </servlet>
    
<servlet-mapping>
        <servlet-name>jcaptcha</servlet-name>
        <url-pattern>/jcaptcha</url-pattern>
</servlet-mapping>



  <!-- DSpace configuration initialisation.  This needs to be loaded before
       other servlets. -->
  <servlet>
    <servlet-name>load-dspace-config</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.LoadDSpaceConfig</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet>
    <servlet-name>authorize</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.AuthorizeAdminServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>advanced-search</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.AdvancedSearchServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>itemmap</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.ItemMapServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>bitstream</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.BitstreamServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>browse-author</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.BrowseServlet</servlet-class>
    <init-param>
      <param-name>browse</param-name>
      <param-value>authors</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>browse-date</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.BrowseServlet</servlet-class>
    <init-param>
      <param-name>browse</param-name>
      <param-value>dates</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>browse-subject</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.BrowseServlet</servlet-class>
    <init-param>
      <param-name>browse</param-name>
      <param-value>subjects</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>browse-title</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.BrowseServlet</servlet-class>
    <init-param>
      <param-name>browse</param-name>
      <param-value>titles</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>collection-wizard</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.CollectionWizardServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>community-list</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.CommunityListServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>edit-communities</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.EditCommunitiesServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>groups</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.GroupEditServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>edit-epeople</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.EPersonAdminServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>edit-item</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.EditItemServlet</servlet-class>
  </servlet>
  
  <servlet>
    <servlet-name>edit-news</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.NewsEditServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>edit-license</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.LicenseEditServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>eperson-list</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.EPersonListServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>group-select-list</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.GroupListServlet</servlet-class>
  </servlet>
  
  <servlet>
    <servlet-name>feed</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.FeedServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>feedback</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.FeedbackServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>forgot</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.RegisterServlet</servlet-class>
    <init-param>
      <param-name>register</param-name>
      <param-value>false</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>format-registry</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.BitstreamFormatRegistry</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>handle</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.HandleServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>html</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.HTMLServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>internal-error</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.InternalErrorServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>items-by-author</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.ItemsByAuthorServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>items-by-subject</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.ItemsBySubjectServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>logout</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.LogoutServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>metadata-field-registry</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.MetadataFieldRegistryServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>metadata-schema-registry</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.MetadataSchemaRegistryServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>mydspace</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.MyDSpaceServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>openURL</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.OpenURLServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>password-login</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.PasswordServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>ldap-login</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.LDAPServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>profile</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.EditProfileServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>register</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.RegisterServlet</servlet-class>
    <init-param>
      <param-name>register</param-name>
      <param-value>true</param-value>
    </init-param>
  </servlet>

  <servlet>
    <servlet-name>retrieve</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.RetrieveServlet</servlet-class>
  </servlet>
  
  <servlet>
    <servlet-name>simple-search</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.SimpleSearchServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>statistics</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.StatisticsServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>submit</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.SubmitServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>subscribe</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.SubscribeServlet</servlet-class>
  </servlet>
  
  <servlet>
    <servlet-name>suggest</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.SuggestServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>supervise</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.SuperviseServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>view-workspaceitem</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.ViewWorkspaceItemServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>workflow</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.admin.WorkflowAbortServlet</servlet-class>
  </servlet>

  <servlet>
    <servlet-name>workspace</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.WorkspaceServlet</servlet-class>
  </servlet>
  
    
  <servlet>
    <servlet-name>controlledvocabulary</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.ControlledVocabularyServlet</servlet-class>
  </servlet>
  
  <servlet>
    <servlet-name>subject-search</servlet-name>
    <servlet-class>org.dspace.app.webui.servlet.ControlledVocabularySearchServlet</servlet-class>
  </servlet>  
  

  <!-- Servlet Mappings -->

  <servlet-mapping>
    <servlet-name>authorize</servlet-name>
    <url-pattern>/dspace-admin/authorize</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>advanced-search</servlet-name>
    <url-pattern>/advanced-search</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>bitstream</servlet-name>
    <url-pattern>/bitstream/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>browse-author</servlet-name>
    <url-pattern>/browse-author</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>browse-date</servlet-name>
    <url-pattern>/browse-date</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>browse-subject</servlet-name>
    <url-pattern>/browse-subject</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>browse-title</servlet-name>
    <url-pattern>/browse-title</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>community-list</servlet-name>
    <url-pattern>/community-list</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>collection-wizard</servlet-name>
    <url-pattern>/tools/collection-wizard</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>edit-communities</servlet-name>
    <url-pattern>/tools/edit-communities</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>edit-communities</servlet-name>
    <url-pattern>/dspace-admin/edit-communities</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>edit-epeople</servlet-name>
    <url-pattern>/dspace-admin/edit-epeople</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>edit-item</servlet-name>
    <url-pattern>/tools/edit-item</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>edit-news</servlet-name>
    <url-pattern>/dspace-admin/news-edit</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>edit-license</servlet-name>
    <url-pattern>/dspace-admin/license-edit</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>eperson-list</servlet-name>
    <url-pattern>/tools/eperson-list</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>group-select-list</servlet-name>
    <url-pattern>/tools/group-select-list</url-pattern>
  </servlet-mapping>
  
 <servlet-mapping>
    <servlet-name>itemmap</servlet-name>
    <url-pattern>/tools/itemmap</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>feed</servlet-name>
    <url-pattern>/feed/*</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>format-registry</servlet-name>
    <url-pattern>/dspace-admin/format-registry</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>groups</servlet-name>
    <url-pattern>/tools/group-edit</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>handle</servlet-name>
    <url-pattern>/handle/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>html</servlet-name>
    <url-pattern>/html/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>internal-error</servlet-name>
    <url-pattern>/internal-error</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>items-by-author</servlet-name>
    <url-pattern>/items-by-author</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>items-by-subject</servlet-name>
    <url-pattern>/items-by-subject</url-pattern>
  </servlet-mapping>

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

  <servlet-mapping>
    <servlet-name>metadata-field-registry</servlet-name>
    <url-pattern>/dspace-admin/metadata-field-registry</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>metadata-schema-registry</servlet-name>
    <url-pattern>/dspace-admin/metadata-schema-registry</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>password-login</servlet-name>
    <url-pattern>/password-login</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>ldap-login</servlet-name>
    <url-pattern>/ldap-login</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>retrieve</servlet-name>
    <url-pattern>/retrieve/*</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>simple-search</servlet-name>
    <url-pattern>/simple-search</url-pattern>
  </servlet-mapping>

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

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

  <servlet-mapping>
    <servlet-name>subscribe</servlet-name>
    <url-pattern>/subscribe</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>suggest</servlet-name>
    <url-pattern>/suggest</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>supervise</servlet-name>
    <url-pattern>/dspace-admin/supervise</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>view-workspaceitem</servlet-name>
    <url-pattern>/view-workspaceitem</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>workflow</servlet-name>
    <url-pattern>/dspace-admin/workflow</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>workspace</servlet-name>
    <url-pattern>/workspace</url-pattern>
  </servlet-mapping>
  
    
  <servlet-mapping>
    <servlet-name>controlledvocabulary</servlet-name>
    <url-pattern>/controlledvocabulary</url-pattern>
  </servlet-mapping>  
  
  <servlet-mapping>
    <servlet-name>subject-search</servlet-name>
    <url-pattern>/subject-search</url-pattern>
  </servlet-mapping> 

  <!-- Icon MIME type -->
  <mime-mapping>
    <extension>ico</extension>
    <mime-type>image/x-icon</mime-type>
  </mime-mapping>


  <!-- Error pages -->
  <error-page>
    <error-code>404</error-code>
    <location>/error/404.jsp</location>
  </error-page>

  <error-page>
    <error-code>500</error-code>
    <location>/internal-error</location>
  </error-page>

  <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/internal-error</location>
  </error-page>


  <!-- JSTL Format tag, for i18n -->
  <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
  </taglib>
  
  <!-- DSpace JSP Tag Library -->
  <taglib>
    <taglib-uri>http://www.dspace.org/dspace-tags.tld</taglib-uri>
    <taglib-location>/WEB-INF/dspace-tags.tld</taglib-location>
  </taglib>

</web-app>
