David Jencks wrote:
> cf
> https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-servlet_3.0_spec

Of course. I should have thought of that. Have you done any implementation or
were you waiting for Tomcat 7?

> Is there a new draft of 3.0 or is this for the first public draft?
This is the public review. There have been quite a few changes since the public
draft.

There is only a week or so of the month long review period left.

Mark

> 
> thanks
> david jencks
> 
> 
> On Jan 6, 2009, at 7:15 AM, ma...@apache.org wrote:
> 
>> Author: markt
>> Date: Tue Jan  6 07:15:32 2009
>> New Revision: 731967
>>
>> URL: http://svn.apache.org/viewvc?rev=731967&view=rev
>> Log:
>> First attempt at updating the javax.servlet package for the 3.0 spec
>> It compiles and runs but 99.9% of the implementation is stubbed out
>> and marked with TODO SERVLET3
>>
>> Added:
>>    tomcat/trunk/java/javax/servlet/AsyncContext.java   (with props)
>>    tomcat/trunk/java/javax/servlet/AsyncEvent.java   (with props)
>>    tomcat/trunk/java/javax/servlet/AsyncListener.java   (with props)
>>    tomcat/trunk/java/javax/servlet/DispatcherType.java   (with props)
>>    tomcat/trunk/java/javax/servlet/SessionCookieConfig.java   (with
>> props)
>>    tomcat/trunk/java/javax/servlet/SessionTrackingMode.java   (with
>> props)
>>    tomcat/trunk/java/javax/servlet/annotation/
>>    tomcat/trunk/java/javax/servlet/annotation/InitParam.java   (with
>> props)
>>    tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java  
>> (with props)
>>    tomcat/trunk/java/javax/servlet/annotation/WebServlet.java   (with
>> props)
>>   
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java  
>> (with props)
>> Modified:
>>    tomcat/trunk/TOMCAT-7-RELEASE-PLAN.txt
>>    tomcat/trunk/build.properties.default
>>    tomcat/trunk/java/javax/servlet/ServletContext.java
>>    tomcat/trunk/java/javax/servlet/ServletRequest.java
>>    tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java
>>    tomcat/trunk/java/javax/servlet/http/Cookie.java
>>    tomcat/trunk/java/org/apache/catalina/connector/Request.java
>>    tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
>>    tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
>>   
>> tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
>>    tomcat/trunk/java/org/apache/catalina/core/Constants.java
>>    tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java
>>    tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
>>
>> Modified: tomcat/trunk/TOMCAT-7-RELEASE-PLAN.txt
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-7-RELEASE-PLAN.txt?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/TOMCAT-7-RELEASE-PLAN.txt (original)
>> +++ tomcat/trunk/TOMCAT-7-RELEASE-PLAN.txt Tue Jan  6 07:15:32 2009
>> @@ -22,8 +22,10 @@
>>             =====================================================
>>
>> 1. Update trunk with new API from Servlet Spec 3.0 PR
>> +   - Done
>>
>> 2. Provide NOOP implementations with TODO SRV3 markers so it will build
>> +   - Done
>>
>> 3. Implement all the new Servlet 3 features
>>
>>
>> Modified: tomcat/trunk/build.properties.default
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/build.properties.default (original)
>> +++ tomcat/trunk/build.properties.default Tue Jan  6 07:15:32 2009
>> @@ -25,7 +25,7 @@
>> #
>> -----------------------------------------------------------------------------
>>
>>
>> # ----- Vesion Control Flags -----
>> -version.major=6
>> +version.major=7
>> version.minor=0
>> version.build=0
>> version.patch=0
>>
>> Added: tomcat/trunk/java/javax/servlet/AsyncContext.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/AsyncContext.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/AsyncContext.java (added)
>> +++ tomcat/trunk/java/javax/servlet/AsyncContext.java Tue Jan  6
>> 07:15:32 2009
>> @@ -0,0 +1,33 @@
>> +/*
>> +* 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.
>> +*/
>> +package javax.servlet;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public interface AsyncContext {
>> +    ServletRequest getRequest();
>> +    ServletResponse getResponse();
>> +    boolean hasOriginalRequestAndResponse();
>> +    void forward();
>> +    void forward(String path);
>> +    void forward(ServletContext context, String path);
>> +    void complete();
>> +    void start(Runnable run);
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncContext.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncContext.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/AsyncEvent.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/AsyncEvent.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/AsyncEvent.java (added)
>> +++ tomcat/trunk/java/javax/servlet/AsyncEvent.java Tue Jan  6
>> 07:15:32 2009
>> @@ -0,0 +1,40 @@
>> +/*
>> +* 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.
>> +*/
>> +package javax.servlet;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public class AsyncEvent {
>> +    private ServletRequest request;
>> +    private ServletResponse response;
>> +
>> +    AsyncEvent(ServletRequest request, ServletResponse response) {
>> +        this.request = request;
>> +        this.response = response;
>> +    }
>> +
>> +    public ServletRequest getRequest() {
>> +        return request;
>> +    }
>> +
>> +    public ServletResponse getResponse() {
>> +        return response;
>> +    }
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncEvent.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncEvent.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/AsyncListener.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/AsyncListener.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/AsyncListener.java (added)
>> +++ tomcat/trunk/java/javax/servlet/AsyncListener.java Tue Jan  6
>> 07:15:32 2009
>> @@ -0,0 +1,29 @@
>> +/*
>> +* 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.
>> +*/
>> +package javax.servlet;
>> +
>> +import java.io.IOException;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public interface AsyncListener {
>> +    void onComplete(AsyncEvent event) throws IOException;
>> +    void onTimeout(AsyncEvent event) throws IOException;
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncListener.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/AsyncListener.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/DispatcherType.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/DispatcherType.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/DispatcherType.java (added)
>> +++ tomcat/trunk/java/javax/servlet/DispatcherType.java Tue Jan  6
>> 07:15:32 2009
>> @@ -0,0 +1,29 @@
>> +/*
>> +* 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.
>> +*/
>> +package javax.servlet;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public enum DispatcherType {
>> +    FORWARD,
>> +    INCLUDE,
>> +    REQUEST,
>> +    ERROR
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/DispatcherType.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/DispatcherType.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Modified: tomcat/trunk/java/javax/servlet/ServletContext.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletContext.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/ServletContext.java (original)
>> +++ tomcat/trunk/java/javax/servlet/ServletContext.java Tue Jan  6
>> 07:15:32 2009
>> @@ -19,7 +19,9 @@
>> import java.io.InputStream;
>> import java.net.MalformedURLException;
>> import java.net.URL;
>> +import java.util.EnumSet;
>> import java.util.Enumeration;
>> +import java.util.Map;
>> import java.util.Set;
>>
>>
>> @@ -90,10 +92,10 @@
>>     /**
>>      * Returns the major version of the Java Servlet API that this
>>      * servlet container supports. All implementations that comply
>> -     * with Version 2.4 must have this method
>> -     * return the integer 2.
>> +     * with Version 3.0 must have this method
>> +     * return the integer 3.
>>      *
>> -     * @return         2
>> +     * @return         3
>>      *
>>      */
>>
>> @@ -104,10 +106,10 @@
>>     /**
>>      * Returns the minor version of the Servlet API that this
>>      * servlet container supports. All implementations that comply
>> -     * with Version 2.4 must have this method
>> -     * return the integer 4.
>> +     * with Version 3.0 must have this method
>> +     * return the integer 0.
>>      *
>> -     * @return         4
>> +     * @return         0
>>      *
>>      */
>>
>> @@ -641,6 +643,87 @@
>>      */
>>
>>     public String getServletContextName();
>> +
>> +    /**
>> +     *
>> +     * @param servletName
>> +     * @param urlPatterns
>> +     * @since 3.0
>> +     */
>> +    public void addServletMapping(String servletName, String[]
>> urlPatterns);
>> +
>> +    /**
>> +     *
>> +     * @param filterName
>> +     * @param description
>> +     * @param className
>> +     * @param initParameters
>> +     * @param isAsyncSupported
>> +     * @since 3.0
>> +     */
>> +    public void addFilter(String filterName, String description,
>> +            String className, Map<String,String> initParameters,
>> +            boolean isAsyncSupported);
>> +
>> +    /**
>> +     *
>> +     * @param filterName
>> +     * @param dispatcherTypes
>> +     * @param isMatchAfter
>> +     * @param servletNames
>> +     * @since 3.0
>> +     */
>> +    public void addFilterMappingForServletNames(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... servletNames);
>> +
>> +    /**
>> +     *
>> +     * @param filterName
>> +     * @param dispatcherTypes
>> +     * @param isMatchAfter
>> +     * @param urlPatterns
>> +     * @since 3.0
>> +     */
>> +    public void addFilterMappingForUrlPatterns(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... urlPatterns);
>> +
>> +    /**
>> +     *
>> +     * @param sessionCookieConfig
>> +     * @since 3.0
>> +     */
>> +    public void setSessionCookieConfig(SessionCookieConfig
>> sessionCookieConfig);
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public SessionCookieConfig getSessionCookieConfig();
>> +
>> +    /**
>> +     *
>> +     * @param sessionTrackingModes
>> +     * @since 3.0
>> +     */
>> +    public void setSessionTrackingModes(
>> +            EnumSet<SessionTrackingMode> sessionTrackingModes);
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public EnumSet<SessionTrackingMode>
>> getDefaultSessionTrackingModes();
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public EnumSet<SessionTrackingMode>
>> getEffectiveSessionTrackingModes();
>> }
>>
>>
>>
>> Modified: tomcat/trunk/java/javax/servlet/ServletRequest.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletRequest.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/ServletRequest.java (original)
>> +++ tomcat/trunk/java/javax/servlet/ServletRequest.java Tue Jan  6
>> 07:15:32 2009
>> @@ -594,5 +594,76 @@
>>      */
>>     public int getLocalPort();
>>
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public ServletContext getServletContext();
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @throws java.lang.IllegalStateException
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext startAsync() throws
>> java.lang.IllegalStateException;
>> +
>> +    /**
>> +     *
>> +     * @param servletRequest
>> +     * @param servletResponse
>> +     * @return
>> +     * @throws java.lang.IllegalStateException
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext startAsync(ServletRequest servletRequest,
>> +            ServletResponse servletResponse)
>> +            throws java.lang.IllegalStateException;
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public boolean isAsyncStarted();
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public boolean isAsyncSupported();
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext getAsyncContext();
>> +
>> +    /**
>> +     *
>> +     * @param listener
>> +     * @since 3.0
>> +     */
>> +    public void addAsyncListener(AsyncListener listener);
>> +
>> +    /**
>> +     *
>> +     * @param listener
>> +     * @param servletRequest
>> +     * @param servletResponse
>> +     * @since 3.0
>> +     */
>> +    public void addAsyncListener(AsyncListener listener,
>> +            ServletRequest servletRequest, ServletResponse
>> servletResponse);
>> +
>> +    /**
>> +     *
>> +     * @param timeout
>> +     * @since 3.0
>> +     */
>> +    public void setAsyncTimeout(long timeout);
>> }
>>
>>
>> Modified: tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java (original)
>> +++ tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java Tue
>> Jan  6 07:15:32 2009
>> @@ -396,6 +396,116 @@
>>     public int getLocalPort(){
>>         return this.request.getLocalPort();
>>     }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * getServletContext() on the wrapped request object.
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public ServletContext getServletContext() {
>> +        return request.getServletContext();
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * startAsync() on the wrapped request object.
>> +     *
>> +     * @return
>> +     * @throws java.lang.IllegalStateException
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext startAsync() throws
>> java.lang.IllegalStateException {
>> +        return request.startAsync();
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * startAsync(ServletRequest, ServletResponse) on the wrapped
>> request
>> +     * object.
>> +     *
>> +     * @param servletRequest
>> +     * @param servletResponse
>> +     * @return
>> +     * @throws java.lang.IllegalStateException
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext startAsync(ServletRequest servletRequest,
>> +            ServletResponse servletResponse)
>> +            throws java.lang.IllegalStateException {
>> +        return request.startAsync(servletRequest, servletResponse);
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * isAsyncStarted() on the wrapped request object.
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public boolean isAsyncStarted() {
>> +        return request.isAsyncStarted();
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * isAsyncSupported() on the wrapped request object.
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public boolean isAsyncSupported() {
>> +        return request.isAsyncSupported();
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to return
>> +     * getAsyncContext() on the wrapped request object.
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public AsyncContext getAsyncContext() {
>> +        return request.getAsyncContext();
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to call
>> +     * addAsyncListener(AsyncListener) on the wrapped request object.
>> +     *
>> +     * @param listener
>> +     * @since 3.0
>> +     */
>> +    public void addAsyncListener(AsyncListener listener) {
>> +        request.addAsyncListener(listener);
>> +    }
>>
>> +    /**
>> +     * The default behavior of this method is to call
>> +     * addAsyncListener(AsyncListener, ServletRequest,
>> ServletResponse) on the
>> +     * wrapped request object.
>> +     *
>> +     * @param listener
>> +     * @param servletRequest
>> +     * @param servletResponse
>> +     * @since 3.0
>> +     */
>> +    public void addAsyncListener(AsyncListener listener,
>> +            ServletRequest servletRequest, ServletResponse
>> servletResponse) {
>> +        addAsyncListener(listener, servletRequest, servletResponse);
>> +    }
>> +
>> +    /**
>> +     * The default behavior of this method is to call
>> +     * startAsync() on the wrapped request object.
>> +     *
>> +     * @param timeout
>> +     * @since 3.0
>> +     */
>> +    public void setAsyncTimeout(long timeout) {
>> +        request.setAsyncTimeout(timeout);
>> +    }
>> +
>> }
>>
>>
>> Added: tomcat/trunk/java/javax/servlet/SessionCookieConfig.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/SessionCookieConfig.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/SessionCookieConfig.java (added)
>> +++ tomcat/trunk/java/javax/servlet/SessionCookieConfig.java Tue Jan 
>> 6 07:15:32 2009
>> @@ -0,0 +1,60 @@
>> +/*
>> + * 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.
>> + */
>> +package javax.servlet;
>> +
>> +/**
>> + *
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public class SessionCookieConfig {
>> +    private String domain;
>> +    private String path;
>> +    private String comment;
>> +    private boolean isHttpOnly;
>> +    private boolean isSecure;
>> +
>> +    public SessionCookieConfig(String domain, String path, String
>> comment,
>> +            boolean isHttpOnly, boolean isSecure) {
>> +        this.domain = domain;
>> +        this.path = path;
>> +        this.comment = comment;
>> +        this.isHttpOnly = isHttpOnly;
>> +        this.isSecure = isSecure;
>> +    }
>> +
>> +    public java.lang.String getDomain() {
>> +        return domain;
>> +    }
>> +
>> +    public java.lang.String getPath() {
>> +        return path;
>> +    }
>> +
>> +    public java.lang.String getComment() {
>> +        return comment;
>> +    }
>> +
>> +    public boolean isHttpOnly() {
>> +        return isHttpOnly;
>> +    }
>> +
>> +    public boolean isSecure() {
>> +        return isSecure;
>> +    }
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/SessionCookieConfig.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/SessionCookieConfig.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/SessionTrackingMode.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/SessionTrackingMode.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/SessionTrackingMode.java (added)
>> +++ tomcat/trunk/java/javax/servlet/SessionTrackingMode.java Tue Jan 
>> 6 07:15:32 2009
>> @@ -0,0 +1,28 @@
>> +/*
>> +* 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.
>> +*/
>> +package javax.servlet;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +public enum SessionTrackingMode {
>> +    COOKIE,
>> +    URL,
>> +    SSL
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/SessionTrackingMode.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/SessionTrackingMode.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/annotation/InitParam.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/InitParam.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/annotation/InitParam.java (added)
>> +++ tomcat/trunk/java/javax/servlet/annotation/InitParam.java Tue Jan 
>> 6 07:15:32 2009
>> @@ -0,0 +1,37 @@
>> +/*
>> + * 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.
>> + */
>> +package javax.servlet.annotation;
>> +
>> +import java.lang.annotation.ElementType;
>> +import java.lang.annotation.Retention;
>> +import java.lang.annotation.RetentionPolicy;
>> +import java.lang.annotation.Target;
>> +import java.lang.annotation.Documented;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +...@target({ElementType.TYPE})
>> +...@retention(RetentionPolicy.RUNTIME)
>> +...@documented
>> +public @interface InitParam {
>> +    String name();
>> +    String value();
>> +    String description() default "";
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/InitParam.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/InitParam.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java (added)
>> +++ tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java Tue
>> Jan  6 07:15:32 2009
>> @@ -0,0 +1,47 @@
>> +/*
>> + * 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.
>> + */
>> +package javax.servlet.annotation;
>> +
>> +import java.lang.annotation.ElementType;
>> +import java.lang.annotation.Retention;
>> +import java.lang.annotation.RetentionPolicy;
>> +import java.lang.annotation.Target;
>> +import java.lang.annotation.Documented;
>> +
>> +import javax.servlet.DispatcherType;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +...@target({ElementType.TYPE})
>> +...@retention(RetentionPolicy.RUNTIME)
>> +...@documented
>> +public @interface ServletFilter {
>> +    String description() default "";
>> +    String displayName() default "";
>> +    InitParam[] initParams() default {};
>> +    String filterName() default "";
>> +    String icon() default "";
>> +    String[] servletNames() default {};
>> +    String[] value() default {};
>> +    String[] urlPatterns() default {};
>> +    DispatcherType[] dispatcherTypes() default {DispatcherType.REQUEST};
>> +    boolean asyncSupported() default false;
>> +    long asyncTimeout() default 60000L;
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added: tomcat/trunk/java/javax/servlet/annotation/WebServlet.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebServlet.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/annotation/WebServlet.java (added)
>> +++ tomcat/trunk/java/javax/servlet/annotation/WebServlet.java Tue
>> Jan  6 07:15:32 2009
>> @@ -0,0 +1,43 @@
>> +/*
>> + * 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.
>> + */
>> +package javax.servlet.annotation;
>> +
>> +import java.lang.annotation.ElementType;
>> +import java.lang.annotation.Retention;
>> +import java.lang.annotation.RetentionPolicy;
>> +import java.lang.annotation.Target;
>> +import java.lang.annotation.Documented;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +...@target({ElementType.TYPE})
>> +...@retention(RetentionPolicy.RUNTIME)
>> +...@documented
>> +public @interface WebServlet {
>> +    String name() default "";
>> +    String[] value() default {};
>> +    String[] urlPatterns() default {};
>> +    int loadOnStartup() default -1;
>> +    InitParam[] initParams() default {};
>> +    boolean asyncSupported() default false;
>> +    long asyncTimeout() default 60000L;
>> +    String icon() default "";
>> +    String description() default "";
>> +}
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/WebServlet.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange: tomcat/trunk/java/javax/servlet/annotation/WebServlet.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Added:
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java?rev=731967&view=auto
>>
>> ==============================================================================
>>
>> ---
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
>> (added)
>> +++
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
>> Tue Jan  6 07:15:32 2009
>> @@ -0,0 +1,35 @@
>> +/*
>> + * 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.
>> + */
>> +package javax.servlet.annotation;
>> +
>> +import java.lang.annotation.ElementType;
>> +import java.lang.annotation.Retention;
>> +import java.lang.annotation.RetentionPolicy;
>> +import java.lang.annotation.Target;
>> +import java.lang.annotation.Documented;
>> +
>> +/**
>> + * @since 3.0
>> + * $Id$
>> + * TODO SERVLET3
>> + */
>> +...@target({ElementType.TYPE})
>> +...@retention(RetentionPolicy.RUNTIME)
>> +...@documented
>> +public @interface WebServletContextListener {
>> +    String description() default "";
>> +}
>>
>> Propchange:
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
>> ------------------------------------------------------------------------------
>>
>>    svn:eol-style = native
>>
>> Propchange:
>> tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
>> ------------------------------------------------------------------------------
>>
>>    svn:keywords = Date Author Id Revision
>>
>> Modified: tomcat/trunk/java/javax/servlet/http/Cookie.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Cookie.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/javax/servlet/http/Cookie.java (original)
>> +++ tomcat/trunk/java/javax/servlet/http/Cookie.java Tue Jan  6
>> 07:15:32 2009
>> @@ -19,6 +19,8 @@
>> import java.text.MessageFormat;
>> import java.util.ResourceBundle;
>>
>> +import javax.servlet.DispatcherType;
>> +
>> /**
>>  *
>>  * Creates a cookie, a small amount of information sent by a servlet to
>> @@ -81,14 +83,15 @@
>>     // Attributes encoded in the header's cookie fields.
>>     //
>>
>> -    private String comment;    // ;Comment=VALUE ... describes
>> cookie's use
>> -                // ;Discard ... implied by maxAge < 0
>> -    private String domain;    // ;Domain=VALUE ... domain that sees
>> cookie
>> -    private int maxAge = -1;    // ;Max-Age=VALUE ... cookies
>> auto-expire
>> -    private String path;    // ;Path=VALUE ... URLs that see the cookie
>> -    private boolean secure;    // ;Secure ... e.g. use SSL
>> -    private int version = 0;    // ;Version=1 ... means RFC 2109++ style
>> -
>> +    private String comment;    // ;Comment=VALUE ... describes
>> cookie's use
>> +                               // ;Discard ... implied by maxAge < 0
>> +    private String domain;     // ;Domain=VALUE ... domain that sees
>> cookie
>> +    private int maxAge = -1;   // ;Max-Age=VALUE ... cookies auto-expire
>> +    private String path;       // ;Path=VALUE ... URLs that see the
>> cookie
>> +    private boolean secure;    // ;Secure ... e.g. use SSL
>> +    private int version = 0;   // ;Version=1 ... means RFC 2109++ style
>> +    // TODO SERVLET3
>> +    private boolean httpOnly;  // Not in the spec but supported by
>> most browsers
>>
>>
>>     /**
>> @@ -533,5 +536,23 @@
>>         throw new RuntimeException(e.getMessage());
>>     }
>>     }
>> +
>> +    /**
>> +     *
>> +     * @return
>> +     * @since 3.0
>> +     */
>> +    public boolean isHttpOnly() {
>> +        return httpOnly;
>> +    }
>> +
>> +    /**
>> +     *
>> +     * @param httpOnly
>> +     * since 3.0
>> +     */
>> +    public void setHttpOnly(boolean httpOnly) {
>> +        this.httpOnly = httpOnly;
>> +    }
>> }
>>
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/org/apache/catalina/connector/Request.java
>> (original)
>> +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Tue
>> Jan  6 07:15:32 2009
>> @@ -35,12 +35,16 @@
>> import java.util.TreeMap;
>>
>> import javax.security.auth.Subject;
>> +import javax.servlet.AsyncContext;
>> +import javax.servlet.AsyncListener;
>> import javax.servlet.FilterChain;
>> import javax.servlet.RequestDispatcher;
>> import javax.servlet.ServletContext;
>> import javax.servlet.ServletInputStream;
>> +import javax.servlet.ServletRequest;
>> import javax.servlet.ServletRequestAttributeEvent;
>> import javax.servlet.ServletRequestAttributeListener;
>> +import javax.servlet.ServletResponse;
>> import javax.servlet.http.Cookie;
>> import javax.servlet.http.HttpServletRequest;
>> import javax.servlet.http.HttpSession;
>> @@ -1485,6 +1489,50 @@
>>     }
>>
>>
>> +    public void addAsyncListener(AsyncListener listener,
>> +            ServletRequest servletRequest, ServletResponse
>> servletResponse) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +    public void addAsyncListener(AsyncListener listener) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +    public AsyncContext getAsyncContext() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +    public ServletContext getServletContext() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +    public boolean isAsyncStarted() {
>> +        // TODO SERVLET3
>> +        return false;
>> +    }
>> +
>> +    public boolean isAsyncSupported() {
>> +        // TODO SERVLET3
>> +        return false;
>> +    }
>> +
>> +    public void setAsyncTimeout(long timeout) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +    public AsyncContext startAsync() throws IllegalStateException {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +    public AsyncContext startAsync(ServletRequest servletRequest,
>> +            ServletResponse servletResponse) throws
>> IllegalStateException {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>>     // ----------------------------------------------------
>> HttpRequest Methods
>>
>>
>>
>> Modified:
>> tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
>> (original)
>> +++ tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
>> Tue Jan  6 07:15:32 2009
>> @@ -26,8 +26,13 @@
>> import java.util.Locale;
>> import java.util.Map;
>>
>> +import javax.servlet.AsyncContext;
>> +import javax.servlet.AsyncListener;
>> import javax.servlet.RequestDispatcher;
>> +import javax.servlet.ServletContext;
>> import javax.servlet.ServletInputStream;
>> +import javax.servlet.ServletRequest;
>> +import javax.servlet.ServletResponse;
>> import javax.servlet.http.Cookie;
>> import javax.servlet.http.HttpServletRequest;
>> import javax.servlet.http.HttpSession;
>> @@ -932,4 +937,57 @@
>>         return request.getRemotePort();
>>     }
>>
>> +
>> +    public void addAsyncListener(AsyncListener listener,
>> +            ServletRequest servletRequest, ServletResponse
>> servletResponse) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addAsyncListener(AsyncListener listener) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public AsyncContext getAsyncContext() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public ServletContext getServletContext() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public boolean isAsyncStarted() {
>> +        // TODO SERVLET3
>> +        return false;
>> +    }
>> +
>> +
>> +    public boolean isAsyncSupported() {
>> +        // TODO SERVLET3
>> +        return false;
>> +    }
>> +
>> +
>> +    public void setAsyncTimeout(long timeout) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public AsyncContext startAsync() throws IllegalStateException {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public AsyncContext startAsync(ServletRequest servletRequest,
>> +            ServletResponse servletResponse) throws
>> IllegalStateException {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> }
>>
>> Modified:
>> tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
>> (original)
>> +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
>> Tue Jan  6 07:15:32 2009
>> @@ -24,6 +24,7 @@
>> import java.net.MalformedURLException;
>> import java.net.URL;
>> import java.util.ArrayList;
>> +import java.util.EnumSet;
>> import java.util.Enumeration;
>> import java.util.Iterator;
>> import java.util.Map;
>> @@ -33,11 +34,14 @@
>> import javax.naming.Binding;
>> import javax.naming.NamingException;
>> import javax.naming.directory.DirContext;
>> +import javax.servlet.DispatcherType;
>> import javax.servlet.RequestDispatcher;
>> import javax.servlet.Servlet;
>> import javax.servlet.ServletContext;
>> import javax.servlet.ServletContextAttributeEvent;
>> import javax.servlet.ServletContextAttributeListener;
>> +import javax.servlet.SessionCookieConfig;
>> +import javax.servlet.SessionTrackingMode;
>>
>> import org.apache.catalina.Context;
>> import org.apache.catalina.Host;
>> @@ -805,6 +809,61 @@
>>     }
>>
>>
>> +    public void addFilter(String filterName, String description,
>> +            String className, Map<String, String> initParameters,
>> +            boolean isAsyncSupported) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForServletNames(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... servletNames) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForUrlPatterns(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addServletMapping(String servletName, String[]
>> urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getDefaultSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getEffectiveSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public SessionCookieConfig getSessionCookieConfig() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public void setSessionCookieConfig(SessionCookieConfig
>> sessionCookieConfig) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void setSessionTrackingModes(
>> +            EnumSet<SessionTrackingMode> sessionTrackingModes) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>>     // --------------------------------------------------------
>> Package Methods
>>     protected StandardContext getContext() {
>>         return this.context;
>>
>> Modified:
>> tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> ---
>> tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
>> (original)
>> +++
>> tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
>> Tue Jan  6 07:15:32 2009
>> @@ -27,14 +27,19 @@
>> import java.security.AccessController;
>> import java.security.PrivilegedActionException;
>> import java.security.PrivilegedExceptionAction;
>> +import java.util.EnumSet;
>> import java.util.Enumeration;
>> import java.util.HashMap;
>> +import java.util.Map;
>> import java.util.Set;
>>
>> +import javax.servlet.DispatcherType;
>> import javax.servlet.RequestDispatcher;
>> import javax.servlet.Servlet;
>> import javax.servlet.ServletContext;
>> import javax.servlet.ServletException;
>> +import javax.servlet.SessionCookieConfig;
>> +import javax.servlet.SessionTrackingMode;
>>
>> import org.apache.catalina.Globals;
>> import org.apache.catalina.security.SecurityUtil;
>> @@ -364,6 +369,61 @@
>>     }
>>
>>
>> +    public void addFilter(String filterName, String description,
>> +            String className, Map<String, String> initParameters,
>> +            boolean isAsyncSupported) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForServletNames(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... servletNames) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForUrlPatterns(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addServletMapping(String servletName, String[]
>> urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getDefaultSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getEffectiveSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public SessionCookieConfig getSessionCookieConfig() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public void setSessionCookieConfig(SessionCookieConfig
>> sessionCookieConfig) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void setSessionTrackingModes(
>> +            EnumSet<SessionTrackingMode> sessionTrackingModes) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>>     /**
>>      * Use reflection to invoke the requested method. Cache the method
>> object
>>      * to speed up the process
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/core/Constants.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/Constants.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/org/apache/catalina/core/Constants.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/core/Constants.java Tue Jan 
>> 6 07:15:32 2009
>> @@ -22,8 +22,8 @@
>> public class Constants {
>>
>>     public static final String Package = "org.apache.catalina.core";
>> -    public static final int MAJOR_VERSION = 2;
>> -    public static final int MINOR_VERSION = 5;
>> +    public static final int MAJOR_VERSION = 3;
>> +    public static final int MINOR_VERSION = 0;
>>
>>     public static final String JSP_SERVLET_CLASS =
>>         "org.apache.jasper.servlet.JspServlet";
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> --- tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java
>> (original)
>> +++ tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java Tue
>> Jan  6 07:15:32 2009
>> @@ -30,10 +30,14 @@
>> import java.util.Locale;
>> import java.util.Map;
>>
>> +import javax.servlet.AsyncContext;
>> +import javax.servlet.AsyncListener;
>> import javax.servlet.FilterChain;
>> import javax.servlet.RequestDispatcher;
>> +import javax.servlet.ServletContext;
>> import javax.servlet.ServletInputStream;
>> import javax.servlet.ServletRequest;
>> +import javax.servlet.ServletResponse;
>> import javax.servlet.http.Cookie;
>> import javax.servlet.http.HttpServletRequest;
>> import javax.servlet.http.HttpSession;
>> @@ -263,6 +267,17 @@
>>     public String getLocalName() { return null; }
>>     public int getLocalPort() { return -1; }
>>     public int getRemotePort() { return -1; }
>> -
>> +    public void addAsyncListener(AsyncListener listener,
>> ServletRequest req,
>> +            ServletResponse res) {}
>> +    public void addAsyncListener(AsyncListener listener) {}
>> +    public AsyncContext getAsyncContext() { return null; }
>> +    public ServletContext getServletContext() { return null; }
>> +    public boolean isAsyncStarted() { return false; }
>> +    public boolean isAsyncSupported() { return false; }
>> +    public void setAsyncTimeout(long timeout) {}
>> +    public AsyncContext startAsync() throws IllegalStateException {
>> +        return null; }
>> +    public AsyncContext startAsync(ServletRequest req,
>> ServletResponse res)
>> +            throws IllegalStateException { return null; }
>> }
>>
>>
>> Modified:
>> tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
>> URL:
>> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java?rev=731967&r1=731966&r2=731967&view=diff
>>
>> ==============================================================================
>>
>> ---
>> tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
>> (original)
>> +++
>> tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
>> Tue Jan  6 07:15:32 2009
>> @@ -23,16 +23,21 @@
>> import java.io.PrintWriter;
>> import java.net.MalformedURLException;
>> import java.net.URL;
>> +import java.util.EnumSet;
>> import java.util.Enumeration;
>> import java.util.HashSet;
>> import java.util.Hashtable;
>> +import java.util.Map;
>> import java.util.Set;
>> import java.util.Vector;
>>
>> +import javax.servlet.DispatcherType;
>> import javax.servlet.RequestDispatcher;
>> import javax.servlet.Servlet;
>> import javax.servlet.ServletContext;
>> import javax.servlet.ServletException;
>> +import javax.servlet.SessionCookieConfig;
>> +import javax.servlet.SessionTrackingMode;
>>
>>
>> /**
>> @@ -159,7 +164,7 @@
>>      */
>>     public int getMajorVersion() {
>>
>> -        return (2);
>> +        return (3);
>>
>>     }
>>
>> @@ -181,7 +186,7 @@
>>      */
>>     public int getMinorVersion() {
>>
>> -        return (3);
>> +        return (0);
>>
>>     }
>>
>> @@ -437,5 +442,58 @@
>>     }
>>
>>
>> +    public void addFilter(String filterName, String description,
>> +            String className, Map<String, String> initParameters,
>> +            boolean isAsyncSupported) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForServletNames(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... servletNames) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addFilterMappingForUrlPatterns(String filterName,
>> +            EnumSet<DispatcherType> dispatcherTypes, boolean
>> isMatchAfter,
>> +            String... urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void addServletMapping(String servletName, String[]
>> urlPatterns) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getDefaultSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public EnumSet<SessionTrackingMode>
>> getEffectiveSessionTrackingModes() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public SessionCookieConfig getSessionCookieConfig() {
>> +        // TODO SERVLET3
>> +        return null;
>> +    }
>> +
>> +
>> +    public void setSessionCookieConfig(SessionCookieConfig
>> sessionCookieConfig) {
>> +        // TODO SERVLET3
>> +    }
>> +
>> +
>> +    public void setSessionTrackingModes(
>> +            EnumSet<SessionTrackingMode> sessionTrackingModes) {
>> +        // TODO SERVLET3
>> +    }
>>
>> }
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to