<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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_2_5.xsd"
         version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee">

  <security-constraint>
    <display-name>
      Redirect to the login page if needed before showing
      any html pages
    </display-name>
    <web-resource-collection>
      <web-resource-name>Login required</web-resource-name>
      <url-pattern>*.html</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>*</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- 
  
    Expenses.html and ExpensesMobile.html rely upon RequestFactoryServlet

   -->

  <servlet>
    <servlet-name>requestFactoryServlet</servlet-name>
    <servlet-class>com.google.gwt.requestfactory.server.RequestFactoryServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>requestFactoryServlet</servlet-name>
    <url-pattern>/gwtRequest</url-pattern>
  </servlet-mapping>

  <filter>
    <description>
      This filter demonstrates making GAE authentication
      services visible to a RequestFactory client.
    </description>
    <filter-name>GaeAuthFilter</filter-name>
    <filter-class>com.google.gwt.sample.gaerequest.server.GaeAuthFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>GaeAuthFilter</filter-name>
    <url-pattern>/gwtRequest/*</url-pattern>
  </filter-mapping>


  <!-- 
  
    LoadExpensesDB.html uses GWT RPC to implement its DataGenerationService

   -->

  <servlet>
    <description>
      GWT RPC service used by LoadExpensesDB.html
    </description>
    <servlet-name>dataGeneration</servlet-name>
    <servlet-class>com.google.gwt.sample.expenses.server.DataGenerationServiceImpl</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>dataGeneration</servlet-name>
    <url-pattern>/loadexpensesdb/dataGeneration</url-pattern>
  </servlet-mapping>

  <!--<security-constraint> 
    <display-name>
      Require admin access for LoadExpensesDB.html and its servlet
    </display-name>
    <web-resource-collection> 
      <url-pattern>/loadexpensesdb/*</url-pattern> 
      <url-pattern>/LoadExpensesDB.html</url-pattern>
    </web-resource-collection> 
    <auth-constraint> 
      <role-name>admin</role-name> 
    </auth-constraint> 
  </security-constraint>-->


	<!-- 
  
    AppStats 
    
    Uncomment to use GAE's App Stats
    http://code.google.com/appengine/docs/java/tools/appstats.html
    
    Visualize the stats with Speed Tracer
    http://code.google.com/webtoolkit/speedtracer/server-side-tracing.html
    
  -->
  
  <!--<servlet>
    <servlet-name>appstats</servlet-name>
    <servlet-class>com.google.appengine.tools.appstats.AppstatsServlet</servlet-class>
    <init-param>
      <param-name>requireAdminAuthentication</param-name>
      <param-value>false</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>appstats</servlet-name>
    <url-pattern>/appstats/*</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>appstats</filter-name>
    <filter-class>com.google.appengine.tools.appstats.AppstatsFilter</filter-class>
    <init-param>
      <param-name>logMessage</param-name>
      <param-value>Appstats available:
        /appstats/details?time={ID}</param-value>
    </init-param>
    <init-param>
      <param-name>basePath</param-name>
      <param-value>/appstats/</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>appstats</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>-->


  <!-- 
  
    GAE Remote API provides a bulk uploader and other goodies
    
   -->

  <!--  <servlet>
    <servlet-name>remoteapi</servlet-name>
    <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
    <description>
      Provides access to the GAE datastore bulkloader, requires appengine-tools-api.jar
      (which is commented out in pom.xml, qv)
    </description>
  </servlet>
  <servlet-mapping>
    <servlet-name>remoteapi</servlet-name>
    <url-pattern>/remote_api</url-pattern>
  </servlet-mapping>

  <security-constraint> 
    <display-name>
      Require admin access for remoteapi
    </display-name>
    <web-resource-collection> 
      <url-pattern>/remote_api</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
      <role-name>admin</role-name> 
    </auth-constraint> 
  </security-constraint>-->

</web-app>
