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/04/23 18:15:01 UTC
svn commit: r767956 [1/2] - in /tomcat/trunk/java: javax/servlet/
javax/servlet/annotation/ javax/servlet/http/
org/apache/catalina/connector/ org/apache/catalina/core/
org/apache/catalina/valves/ org/apache/jasper/servlet/
Author: markt
Date: Thu Apr 23 16:14:59 2009
New Revision: 767956
URL: http://svn.apache.org/viewvc?rev=767956&view=rev
Log:
Update for April draft of servlet spec. Some 3.0 stuff that was complete will need to be re-done
Added:
tomcat/trunk/java/javax/servlet/AsyncContext.java (contents, props changed)
- copied, changed from r766074, tomcat/trunk/java/javax/servlet/AsyncContext.java
tomcat/trunk/java/javax/servlet/FilterRegistration.java (with props)
tomcat/trunk/java/javax/servlet/Registration.java (with props)
tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java (with props)
tomcat/trunk/java/javax/servlet/ServletRegistration.java (with props)
tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java (with props)
tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java (with props)
tomcat/trunk/java/javax/servlet/annotation/WebFilter.java
- copied, changed from r766650, tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java
tomcat/trunk/java/javax/servlet/annotation/WebInitParam.java
- copied, changed from r766650, tomcat/trunk/java/javax/servlet/annotation/InitParam.java
tomcat/trunk/java/javax/servlet/annotation/WebListener.java
- copied, changed from r766650, tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
tomcat/trunk/java/javax/servlet/http/HttpUtils.java (props changed)
- copied unchanged from r766074, tomcat/trunk/java/javax/servlet/http/HttpUtils.java
tomcat/trunk/java/javax/servlet/http/Part.java (with props)
Removed:
tomcat/trunk/java/javax/servlet/AsyncDispatcher.java
tomcat/trunk/java/javax/servlet/annotation/InitParam.java
tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java
tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java
Modified:
tomcat/trunk/java/javax/servlet/AsyncListener.java
tomcat/trunk/java/javax/servlet/DispatcherType.java
tomcat/trunk/java/javax/servlet/RequestDispatcher.java
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/ServletResponseWrapper.java
tomcat/trunk/java/javax/servlet/SessionCookieConfig.java
tomcat/trunk/java/javax/servlet/SessionTrackingMode.java
tomcat/trunk/java/javax/servlet/annotation/WebServlet.java
tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java
tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java
tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java
tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.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/connector/Response.java
tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.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/DummyRequest.java
tomcat/trunk/java/org/apache/catalina/core/DummyResponse.java
tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
tomcat/trunk/java/org/apache/catalina/valves/RequestDumperValve.java
tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java
Copied: tomcat/trunk/java/javax/servlet/AsyncContext.java (from r766074, tomcat/trunk/java/javax/servlet/AsyncContext.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/AsyncContext.java?p2=tomcat/trunk/java/javax/servlet/AsyncContext.java&p1=tomcat/trunk/java/javax/servlet/AsyncContext.java&r1=766074&r2=767956&rev=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/AsyncContext.java (original)
+++ tomcat/trunk/java/javax/servlet/AsyncContext.java Thu Apr 23 16:14:59 2009
@@ -22,12 +22,45 @@
* TODO SERVLET3
*/
public interface AsyncContext {
+ public static final String ASYNC_REQUEST_URI =
+ "javax.servlet.async.request_uri";
+ public static final String ASYNC_CONTEXT_PATH =
+ "javax.servlet.async.context_path";
+ public static final String ASYNC_PATH_INFO =
+ "javax.servlet.async.path_info";
+ public static final String ASYNC_SERVLET_PATH =
+ "javax.servlet.async.servlet_path";
+ public static final String ASYNC_QUERY_STRING =
+ "javax.servlet.async.query_string";
+
ServletRequest getRequest();
+
ServletResponse getResponse();
+
boolean hasOriginalRequestAndResponse();
- void forward();
- void forward(String path);
- void forward(ServletContext context, String path);
+
+ /**
+ *
+ * @throws IllegalStateException
+ */
+ void dispatch();
+
+ /**
+ *
+ * @param path
+ * @throws IllegalStateException
+ */
+ void dispatch(String path);
+
+ /**
+ *
+ * @param context
+ * @param path
+ * @throws IllegalStateException
+ */
+ void dispatch(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
Propchange: tomcat/trunk/java/javax/servlet/AsyncContext.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Apr 23 16:14:59 2009
@@ -0,0 +1 @@
+/tomcat/tc6.0.x/trunk/java/javax/servlet/AsyncContext.java:742915
Modified: tomcat/trunk/java/javax/servlet/AsyncListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/AsyncListener.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/AsyncListener.java (original)
+++ tomcat/trunk/java/javax/servlet/AsyncListener.java Thu Apr 23 16:14:59 2009
@@ -25,6 +25,6 @@
* TODO SERVLET3 - Add comments
*/
public interface AsyncListener extends EventListener {
- void onDoneAsync(AsyncEvent event) throws IOException;
+ void onComplete(AsyncEvent event) throws IOException;
void onTimeout(AsyncEvent event) throws IOException;
}
Modified: tomcat/trunk/java/javax/servlet/DispatcherType.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/DispatcherType.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/DispatcherType.java (original)
+++ tomcat/trunk/java/javax/servlet/DispatcherType.java Thu Apr 23 16:14:59 2009
@@ -24,5 +24,6 @@
FORWARD,
INCLUDE,
REQUEST,
+ ASYNC,
ERROR
}
Added: tomcat/trunk/java/javax/servlet/FilterRegistration.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/FilterRegistration.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/FilterRegistration.java (added)
+++ tomcat/trunk/java/javax/servlet/FilterRegistration.java Thu Apr 23 16:14:59 2009
@@ -0,0 +1,53 @@
+/*
+* 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.util.EnumSet;
+
+/**
+ * @since 3.0
+ * $Id$
+ * TODO SERVLET3 - Add comments
+ */
+public interface FilterRegistration extends Registration {
+
+ /**
+ *
+ * @param dispatcherTypes
+ * @param isMatchAfter
+ * @param servletNames
+ * @throws IllegalArgumentException
+ * @throws IllegalStateException
+ */
+ public void addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes,
+ boolean isMatchAfter, String... servletNames);
+
+ /**
+ *
+ * @param dispatcherTypes
+ * @param isMatchAfter
+ * @param urlPatterns
+ * @throws IllegalArgumentException
+ * @throws IllegalStateException
+ */
+ public void addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes,
+ boolean isMatchAfter, String... urlPatterns);
+
+ public static interface Dynamic
+ extends FilterRegistration, Registration.Dynamic {
+ }
+}
Propchange: tomcat/trunk/java/javax/servlet/FilterRegistration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/FilterRegistration.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Added: tomcat/trunk/java/javax/servlet/Registration.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/Registration.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/Registration.java (added)
+++ tomcat/trunk/java/javax/servlet/Registration.java Thu Apr 23 16:14:59 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;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @since 3.0
+ * $Id$
+ * TODO SERVLET3 - Add comments
+ */
+public interface Registration {
+
+ public boolean setInitParameter(String name, String value)
+ throws IllegalArgumentException, IllegalStateException;
+
+ public Set<String> setInitParameters(Map<String,String> initParameters)
+ throws IllegalArgumentException, IllegalStateException;
+
+ public interface Dynamic {
+
+ public void setDescription(String description)
+ throws IllegalStateException;
+
+ public void setAsyncSupported(boolean isAsyncSupported)
+ throws IllegalStateException;
+ }
+}
Propchange: tomcat/trunk/java/javax/servlet/Registration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/Registration.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Modified: tomcat/trunk/java/javax/servlet/RequestDispatcher.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/RequestDispatcher.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/RequestDispatcher.java (original)
+++ tomcat/trunk/java/javax/servlet/RequestDispatcher.java Thu Apr 23 16:14:59 2009
@@ -43,7 +43,38 @@
public interface RequestDispatcher {
-
+ public static final String ERROR_EXCEPTION =
+ "javax.servlet.error.exception";
+ public static final String ERROR_EXCEPTION_TYPE =
+ "javax.servlet.error.exception_type";
+ public static final String ERROR_MESSAGE =
+ "javax.servlet.error.message";
+ public static final String ERROR_REQUEST_URI =
+ "javax.servlet.error.request_uri";
+ public static final String ERROR_SERVLET_NAME =
+ "javax.servlet.error.servlet_name";
+ public static final String ERROR_STATUS_CODE =
+ "javax.servlet.error.status_code";
+ public static final String FORWARD_CONTEXT_PATH =
+ "javax.servlet.forward.context_path";
+ public static final String FORWARD_PATH_INFO =
+ "javax.servlet.forward.path_info";
+ public static final String FORWARD_QUERY_STRING =
+ "javax.servlet.forward.query_string";
+ public static final String FORWARD_REQUEST_URI =
+ "javax.servlet.forward.request_uri";
+ public static final String FORWARD_SERVLET_PATH =
+ "javax.servlet.forward.servlet_path";
+ public static final String INCLUDE_CONTEXT_PATH =
+ "javax.servlet.include.context_path";
+ public static final String INCLUDE_PATH_INFO =
+ "javax.servlet.include.path_info";
+ public static final String INCLUDE_QUERY_STRING =
+ "javax.servlet.include.query_string";
+ public static final String INCLUDE_REQUEST_URI =
+ "javax.servlet.include.request_uri";
+ public static final String INCLUDE_SERVLET_PATH =
+ "javax.servlet.include.servlet_path";
Added: tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java (added)
+++ tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java Thu Apr 23 16:14:59 2009
@@ -0,0 +1,27 @@
+/*
+* 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 - Add comments
+ */
+public interface ServletContainerInitializer {
+ public void onStartup(java.util.Set<java.lang.Class<?>> c,
+ ServletContext ctx);
+}
Propchange: tomcat/trunk/java/javax/servlet/ServletContainerInitializer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/ServletContainerInitializer.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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletContext.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletContext.java Thu Apr 23 16:14:59 2009
@@ -21,10 +21,8 @@
import java.net.URL;
import java.util.EnumSet;
import java.util.Enumeration;
-import java.util.Map;
import java.util.Set;
-
/**
*
* Defines a set of methods that a servlet uses to communicate with its
@@ -57,6 +55,7 @@
public interface ServletContext {
+ public static final String TEMPDIR = "javax.servlet.context.tempdir";
/**
* Returns a <code>ServletContext</code> object that
@@ -527,7 +526,17 @@
public Enumeration<String> getInitParameterNames();
-
+ /**
+ *
+ * @param name
+ * @param value
+ * @return
+ * @throws IllegalStateException
+ * @since Servlet 3.0
+ */
+ public boolean setInitParameter(String name, String value);
+
+
/**
* Returns the servlet container attribute with the given name,
* or <code>null</code> if there is no attribute by that name.
@@ -648,93 +657,120 @@
/**
*
* @param servletName
- * @param description
* @param className
- * @param initParameters
- * @param loadOnStartup
- * @throws IllegalArgumentException If the servlet name already exists
* @throws IllegalStateException If the context has already been
* initialised
* @since 3.0
*/
- public void addServlet(String servletName, String description,
- String className, Map<String,String> initParameters,
- int loadOnStartup)
- throws IllegalArgumentException, IllegalStateException;
+ public ServletRegistration.Dynamic addServlet(String servletName,
+ String className);
/**
*
* @param servletName
- * @param urlPatterns
- * @throws IllegalArgumentException If urlPatters is null or empty
+ * @param servlet
+ * @since 3.0
* @throws IllegalStateException If the context has already been
* initialised
+ */
+ public ServletRegistration.Dynamic addServlet(String servletName,
+ Servlet servlet);
+
+
+ /**
*
+ * @param servletName
+ * @param servletClass
* @since 3.0
+ * @throws IllegalStateException If the context has already been
+ * initialised
*/
- public void addServletMapping(String servletName, String[] urlPatterns)
- throws IllegalArgumentException, IllegalStateException;
+ public ServletRegistration.Dynamic addServlet(String servletName,
+ Class<? extends Servlet> servletClass);
+
+
+ /**
+ *
+ * @param c
+ * @return
+ * @throws ServletException
+ * @since Servlet 3.0
+ */
+ public <T extends Servlet> T createServlet(Class<T> c)
+ throws ServletException;
+
+
+ /**
+ *
+ * @param servletName
+ * @return
+ * @since Servlet 3.0
+ */
+ public ServletRegistration findServletRegistration(String servletName);
+
/**
*
* @param filterName
- * @param description
* @param className
- * @param initParameters
- * @throws IllegalArgumentException If the filter name already exists
* @throws IllegalStateException If the context has already been
* initialised
*
* @since 3.0
*/
- public void addFilter(String filterName, String description,
- String className, Map<String,String> initParameters)
- throws IllegalArgumentException, IllegalStateException;
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ String className);
+
/**
*
* @param filterName
- * @param dispatcherTypes
- * @param isMatchAfter
- * @param servletNames
- * @throws IllegalArgumentException If servletNames is null or empty
+ * @param filter
* @throws IllegalStateException If the context has already been
* initialised
+ *
* @since 3.0
*/
- public void addFilterMappingForServletNames(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... servletNames)
- throws IllegalArgumentException, IllegalStateException;
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Filter filter);
+
/**
*
* @param filterName
- * @param dispatcherTypes
- * @param isMatchAfter
- * @param urlPatterns
-4 *
+ * @param filterClass
+ * @throws IllegalStateException If the context has already been
+ * initialised
+ *
* @since 3.0
*/
- public void addFilterMappingForUrlPatterns(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... urlPatterns)
- throws IllegalArgumentException, IllegalStateException;
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Class<? extends Filter> filterClass);
/**
*
- * @param sessionCookieConfig
- * @throws IllegalStateException If the context has already been
- * initialised
- * @since 3.0
+ * @param c
+ * @return
+ * @throws ServletException
+ * @since Servlet 3.0
*/
- public void setSessionCookieConfig(SessionCookieConfig sessionCookieConfig)
- throws IllegalStateException;
+ public <T extends Filter> T createFilter(Class<T> c)
+ throws ServletException;
+
/**
*
+ * @param filterName
+ * @return
+ * @since Servlet 3.0
+ */
+ public FilterRegistration findFilterRegistration(String filterName);
+
+
+ /**
+ *
* @return
* @since 3.0
*/
@@ -769,11 +805,4 @@
*/
public EnumSet<SessionTrackingMode> getEffectiveSessionTrackingModes();
- /**
- *
- * @param path
- * @return
- * @since 3.0
- */
- public AsyncDispatcher getAsyncDispatcher(String path);
}
Added: tomcat/trunk/java/javax/servlet/ServletRegistration.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletRegistration.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletRegistration.java (added)
+++ tomcat/trunk/java/javax/servlet/ServletRegistration.java Thu Apr 23 16:14:59 2009
@@ -0,0 +1,42 @@
+/*
+* 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.util.Set;
+
+/**
+ * @since 3.0
+ * $Id$
+ * TODO SERVLET3 - Add comments
+ */
+public interface ServletRegistration extends Registration {
+
+ /**
+ *
+ * @param urlPatterns
+ * @return
+ * @throws IllegalArgumentException if urlPattern is null or empty
+ * @throws IllegalStateException if the associated ServletContext has
+ * already been initialised
+ */
+ public Set<String> addMapping(String... urlPatterns);
+
+ public static interface Dynmaic
+ extends ServletRegistration, Registration.Dynamic {
+
+ }
+}
Propchange: tomcat/trunk/java/javax/servlet/ServletRegistration.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/ServletRegistration.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Modified: tomcat/trunk/java/javax/servlet/ServletRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletRequest.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletRequest.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletRequest.java Thu Apr 23 16:14:59 2009
@@ -608,17 +608,18 @@
* this request
* @since 3.0
*/
- public void startAsync() throws java.lang.IllegalStateException;
+ public AsyncContext startAsync();
/**
*
- * @param runnable
+ * @param servletRequest
+ * @param servletResponse
* @return
* @throws java.lang.IllegalStateException
* @since 3.0
*/
- public void startAsync(Runnable runnable)
- throws java.lang.IllegalStateException;
+ public AsyncContext startAsync(ServletRequest servletRequest,
+ ServletResponse servletResponse);
/**
*
@@ -629,13 +630,6 @@
/**
*
- * @throws IllegalStateException If startAsync was never called
- * @since 3.0
- */
- public void doneAsync() throws IllegalStateException;
-
- /**
- *
* @return
* @since 3.0
*/
@@ -644,17 +638,17 @@
/**
*
* @return
+ * @throws java.lang.IllegalStateException
* @since 3.0
*/
- public AsyncDispatcher getAsyncDispatcher();
+ public AsyncContext getAsyncContext();
/**
*
- * @param path
- * @return
+ * @param listener
* @since 3.0
*/
- public AsyncDispatcher getAsyncDispatcher(String path);
+ public void addAsyncListener(AsyncListener listener);
/**
*
@@ -666,5 +660,28 @@
public void addAsyncListener(AsyncListener listener,
ServletRequest servletRequest, ServletResponse servletResponse);
+ /**
+ *
+ * @param timeout
+ * @throws java.lang.IllegalStateException
+ * @since 3.0
+ */
+ public void setAsyncTimeout(long timeout);
+
+
+ /**
+ *
+ * @return
+ * @since 3.0
+ */
+ public long getAsyncTimeout();
+
+
+ /**
+ *
+ * @return
+ * @since 3.0
+ */
+ public DispatcherType getDispatcherType();
}
Modified: tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletRequestWrapper.java Thu Apr 23 16:14:59 2009
@@ -417,22 +417,24 @@
* @throws java.lang.IllegalStateException
* @since 3.0
*/
- public void startAsync() throws java.lang.IllegalStateException {
- request.startAsync();
+ public AsyncContext startAsync() {
+ return request.startAsync();
}
/**
* The default behavior of this method is to return
* startAsync(Runnable) on the wrapped request object.
*
- * @param runnable
+ * @param servletRequest
+ * @param servletResponse
* @return
* @throws java.lang.IllegalStateException
* @since 3.0
*/
- public void startAsync(Runnable runnable)
+ public AsyncContext startAsync(ServletRequest servletRequest,
+ ServletResponse servletResponse)
throws java.lang.IllegalStateException {
- request.startAsync(runnable);
+ return request.startAsync(servletRequest, servletResponse);
}
/**
@@ -448,16 +450,6 @@
/**
* The default behavior of this method is to return
- * doneAsync() on the wrapped request object.
- * @throws java.lang.IllegalStateException
- * @since 3.0
- */
- public void doneAsync() throws IllegalStateException {
- request.doneAsync();
- }
-
- /**
- * The default behavior of this method is to return
* isAsyncSupported() on the wrapped request object.
*
* @return
@@ -469,26 +461,26 @@
/**
* The default behavior of this method is to return
- * getAsyncDispatcher() on the wrapped request object.
+ * getAsyncContext() on the wrapped request object.
*
* @return
* @since 3.0
*/
- public AsyncDispatcher getAsyncDispatcher() {
- return request.getAsyncDispatcher();
+ public AsyncContext getAsyncContext() {
+ return request.getAsyncContext();
}
/**
- * The default behavior of this method is to return
- * getAsyncDispatcher(path) on the wrapped request object.
+ * The default behavior of this method is to call
+ * addAsyncListener(AsyncListener) on the wrapped request object.
*
- * @return
+ * @param listener
* @since 3.0
*/
- public AsyncDispatcher getAsyncDispatcher(String path) {
- return request.getAsyncDispatcher(path);
+ public void addAsyncListener(AsyncListener listener) {
+ request.addAsyncListener(listener);
}
-
+
/**
* The default behavior of this method is to call
* addAsyncListener(AsyncListener, ServletRequest, ServletResponse) on the
@@ -504,5 +496,65 @@
request.addAsyncListener(listener, servletRequest, servletResponse);
}
+ /**
+ * The default behavior of this method is to call
+ * setAsyncTimeout(long) on the wrapped request object.
+ *
+ * @param listener
+ * @since 3.0
+ */
+ public void setAsyncTimeout(long timeout) {
+ request.setAsyncTimeout(timeout);
+ }
+
+ /**
+ * The default behavior of this method is to call
+ * getAsyncTimeout() on the wrapped request object.
+ *
+ * @since 3.0
+ */
+ public long getAsyncTimeout() {
+ return request.getAsyncTimeout();
+ }
+
+ /**
+ *
+ * @param listener
+ * @since 3.0
+ */
+ public boolean isWrapperFor(ServletRequest wrapped) {
+ if (request == wrapped) {
+ return true;
+ }
+ if (request instanceof ServletRequestWrapper) {
+ return ((ServletRequestWrapper)request).isWrapperFor(wrapped);
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @param listener
+ * @since 3.0
+ */
+ public boolean isWrapperFor(Class<? extends ServletRequest> wrappedType) {
+ if (wrappedType.isAssignableFrom(request.getClass())) {
+ return true;
+ }
+ if (request instanceof ServletRequestWrapper) {
+ return ((ServletRequestWrapper)request).isWrapperFor(wrappedType);
+ }
+ return false;
+ }
+
+ /**
+ * The default behavior of this method is to call
+ * getDispatcherType() on the wrapped request object.
+ *
+ * @since 3.0
+ */
+ public DispatcherType getDispatcherType() {
+ return this.request.getDispatcherType();
+ }
}
Modified: tomcat/trunk/java/javax/servlet/ServletResponseWrapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletResponseWrapper.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/ServletResponseWrapper.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletResponseWrapper.java Thu Apr 23 16:14:59 2009
@@ -209,6 +209,36 @@
return this.response.getLocale();
}
+ /**
+ *
+ * @param listener
+ * @since 3.0
+ */
+ public boolean isWrapperFor(ServletResponse wrapped) {
+ if (response == wrapped) {
+ return true;
+ }
+ if (response instanceof ServletResponseWrapper) {
+ return ((ServletResponseWrapper)response).isWrapperFor(wrapped);
+ }
+ return false;
+ }
+
+ /**
+ *
+ * @param listener
+ * @since 3.0
+ */
+ public boolean isWrapperFor(Class<? extends ServletResponse> wrappedType) {
+ if (wrappedType.isAssignableFrom(response.getClass())) {
+ return true;
+ }
+ if (response instanceof ServletResponseWrapper) {
+ return ((ServletResponseWrapper)response).isWrapperFor(wrappedType);
+ }
+ return false;
+ }
+
}
Modified: tomcat/trunk/java/javax/servlet/SessionCookieConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/SessionCookieConfig.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/SessionCookieConfig.java (original)
+++ tomcat/trunk/java/javax/servlet/SessionCookieConfig.java Thu Apr 23 16:14:59 2009
@@ -21,58 +21,69 @@
* @since 3.0
* $Id$
*/
-public class SessionCookieConfig {
- private String domain;
- private String path;
- private String comment;
- private boolean httpOnly;
- private boolean secure;
+public interface SessionCookieConfig {
+
+ /**
+ *
+ * @param name
+ * @throws IllegalStateException
+ */
+ public void setName(String name);
+
+ public String getName();
+
+ /**
+ *
+ * @param domain
+ * @throws IllegalStateException
+ */
+ public void setDomain(String domain);
+
+ public String getDomain();
+
+ /**
+ *
+ * @param path
+ * @throws IllegalStateException
+ */
+ public void setPath(String path);
+
+ public String getPath();
+
+ /**
+ *
+ * @param comment
+ * @throws IllegalStateException
+ */
+ public void setComment(String comment);
+
+ public String getComment();
+
+ /**
+ *
+ * @param httpOnly
+ * @throws IllegalStateException
+ */
+ public void setHttpOnly(boolean httpOnly);
+
+ public boolean isHttpOnly();
+
+ /**
+ *
+ * @param secure
+ * @throws IllegalStateException
+ */
+ public void setSecure(boolean secure);
+
+ public boolean isSecure();
/**
*
- * @param domain Domain to use for session cookies generated for a
- * {@link ServletContext} in which this
- * {@link SessionCookieConfig} has been set
- * @param path Path to use for session cookies generated for a
- * {@link ServletContext} in which this
- * {@link SessionCookieConfig} has been set. If null
- * {@link ServletContext#getContextPath()} is used
- * @param comment Comment to use for session cookies generated for a
- * {@link ServletContext} in which this
- * {@link SessionCookieConfig} has been set
- * @param isHttpOnly HttpOnly flag to use for session cookies generated for
- * a {@link ServletContext} in which this
- * {@link SessionCookieConfig} has been set
- * @param isSecure If <code>true</code>, the cookie will always be marked
- * as secure. If <code>false</code> the cookie will only
- * be marked as secure if the request is secure.
- */
- public SessionCookieConfig(String domain, String path, String comment,
- boolean isHttpOnly, boolean isSecure) {
- this.domain = domain;
- this.path = path;
- this.comment = comment;
- this.httpOnly = isHttpOnly;
- this.secure = 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 httpOnly;
- }
-
- public boolean isSecure() {
- return secure;
- }
+ * @param maxAge
+ * @throws IllegalStateException
+ */
+ public void setMaxAge(int MaxAge);
+
+ public int getHttpOnly();
+
}
Modified: tomcat/trunk/java/javax/servlet/SessionTrackingMode.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/SessionTrackingMode.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/SessionTrackingMode.java (original)
+++ tomcat/trunk/java/javax/servlet/SessionTrackingMode.java Thu Apr 23 16:14:59 2009
@@ -22,6 +22,6 @@
*/
public enum SessionTrackingMode {
COOKIE,
- SSL,
- URL
+ URL,
+ SSL
}
Added: tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java (added)
+++ tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java Thu Apr 23 16:14:59 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.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @since 3.0
+ * $Id$
+ * TODO SERVLET3
+ */
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface HandlesTypes {
+ Class<?>[] value();
+}
Propchange: tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/annotation/HandlesTypes.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Added: tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java (added)
+++ tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java Thu Apr 23 16:14:59 2009
@@ -0,0 +1,38 @@
+/*
+ * 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.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @since 3.0
+ * $Id$
+ * TODO SERVLET3
+ */
+@Target({ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface MultipartConfig {
+ String location() default "";
+ int maxFileSize() default 0;
+ int maxRequestSize() default 0;
+ int fileSizeThreshold() default 0;
+}
Propchange: tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/annotation/MultipartConfig.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Copied: tomcat/trunk/java/javax/servlet/annotation/WebFilter.java (from r766650, tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebFilter.java?p2=tomcat/trunk/java/javax/servlet/annotation/WebFilter.java&p1=tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java&r1=766650&r2=767956&rev=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/ServletFilter.java (original)
+++ tomcat/trunk/java/javax/servlet/annotation/WebFilter.java Thu Apr 23 16:14:59 2009
@@ -32,16 +32,16 @@
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
-public @interface ServletFilter {
+public @interface WebFilter {
String description() default "";
String displayName() default "";
- InitParam[] initParams() default {};
+ WebInitParam[] initParams() default {};
String filterName() default "";
- String icon() default "";
+ String smallIcon() default "";
+ String largeIcon() default "";
String[] servletNames() default {};
String[] value() default {};
String[] urlPatterns() default {};
DispatcherType[] dispatcherTypes() default {DispatcherType.REQUEST};
boolean asyncSupported() default false;
- long asyncTimeout() default 60000L;
}
Copied: tomcat/trunk/java/javax/servlet/annotation/WebInitParam.java (from r766650, tomcat/trunk/java/javax/servlet/annotation/InitParam.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebInitParam.java?p2=tomcat/trunk/java/javax/servlet/annotation/WebInitParam.java&p1=tomcat/trunk/java/javax/servlet/annotation/InitParam.java&r1=766650&r2=767956&rev=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/InitParam.java (original)
+++ tomcat/trunk/java/javax/servlet/annotation/WebInitParam.java Thu Apr 23 16:14:59 2009
@@ -30,7 +30,7 @@
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
-public @interface InitParam {
+public @interface WebInitParam {
String name();
String value();
String description() default "";
Copied: tomcat/trunk/java/javax/servlet/annotation/WebListener.java (from r766650, tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java)
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebListener.java?p2=tomcat/trunk/java/javax/servlet/annotation/WebListener.java&p1=tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java&r1=766650&r2=767956&rev=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/WebServletContextListener.java (original)
+++ tomcat/trunk/java/javax/servlet/annotation/WebListener.java Thu Apr 23 16:14:59 2009
@@ -30,6 +30,6 @@
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
-public @interface WebServletContextListener {
- String description() default "";
+public @interface WebListener {
+ String description();
}
Modified: tomcat/trunk/java/javax/servlet/annotation/WebServlet.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/annotation/WebServlet.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/annotation/WebServlet.java (original)
+++ tomcat/trunk/java/javax/servlet/annotation/WebServlet.java Thu Apr 23 16:14:59 2009
@@ -35,9 +35,9 @@
String[] value() default {};
String[] urlPatterns() default {};
int loadOnStartup() default -1;
- InitParam[] initParams() default {};
+ WebInitParam[] initParams() default {};
boolean asyncSupported() default false;
- long asyncTimeout() default 60000L;
- String icon() default "";
+ String smallIcon() default "";
+ String largeIcon() default "";
String description() default "";
}
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java Thu Apr 23 16:14:59 2009
@@ -17,7 +17,10 @@
package javax.servlet.http;
+import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
+
+import java.io.IOException;
import java.util.Enumeration;
/**
@@ -657,5 +660,51 @@
public boolean isRequestedSessionIdFromUrl();
+ /**
+ *
+ * @param response
+ * @return
+ * @throws IOException
+ * @throws ServletException
+ * @since Servlet 3.0
+ */
+ public boolean login(HttpServletResponse response)
+ throws IOException, ServletException;
+
+
+ /**
+ *
+ * @param username
+ * @param password
+ * @throws ServletException
+ * @since Servlet 3.0
+ */
+ public void login(java.lang.String username, String password)
+ throws ServletException;
+
+ /**
+ *
+ * @throws ServletException
+ * @since Servlet 3.0
+ */
+ public void logout() throws ServletException;
+
+
+ /**
+ *
+ * @return
+ * @since Servlet 3.0
+ */
+ public Iterable<Part> getParts();
+
+
+ /**
+ *
+ * @param name
+ * @return
+ * @throws IllegalArgumentException
+ * @since Servlet 3.0
+ */
+ public Part getPart(java.lang.String name);
}
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java Thu Apr 23 16:14:59 2009
@@ -16,7 +16,10 @@
*/
package javax.servlet.http;
+import javax.servlet.ServletException;
import javax.servlet.ServletRequestWrapper;
+
+import java.io.IOException;
import java.util.Enumeration;
/**
@@ -259,6 +262,41 @@
return this._getHttpServletRequest().isRequestedSessionIdFromUrl();
}
+ /**
+ * @since Servlet 3.0
+ */
+ public boolean login(HttpServletResponse response)
+ throws IOException, ServletException {
+ return this._getHttpServletRequest().login(response);
+ }
+
+ /**
+ * @since Servlet 3.0
+ */
+ public void login(String username, String password) throws ServletException {
+ this._getHttpServletRequest().login(username, password);
+ }
+
+ /**
+ * @since Servlet 3.0
+ */
+ public void logout() throws ServletException {
+ this._getHttpServletRequest().logout();
+ }
+
+
+ /**
+ * @since Servlet 3.0
+ */
+ public Iterable<Part> getParts() {
+ return this._getHttpServletRequest().getParts();
+ }
+
+ /**
+ * @since Servlet 3.0
+ */
+ public Part getPart(String name) {
+ return this._getHttpServletRequest().getPart(name);
+ }
-
}
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletResponse.java Thu Apr 23 16:14:59 2009
@@ -322,6 +322,40 @@
public void setStatus(int sc, String sm);
+ /**
+ *
+ * @return
+ * @since Servlet 3.0
+ */
+ public int getStatus();
+
+
+ /**
+ *
+ * @param name
+ * @return
+ * @since Servlet 3.0
+ */
+ public String getHeader(String name);
+
+
+ /**
+ *
+ * @param name
+ * @return
+ * @since Servlet 3.0
+ */
+ public Iterable<String> getHeaders(String name);
+
+
+ /**
+ *
+ * @return
+ * @since Servlet 3.0
+ */
+ public Iterable<String> getHeaderNames();
+
+
/*
* Server status codes; see RFC 2068.
*/
Modified: tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java Thu Apr 23 16:14:59 2009
@@ -195,5 +195,35 @@
this._getHttpServletResponse().setStatus(sc, sm);
}
-
+
+ /**
+ * @since Servlet 3.0
+ */
+ public int getStatus() {
+ return this._getHttpServletResponse().getStatus();
+ }
+
+
+ /**
+ * @since Servlet 3.0
+ */
+ public String getHeader(String name) {
+ return this._getHttpServletResponse().getHeader(name);
+ }
+
+
+ /**
+ * @since Servlet 3.0
+ */
+ public Iterable<String> getHeaders(String name) {
+ return this._getHttpServletResponse().getHeaders(name);
+ }
+
+ /**
+ * @since Servlet 3.0
+ */
+ public Iterable<String> getHeaderNames() {
+ return this._getHttpServletResponse().getHeaderNames();
+ }
+
}
Propchange: tomcat/trunk/java/javax/servlet/http/HttpUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/http/HttpUtils.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: tomcat/trunk/java/javax/servlet/http/HttpUtils.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Apr 23 16:14:59 2009
@@ -0,0 +1 @@
+/tomcat/tc6.0.x/trunk/java/javax/servlet/http/HttpUtils.java:742915
Added: tomcat/trunk/java/javax/servlet/http/Part.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/Part.java?rev=767956&view=auto
==============================================================================
--- tomcat/trunk/java/javax/servlet/http/Part.java (added)
+++ tomcat/trunk/java/javax/servlet/http/Part.java Thu Apr 23 16:14:59 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.http;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * @since Servlet 3.0
+ */
+public interface Part {
+ public InputStream getInputStream() throws IOException;
+ public String getContentType();
+ public String getName();
+ public long getSize();
+ public void write(String fileName) throws IOException;
+ public void delete() throws IOException;
+ public String getHeader(String name);
+ public Iterable<String> getHeaders(String name);
+ public Iterable<String> getHeaderNames();
+}
Propchange: tomcat/trunk/java/javax/servlet/http/Part.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tomcat/trunk/java/javax/servlet/http/Part.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Thu Apr 23 16:14:59 2009
@@ -384,7 +384,7 @@
req.serverName().setString(proxyName);
}
- // Parse session Id
+ // Parse session Id before decoding / removal of path params
parseSessionId(req, request);
// URI decoding
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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu Apr 23 16:14:59 2009
@@ -35,11 +35,13 @@
import java.util.TreeMap;
import javax.security.auth.Subject;
-import javax.servlet.AsyncDispatcher;
+import javax.servlet.AsyncContext;
import javax.servlet.AsyncListener;
+import javax.servlet.DispatcherType;
import javax.servlet.FilterChain;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletRequest;
import javax.servlet.ServletRequestAttributeEvent;
@@ -49,7 +51,9 @@
import javax.servlet.SessionTrackingMode;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
import org.apache.tomcat.util.buf.B2CConverter;
import org.apache.tomcat.util.buf.MessageBytes;
@@ -73,7 +77,6 @@
import org.apache.catalina.realm.GenericPrincipal;
import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.ParameterMap;
-import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.StringManager;
import org.apache.catalina.util.StringParser;
@@ -1505,12 +1508,15 @@
return context.getServletContext();
}
- public void startAsync() throws IllegalStateException {
+ public AsyncContext startAsync() {
// TODO SERVLET3
+ return null;
}
- public void startAsync(Runnable runnable) throws IllegalStateException {
+ public AsyncContext startAsync(ServletRequest request,
+ ServletResponse response) {
// TODO SERVLET3
+ return null;
}
public boolean isAsyncStarted() {
@@ -1518,31 +1524,39 @@
return false;
}
- public void doneAsync() throws IllegalStateException {
- // TODO SERVLET3
- }
-
public boolean isAsyncSupported() {
// TODO SERVLET3
return false;
}
- public AsyncDispatcher getAsyncDispatcher() {
+ public AsyncContext getAsyncContext() {
// TODO SERVLET3
return null;
}
- public AsyncDispatcher getAsyncDispatcher(String path) {
+ public void addAsyncListener(AsyncListener listener) {
// TODO SERVLET3
- return null;
}
-
public void addAsyncListener(AsyncListener listener,
ServletRequest servletRequest, ServletResponse servletResponse) {
// TODO SERVLET3
}
+ public void setAsyncTimeout(long timeout) {
+ // TODO SERVLET3
+ }
+
+ public long getAsyncTimeout() {
+ // TODO SERVLET3
+ return 0;
+ }
+
+ public DispatcherType getDispatcherType() {
+ // TODO SERVLET3
+ return null;
+ }
+
// ---------------------------------------------------- HttpRequest Methods
@@ -2352,7 +2366,30 @@
return requestedSessionSSL;
}
+ public boolean login(HttpServletResponse response) throws IOException {
+ // TODO Servlet 3
+ return false;
+ }
+
+ public void login(String username, String password)
+ throws ServletException {
+ // TODO Servlet 3
+ }
+
+ public void logout() throws ServletException {
+ // TODO Servlet 3
+ }
+
+ public Iterable<Part> getParts() {
+ // TODO Servlet 3
+ return null;
+ }
+ public Part getPart(String name) throws IllegalArgumentException {
+ // TODO Servlet 3.0
+ return null;
+ }
+
// ------------------------------------------------------ Protected 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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java Thu Apr 23 16:14:59 2009
@@ -26,16 +26,20 @@
import java.util.Locale;
import java.util.Map;
-import javax.servlet.AsyncDispatcher;
+import javax.servlet.AsyncContext;
import javax.servlet.AsyncListener;
+import javax.servlet.DispatcherType;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
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.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
import org.apache.catalina.Globals;
import org.apache.catalina.util.StringManager;
@@ -948,13 +952,14 @@
}
- public void startAsync() throws IllegalStateException {
- request.startAsync();
+ public AsyncContext startAsync() throws IllegalStateException {
+ return request.startAsync();
}
- public void startAsync(Runnable runnable) throws IllegalStateException {
- request.startAsync(runnable);
+ public AsyncContext startAsync(ServletRequest request, ServletResponse response)
+ throws IllegalStateException {
+ return request.startAsync(request, response);
}
@@ -963,32 +968,59 @@
}
- public void doneAsync() throws IllegalStateException {
- request.doneAsync();
- }
-
-
public boolean isAsyncSupported() {
return request.isAsyncStarted();
}
- public AsyncDispatcher getAsyncDispatcher() {
- return request.getAsyncDispatcher();
+ public void addAsyncListener(AsyncListener listener) {
+ request.addAsyncListener(listener);
}
- public AsyncDispatcher getAsyncDispatcher(String path) {
- return request.getAsyncDispatcher(path);
+ public void addAsyncListener(AsyncListener listener, ServletRequest servletRequest, ServletResponse servletResponse) {
+ request.addAsyncListener(listener,servletRequest,servletResponse);
}
+ public AsyncContext getAsyncContext() {
+ return request.getAsyncContext();
+ }
+
+ public long getAsyncTimeout() {
+ return request.getAsyncTimeout();
+ }
- public void addAsyncListener(AsyncListener listener, ServletRequest servletRequest, ServletResponse servletResponse) {
- request.addAsyncListener(listener,servletRequest,servletResponse);
+ public void setAsyncTimeout(long timeout) {
+ request.setAsyncTimeout(timeout);
+ }
+
+ public DispatcherType getDispatcherType() {
+ return request.getDispatcherType();
+ }
+
+ public boolean login(HttpServletResponse response) throws IOException {
+ return request.login(response);
}
+ public void login(String username, String password)
+ throws ServletException {
+ login(username, password);
+ }
+
+ public void logout() throws ServletException {
+ request.logout();
+ }
+
+ public Iterable<Part> getParts() {
+ return request.getParts();
+ }
+
+ public Part getPart(String name) {
+ return request.getPart(name);
+ }
public boolean getAllowTrace() {
return request.getConnector().getAllowTrace();
}
+
}
Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Thu Apr 23 16:14:59 2009
@@ -30,6 +30,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Enumeration;
+import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
import java.util.Vector;
@@ -883,16 +884,15 @@
/**
- * Return an array of all the header names set for this response, or
- * a zero-length array if no headers have been set.
+ * Return an Iterable of all the header names set for this response.
*/
- public String[] getHeaderNames() {
+ public Iterable<String> getHeaderNames() {
MimeHeaders headers = coyoteResponse.getMimeHeaders();
int n = headers.size();
- String[] result = new String[n];
+ List<String> result = new ArrayList<String>(n);
for (int i = 0; i < n; i++) {
- result[i] = headers.getName(i).toString();
+ result.add(headers.getName(i).toString());
}
return result;
@@ -900,13 +900,12 @@
/**
- * Return an array of all the header values associated with the
- * specified header name, or an zero-length array if there are no such
- * header values.
+ * Return an Iterable of all the header values associated with the
+ * specified header name.
*
* @param name Header name to look up
*/
- public String[] getHeaderValues(String name) {
+ public Iterable<String> getHeaders(String name) {
Enumeration<String> enumeration =
coyoteResponse.getMimeHeaders().values(name);
@@ -914,10 +913,7 @@
while (enumeration.hasMoreElements()) {
result.addElement(enumeration.nextElement());
}
- String[] resultArray = new String[result.size()];
- result.copyInto(resultArray);
- return resultArray;
-
+ return result;
}
Modified: tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java?rev=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java Thu Apr 23 16:14:59 2009
@@ -553,4 +553,19 @@
response.setCharacterEncoding(arg0);
}
+ public int getStatus() {
+ return response.getStatus();
+ }
+
+ public String getHeader(String name) {
+ return response.getHeader(name);
+ }
+
+ public Iterable<String> getHeaderNames() {
+ return response.getHeaderNames();
+ }
+
+ public Iterable<String> getHeaders(String name) {
+ return response.getHeaders(name);
+ }
}
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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Thu Apr 23 16:14:59 2009
@@ -34,13 +34,15 @@
import javax.naming.Binding;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
-import javax.servlet.AsyncDispatcher;
-import javax.servlet.DispatcherType;
+import javax.servlet.Filter;
+import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
@@ -48,8 +50,6 @@
import org.apache.catalina.Host;
import org.apache.catalina.Wrapper;
import org.apache.catalina.deploy.ApplicationParameter;
-import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.deploy.FilterMap;
import org.apache.catalina.util.Enumerator;
import org.apache.catalina.util.RequestUtil;
import org.apache.catalina.util.ResourceSet;
@@ -838,144 +838,146 @@
}
- public void addFilter(String filterName, String description,
- String className, Map<String, String> initParameters)
- throws IllegalArgumentException, IllegalStateException {
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ String className) throws IllegalStateException {
+
+ if (context.initialized) {
+ //TODO Spec breaking enhancement to ignore this restriction
+ throw new IllegalStateException(
+ sm.getString("applicationContext.addFilter.ise",
+ getContextPath()));
+ }
if (context.findFilterDef(filterName) != null) {
- throw new IllegalArgumentException(sm.getString(
- "applicationContext.addFilter.iae", filterName,
- getContextPath()));
+ return null;
}
+ // TODO Servlet 3
+ return null;
+ }
+
+
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Filter filter) throws IllegalStateException {
+
if (context.initialized) {
//TODO Spec breaking enhancement to ignore this restriction
throw new IllegalStateException(
sm.getString("applicationContext.addFilter.ise",
getContextPath()));
}
- FilterDef filterDef = new FilterDef();
- filterDef.setFilterName(filterName);
- filterDef.setDescription(description);
- filterDef.setFilterClass(className);
- filterDef.getParameterMap().putAll(initParameters);
- context.addFilterDef(filterDef);
+
+ if (context.findFilterDef(filterName) != null) {
+ return null;
+ }
+
+ // TODO Servlet 3
+ return null;
}
- public void addServlet(String servletName, String description,
- String className, Map<String, String> initParameters,
- int loadOnStartup)
- throws IllegalArgumentException, IllegalStateException {
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Class<? extends Filter> filterClass) throws IllegalStateException {
- if (context.findFilterDef(servletName) != null) {
- throw new IllegalArgumentException(sm.getString(
- "applicationContext.addServlet.iae", servletName,
- getContextPath()));
- }
-
if (context.initialized) {
//TODO Spec breaking enhancement to ignore this restriction
throw new IllegalStateException(
- sm.getString("applicationContext.addServlet.ise",
+ sm.getString("applicationContext.addFilter.ise",
getContextPath()));
}
- Wrapper wrapper = context.createWrapper();
- wrapper.setName(servletName);
- // Description is ignored
- wrapper.setServletClass(className);
- for (Map.Entry<String,String> initParam : initParameters.entrySet()) {
- wrapper.addInitParameter(initParam.getKey(), initParam.getValue());
- }
- wrapper.setLoadOnStartup(loadOnStartup);
- context.addChild(wrapper);
+
+ if (context.findFilterDef(filterName) != null) {
+ return null;
+ }
+
+ // TODO Servlet 3
+ return null;
}
+
+ public <T extends Filter> T createFilter(Class<T> c)
+ throws ServletException {
+ // TODO Servlet 3
+ return null;
+ }
- public void addFilterMappingForServletNames(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... servletNames)
- throws IllegalArgumentException, IllegalStateException {
-
- if (servletNames == null || servletNames.length == 0) {
- throw new IllegalArgumentException(sm.getString(
- "applicationContext.addFilterMapping.iae.servlet"));
- }
+ public FilterRegistration findFilterRegistration(String filterName) {
+ // TODO Servlet 3.0
+ return null;
+ }
+
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ String className) throws IllegalStateException {
+
if (context.initialized) {
//TODO Spec breaking enhancement to ignore this restriction
- throw new IllegalStateException(sm.getString(
- "applicationContext.addFilterMapping.ise",
- getContextPath()));
- }
- FilterMap filterMap = new FilterMap();
- for (String servletName : servletNames) {
- filterMap.addServletName(servletName);
- }
- filterMap.setFilterName(filterName);
- for (DispatcherType dispatcherType: dispatcherTypes) {
- filterMap.setDispatcher(dispatcherType.name());
+ throw new IllegalStateException(
+ sm.getString("applicationContext.addServlet.ise",
+ getContextPath()));
}
- if (isMatchAfter) {
- context.addFilterMap(filterMap);
- } else {
- context.addFilterMapBefore(filterMap);
+
+ if (context.findChild(servletName) != null) {
+ return null;
}
+
+ // TODO Servlet 3
+ return null;
}
- public void addFilterMappingForUrlPatterns(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... urlPatterns)
- throws IllegalArgumentException, IllegalStateException {
-
- if (urlPatterns == null || urlPatterns.length == 0) {
- throw new IllegalArgumentException(sm.getString(
- "applicationContext.addFilterMapping.iae.url",
- getContextPath()));
- }
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ Servlet servlet) throws IllegalStateException {
if (context.initialized) {
//TODO Spec breaking enhancement to ignore this restriction
- throw new IllegalStateException(sm.getString(
- "applicationContext.addFilterMapping.ise",
- getContextPath()));
- }
- FilterMap filterMap = new FilterMap();
- for (String urlPattern : urlPatterns) {
- filterMap.addURLPattern(urlPattern);
- }
- filterMap.setFilterName(filterName);
- for (DispatcherType dispatcherType: dispatcherTypes) {
- filterMap.setDispatcher(dispatcherType.name());
+ throw new IllegalStateException(
+ sm.getString("applicationContext.addServlet.ise",
+ getContextPath()));
}
- if (isMatchAfter) {
- context.addFilterMap(filterMap);
- } else {
- context.addFilterMapBefore(filterMap);
+
+ if (context.findChild(servletName) != null) {
+ return null;
}
- }
+ // TODO Servlet 3
+ return null;
+ }
- public void addServletMapping(String servletName, String[] urlPatterns)
- throws IllegalArgumentException, IllegalStateException {
- if (urlPatterns == null || urlPatterns.length == 0) {
- throw new IllegalArgumentException(sm.getString(
- "applicationContext.addServletMapping.iae"));
- }
+
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ Class <? extends Servlet> servletClass)
+ throws IllegalStateException {
if (context.initialized) {
//TODO Spec breaking enhancement to ignore this restriction
- throw new IllegalStateException(sm.getString(
- "applicationContext.addServletMapping.ise", getContextPath()));
+ throw new IllegalStateException(
+ sm.getString("applicationContext.addServlet.ise",
+ getContextPath()));
}
- for (String urlPattern : urlPatterns) {
- boolean jspWildCard = ("*.jsp".equals(urlPattern));
- context.addServletMapping(servletName, urlPattern, jspWildCard);
+
+ if (context.findChild(servletName) != null) {
+ return null;
}
+
+ // TODO Servlet 3
+ return null;
}
+ public <T extends Servlet> T createServlet(Class<T> c)
+ throws ServletException {
+ // TODO Servlet 3
+ return null;
+ }
+
+
+ public ServletRegistration findServletRegistration(String servletName) {
+ // TODO Servlet 3.0
+ return null;
+ }
+
+
/**
* By default {@link SessionTrackingMode#URL} is always supported, {@link
* SessionTrackingMode#COOKIE} is supported unless the <code>cookies</code>
@@ -1016,20 +1018,6 @@
}
- public void setSessionCookieConfig(SessionCookieConfig sessionCookieConfig)
- throws IllegalArgumentException {
-
- if (context.initialized) {
- //TODO Spec breaking enhancement to ignore this restriction
- throw new IllegalStateException(sm.getString(
- "applicationContext.setSessionCookieConfig.ise",
- getContextPath()));
- }
-
- this.sessionCookieConfig = sessionCookieConfig;
- }
-
-
/**
* @throws IllegalStateException if the context has already been initialised
* @throws IllegalArgumentException If SSL is requested in combination with
@@ -1067,11 +1055,12 @@
}
- public AsyncDispatcher getAsyncDispatcher(String path) {
- // TODO SERVLET 3
- return null;
+ public boolean setInitParameter(String name, String value) {
+ // TODO Servlet 3
+ return false;
}
+
// -------------------------------------------------------- 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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java Thu Apr 23 16:14:59 2009
@@ -30,15 +30,15 @@
import java.util.EnumSet;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.Map;
import java.util.Set;
-import javax.servlet.AsyncDispatcher;
-import javax.servlet.DispatcherType;
+import javax.servlet.Filter;
+import javax.servlet.FilterRegistration;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
@@ -388,69 +388,114 @@
}
- public void addFilter(String filterName, String description,
- String className, Map<String, String> initParameters) {
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ String className) {
if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("addFilter", new Object[]{filterName, description,
- className, initParameters});
+ return (FilterRegistration.Dynamic) doPrivileged(
+ "addFilter", new Object[]{filterName, className});
} else {
- context.addFilter(filterName, description, className,
- initParameters);
+ return context.addFilter(filterName, className);
}
}
- public void addFilterMappingForServletNames(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... servletNames) {
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Filter filter) {
if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("addFilterMappingForServletNames",
- new Object[]{filterName, dispatcherTypes,
- Boolean.valueOf(isMatchAfter), servletNames});
+ return (FilterRegistration.Dynamic) doPrivileged(
+ "addFilter", new Object[]{filterName, filter});
} else {
- context.addFilterMappingForServletNames(filterName, dispatcherTypes,
- isMatchAfter, servletNames);
+ return context.addFilter(filterName, filter);
}
}
- public void addFilterMappingForUrlPatterns(String filterName,
- EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter,
- String... urlPatterns) {
+ public FilterRegistration.Dynamic addFilter(String filterName,
+ Class<? extends Filter> filterClass) {
if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("addFilterMappingForUrlPatterns",
- new Object[]{filterName, dispatcherTypes,
- Boolean.valueOf(isMatchAfter), urlPatterns});
+ return (FilterRegistration.Dynamic) doPrivileged(
+ "addFilter", new Object[]{filterName, filterClass});
} else {
- context.addFilterMappingForUrlPatterns(filterName, dispatcherTypes,
- isMatchAfter, urlPatterns);
+ return context.addFilter(filterName, filterClass);
}
}
- public void addServlet(String servletName, String description,
- String className, Map<String, String> initParameters,
- int loadOnStartup) {
+ public <T extends Filter> T createFilter(Class<T> c)
+ throws ServletException {
if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("addServlet", new Object[]{servletName, description,
- className, initParameters, Integer.valueOf(loadOnStartup)});
+ return (T) doPrivileged(
+ "createFilter", new Object[]{c});
} else {
- context.addServlet(servletName, description, className, initParameters,
- loadOnStartup);
+ return context.createFilter(c);
+ }
+ }
+
+
+ public FilterRegistration findFilterRegistration(String filterName) {
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ return (FilterRegistration) doPrivileged(
+ "findFilterRegistration", new Object[]{filterName});
+ } else {
+ return context.findFilterRegistration(filterName);
}
}
- public void addServletMapping(String servletName, String[] urlPatterns) {
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ String className) {
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ return (ServletRegistration.Dynmaic) doPrivileged(
+ "addServlet", new Object[]{servletName, className});
+ } else {
+ return context.addServlet(servletName, className);
+ }
+ }
+
+
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ Servlet servlet) {
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ return (ServletRegistration.Dynmaic) doPrivileged(
+ "addServlet", new Object[]{servletName, servlet});
+ } else {
+ return context.addServlet(servletName, servlet);
+ }
+ }
+
+
+ public ServletRegistration.Dynmaic addServlet(String servletName,
+ Class <? extends Servlet> servletClass) {
if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("addServletMapping",
- new Object[]{servletName, urlPatterns});
+ return (ServletRegistration.Dynmaic) doPrivileged(
+ "addServlet", new Object[]{servletName, servletClass});
} else {
- context.addServletMapping(servletName, urlPatterns);
+ return context.addServlet(servletName, servletClass);
}
}
+ public <T extends Servlet> T createServlet(Class<T> c)
+ throws ServletException {
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ return (T) doPrivileged(
+ "createServlet", new Object[]{c});
+ } else {
+ return context.createServlet(c);
+ }
+ }
+
+
+ public ServletRegistration findServletRegistration(String servletName) {
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ return (ServletRegistration) doPrivileged(
+ "findServletRegistration", new Object[]{servletName});
+ } else {
+ return context.findServletRegistration(servletName);
+ }
+ }
+
+
public EnumSet<SessionTrackingMode> getDefaultSessionTrackingModes() {
if (SecurityUtil.isPackageProtectionEnabled()) {
return (EnumSet<SessionTrackingMode>)
@@ -481,16 +526,6 @@
}
- public void setSessionCookieConfig(SessionCookieConfig sessionCookieConfig) {
- if (SecurityUtil.isPackageProtectionEnabled()) {
- doPrivileged("setSessionCookieConfig",
- new Object[]{sessionCookieConfig});
- } else {
- context.setSessionCookieConfig(sessionCookieConfig);
- }
- }
-
-
public void setSessionTrackingModes(
EnumSet<SessionTrackingMode> sessionTrackingModes) {
if (SecurityUtil.isPackageProtectionEnabled()) {
@@ -502,13 +537,12 @@
}
- public AsyncDispatcher getAsyncDispatcher(String path) {
+ public boolean setInitParameter(String name, String value) {
if (SecurityUtil.isPackageProtectionEnabled()) {
- return (AsyncDispatcher)
- doPrivileged("getAsyncDispatcher",
- new Object[]{path});
+ return ((Boolean) doPrivileged("setInitParameter",
+ new Object[]{name, value})).booleanValue();
} else {
- return context.getAsyncDispatcher(path);
+ return context.setInitParameter(name, value);
}
}
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=767956&r1=767955&r2=767956&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/DummyRequest.java Thu Apr 23 16:14:59 2009
@@ -30,17 +30,21 @@
import java.util.Locale;
import java.util.Map;
-import javax.servlet.AsyncDispatcher;
+import javax.servlet.AsyncContext;
import javax.servlet.AsyncListener;
+import javax.servlet.DispatcherType;
import javax.servlet.FilterChain;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
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.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import javax.servlet.http.Part;
import org.apache.catalina.Context;
import org.apache.catalina.Host;
@@ -282,11 +286,23 @@
ServletResponse res) {}
public ServletContext getServletContext() { return null; }
public boolean isAsyncStarted() { return false; }
- public void doneAsync() {}
public boolean isAsyncSupported() { return false; }
- public void startAsync() throws IllegalStateException {}
- public void startAsync(Runnable runnable) throws IllegalStateException {}
- public AsyncDispatcher getAsyncDispatcher() { return null; }
- public AsyncDispatcher getAsyncDispatcher(String path) { return null; }
+ public AsyncContext startAsync() throws IllegalStateException {
+ return null;
+ }
+ public Part getPart(String name) { return null; }
+ public Iterable<Part> getParts() { return null; }
+ public boolean login(HttpServletResponse response)
+ throws IOException, ServletException { return false; }
+ public void login(String username, String password)
+ throws ServletException {}
+ public void logout() throws ServletException {}
+ public void addAsyncListener(AsyncListener listener) {}
+ public AsyncContext getAsyncContext() { return null; }
+ public long getAsyncTimeout() { return 0; }
+ public DispatcherType getDispatcherType() { return null; }
+ public void setAsyncTimeout(long timeout) {}
+ public AsyncContext startAsync(ServletRequest servletRequest,
+ ServletResponse servletResponse) { return null; }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org