dannyc      01/03/16 15:45:40

  Modified:    src/share/javax/servlet Filter.java ServletContext.java
                        ServletContextAttributeEvent.java
               src/share/javax/servlet/http HttpServletRequest.java
                        HttpSession.java HttpSessionBindingEvent.java
  Added:       src/share/javax/servlet ServletContextAttributeListener.java
               src/share/javax/servlet/http
                        HttpSessionAttributeListener.java
  Removed:     src/share/javax/servlet
                        ServletContextAttributesListener.java
               src/share/javax/servlet/http
                        HttpSessionAttributesListener.java
  Log:
  Made the following API changes as per the expert group in anticipation of the 
upcoming draft of Servlet 2.3. (in the right branch this time :-))
  
    Filter: removed getFilterConfig()
  
    Filter: removed setFilterConfig(), added init() and destroy()
  
    Listeners: renamed attribute Listener interfaces, updated javadoc links from event 
classes
  
    ServletContext: added extra argument to getResourcePaths()
  
    HttpSession: added new getServletContext() method
  
    HttpServletRequest: fixed typo in CLIENT_CERT_AUTH static value
  
  Revision  Changes    Path
  1.2       +24 -10    jakarta-servletapi-4/src/share/javax/servlet/Filter.java
  
  Index: Filter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-servletapi-4/src/share/javax/servlet/Filter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Filter.java       2001/01/09 03:24:15     1.1
  +++ Filter.java       2001/03/16 23:45:27     1.2
  @@ -89,18 +89,18 @@
   public interface Filter {
   
        /** 
  -     * The container calls this method when the Filter is instantiated and
  -     ** passes in a FilterConfig object. When the container is done with
  -     ** the Filter, it calls this method, passing in null.
  +     * Called by the web container to indicate to a filter that it is being placed 
into
  +     * service. The servlet container calls the init method exactly once after 
instantiating the
  +     * filter. The init method must complete successfully before the filter is 
asked to do any
  +     * filtering work. <br><br>
  +
  +             * The web container cannot place the filter into service if the init 
method either<br>
  +        * 1.Throws a ServletException <br>
  +        * 2.Does not return within a time period defined by the web container 
        */
  -     public void setFilterConfig(FilterConfig filterConfig);
  +     public void init(FilterConfig filterConfig);
        
  -     /** 
  -     * Return the FilterConfig for this Filter.
  -     * 
  -     */
  -     public FilterConfig getFilterConfig();
  -
  +     
        /**
        * The <code>doFilter</code> method of the Filter is called by the container
        * each time a request/response pair is passed through the chain due
  @@ -118,6 +118,20 @@
        ** 5. Directly set headers on the response after invokation of the next entity 
in ther filter chain.
        **/
       public void doFilter ( ServletRequest request, ServletResponse response, 
FilterChain chain ) throws IOException, ServletException;
  +
  +     /**
  +     * Called by the web container to indicate to a filter that it is being taken 
out of service. This 
  +     * method is only called once all threads within the filter's doFilter method 
have exited or after
  +     * a timeout period has passed. After the web container calls this method, it 
will not call the
  +     * doFilter method again on this instance of the filter. <br><br>
  +     * 
  +             * This method gives the filter an opportunity to clean up any 
resources that are being held (for
  +     * example, memory, file handles, threads) and make sure that any persistent 
state is synchronized
  +     * with the filter's current state in memory.
  +     */
  +
  +     public void destroy();
  +
   
   }
   
  
  
  
  1.2       +24 -5     jakarta-servletapi-4/src/share/javax/servlet/ServletContext.java
  
  Index: ServletContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-servletapi-4/src/share/javax/servlet/ServletContext.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServletContext.java       2001/01/09 03:24:16     1.1
  +++ ServletContext.java       2001/03/16 23:45:28     1.2
  @@ -174,14 +174,33 @@
       public String getMimeType(String file);
       
       /**
  -    * Return all the paths to resources held in the web application. All paths are
  -    * java.lang.String objects, begin with a leading /, and are relative to the root
  -    * of the web application.
  -    *@return an immutable set containing the paths
  +    * Returns a directory-like listing of all the paths to resources within the web 
application whose longest sub-path
  +    * matches the supplied path argument. Paths indicating subdirectory paths end 
with a '/'. The returned paths are all 
  +    * relative to the root of the web application and have a leading '/'. For 
example, for a web application 
  +    * containing<br><br>
  +
  +    * /welcome.html<br>
  +    * /catalog/index.html<br>
  +    * /catalog/products.html<br>
  +    * /catalog/offers/books.html<br>
  +    * /catalog/offers/music.html<br>
  +    * /customer/login.jsp<br>
  +    * /WEB-INF/web.xml<br>
  +    * /WEB-INF/classes/com.acme.OrderServlet.class,<br><br>
  +    *
  +    * getResourcePaths("/") returns {"/welcome.html", "/catalog/", "/customer/", 
"/WEB-INF/"}<br>
  +    * getResourcePaths("/catalog/") returns {"/catalog/index.html", 
"/catalog/products.html", "/catalog/offers/"}.<br>
  +        
  +
  +
  +    *@param the partial path used to match the resources, which must start with a /
  +    *@return a Set containing the directory listing, or null if there are no 
resources in the web application whose path
  +     * begins with the supplied path.
  +
       * @since Servlet 2.3
       */
       
  -    public Set getResourcePaths();
  +    public Set getResourcePaths(String path);
       
       
   
  
  
  
  1.2       +1 -1      
jakarta-servletapi-4/src/share/javax/servlet/ServletContextAttributeEvent.java
  
  Index: ServletContextAttributeEvent.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-servletapi-4/src/share/javax/servlet/ServletContextAttributeEvent.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServletContextAttributeEvent.java 2001/01/09 03:24:16     1.1
  +++ ServletContextAttributeEvent.java 2001/03/16 23:45:29     1.2
  @@ -64,7 +64,7 @@
        /** 
        * This is the event class for notifications about changes to the attributes of 
the
        *  servlet context of a web application.
  -     * @see ServletContextAttributesListener
  +     * @see ServletContextAttributeListener
         * @since       v 2.3
        */
   
  
  
  
  1.1                  
jakarta-servletapi-4/src/share/javax/servlet/ServletContextAttributeListener.java
  
  Index: ServletContextAttributeListener.java
  ===================================================================
  package javax.servlet;
  
  import java.util.EventListener;
  
        /** Implementations of this interface recieve notifications of
        ** changes to the attribute list on the servlet context of a web application. 
        * To recieve notification events, the implementation class
        * must be configured in the deployment descriptor for the web application.
        * @see ServletContextAttributeEvent
         * @since       v 2.3
        */
  
  public interface ServletContextAttributeListener extends EventListener {
        /** Notification that a new attribute was added to the servlet context. Called 
after the attribute is added.*/
  public void attributeAdded(ServletContextAttributeEvent scab);
        /** Notification that an existing attribute has been remved from the servlet 
context. Called after the attribute is removed.*/
  public void attributeRemoved(ServletContextAttributeEvent scab);
        /** Notification that an attribute on the servlet context has been replaced. 
Called after the attribute is replaced. */
  public void attributeReplaced(ServletContextAttributeEvent scab);
  }
  
  
  
  
  1.2       +2 -2      
jakarta-servletapi-4/src/share/javax/servlet/http/HttpServletRequest.java
  
  Index: HttpServletRequest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-servletapi-4/src/share/javax/servlet/http/HttpServletRequest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpServletRequest.java   2001/01/09 03:24:19     1.1
  +++ HttpServletRequest.java   2001/03/16 23:45:35     1.2
  @@ -91,9 +91,9 @@
       */
       public static final String FORM_AUTH = "FORM";
       /**
  -    * String identifier for Basic authentication. Value "CERT-CLIENT"
  +    * String identifier for Basic authentication. Value "CLIENT_CERT"
       */
  -    public static final String CLIENT_CERT_AUTH = "CERT-CLIENT";
  +    public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";
       /**
       * String identifier for Basic authentication. Value "DIGEST"
       */
  
  
  
  1.2       +11 -1     
jakarta-servletapi-4/src/share/javax/servlet/http/HttpSession.java
  
  Index: HttpSession.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-servletapi-4/src/share/javax/servlet/http/HttpSession.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpSession.java  2001/01/09 03:24:19     1.1
  +++ HttpSession.java  2001/03/16 23:45:36     1.2
  @@ -61,6 +61,7 @@
   package javax.servlet.http;
   
   import java.util.Enumeration;
  +import javax.servlet.ServletContext;
   
   /**
    *
  @@ -184,7 +185,16 @@
       public long getLastAccessedTime();
       
       
  -    
  +    /**
  +    * Returns the ServletContext to which this session belongs.
  +    *    
  +    * @return The ServletContext object for the web application
  +    * @since 2.3
  +    */
  +
  +    public ServletContext getServletContext();
  +
  +
       /**
        *
        * Specifies the time, in seconds, between client requests before the 
  
  
  
  1.2       +2 -2      
jakarta-servletapi-4/src/share/javax/servlet/http/HttpSessionBindingEvent.java
  
  Index: HttpSessionBindingEvent.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-servletapi-4/src/share/javax/servlet/http/HttpSessionBindingEvent.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpSessionBindingEvent.java      2001/01/09 03:24:20     1.1
  +++ HttpSessionBindingEvent.java      2001/03/16 23:45:37     1.2
  @@ -68,7 +68,7 @@
    *
    * Either Sent to an object that implements
    * {@link HttpSessionBindingListener} when it is bound or 
  - * unbound from a session, or to a {@link HttpSessionAttributesListener} 
  + * unbound from a session, or to a {@link HttpSessionAttributeListener} 
    * that has been configured in the deploymewnt descriptor when any attribute is
    * bound, unbound or replaced in a session.
    *
  @@ -83,7 +83,7 @@
    * @since v2.3
    * @see              HttpSession
    * @see              HttpSessionBindingListener
  - * @see                      HttpSessionAttributesListener
  + * @see                      HttpSessionAttributeListener
    */
   
   public class HttpSessionBindingEvent extends HttpSessionEvent {
  
  
  
  1.1                  
jakarta-servletapi-4/src/share/javax/servlet/http/HttpSessionAttributeListener.java
  
  Index: HttpSessionAttributeListener.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. 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.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:  
   *       "This product includes software developed by the 
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written 
   *    permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
   * ITS 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.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   * ====================================================================
   *
   * This source code implements specifications defined by the Java
   * Community Process. In order to remain compliant with the specification
   * DO NOT add / change / or delete method signatures!
   */
  
  package javax.servlet.http;
  
  import java.util.EventListener;
  
        /** This listener interface can be implemented in order to
        * get notifications of changes to the attribute lists of sessions within
        * this web application.
        * @since        v 2.3
  */
  
  public interface HttpSessionAttributeListener extends EventListener {
        /** Notification that an attribute has been added to a session.*/
      public void attributeAdded ( HttpSessionBindingEvent se );
        /** Notification that an attribute has been removed from a session.*/
      public void attributeRemoved ( HttpSessionBindingEvent se );
        /** Notification that an attribute has been replaced in a session.*/
      public void attributeReplaced ( HttpSessionBindingEvent se );
  
  }
  
  
  
  

Reply via email to