You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/01/06 16:15:33 UTC
svn commit: r731967 - in /tomcat/trunk: ./ java/javax/servlet/
java/javax/servlet/annotation/ java/javax/servlet/http/
java/org/apache/catalina/connector/ java/org/apache/catalina/core/
java/org/apache/jasper/servlet/
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r731967 - in /tomcat/trunk: ./ java/javax/servlet/
java/javax/servlet/annotation/ java/javax/servlet/http/ java/org/apache/catalina/connector/
java/org/apache/catalina/core/ java/org/apache/jasper/servlet/
Posted by Mark Thomas <ma...@apache.org>.
Remy Maucherat wrote:
> On Tue, 2009-01-06 at 22:17 +0000, Mark Thomas wrote:
>> This is the public review. There have been quite a few changes since the public
>> draft.
>
> And there might be more changes, esp with the async stuff.
I was going to leave any implementation of that until last for that very reason :)
Are you expecting another public draft after this one?
Mark
>
> Rémy
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r731967 - in /tomcat/trunk: ./ java/javax/servlet/
java/javax/servlet/annotation/ java/javax/servlet/http/
java/org/apache/catalina/connector/ java/org/apache/catalina/core/
java/org/apache/jasper/servlet/
Posted by Remy Maucherat <re...@apache.org>.
On Tue, 2009-01-06 at 22:17 +0000, Mark Thomas wrote:
> This is the public review. There have been quite a few changes since the public
> draft.
And there might be more changes, esp with the async stuff.
Rémy
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r731967 - in /tomcat/trunk: ./ java/javax/servlet/
java/javax/servlet/annotation/ java/javax/servlet/http/ java/org/apache/catalina/connector/
java/org/apache/catalina/core/ java/org/apache/jasper/servlet/
Posted by Mark Thomas <ma...@apache.org>.
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, markt@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-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r731967 - in /tomcat/trunk: ./ java/javax/servlet/ java/javax/servlet/annotation/ java/javax/servlet/http/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java/org/apache/jasper/servlet/
Posted by David Jencks <da...@yahoo.com>.
cf https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-servlet_3.0_spec
Is there a new draft of 3.0 or is this for the first public draft?
thanks
david jencks
On Jan 6, 2009, at 7:15 AM, markt@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-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org