<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<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">

    <display-name>opsui</display-name>

     <!--  
          There are three means to configure Wickets configuration mode and they are
          tested in the order given. 
          1) A system property: -Dwicket.configuration
          2) servlet specific <init-param>
          3) context specific <context-param>
          The value might be either "development" (reloading when templates change)
          or "deployment". If no configuration is found, "development" is the default.
    -->

    <filter>
        <filter-name>wicket.browser</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
            <param-name>applicationClassName</param-name>
            <param-value>org.apache.oodt.pcs.opsui.OpsuiApp</param-value>
        </init-param>
    </filter>

 <filter-mapping>
  <filter-name>wicket.browser</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>
 
  <context-param>
    <param-name>filemgr.working.dir</param-name>
    <param-value>/tmp</param-value>
  </context-param>

  <servlet>
    <servlet-name>DataDeliveryServlet</servlet-name>
    <servlet-class>org.apache.oodt.cas.product.data.DataDeliveryServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>DatasetDeliveryServlet</servlet-name>
    <servlet-class>org.apache.oodt.cas.product.data.DatasetDeliveryServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>DataDeliveryServlet</servlet-name>
    <url-pattern>/data</url-pattern>
  </servlet-mapping>
  
  <servlet-mapping>
    <servlet-name>DatasetDeliveryServlet</servlet-name>
    <url-pattern>/dataset</url-pattern>
  </servlet-mapping>  
 


</web-app>
