Author: markt Date: Sun Mar 13 13:37:40 2016 New Revision: 1734805 URL: http://svn.apache.org/viewvc?rev=1734805&view=rev Log: First pass at reverting Servlet 3.0 to Servlet 4.0.DRAFT changes
Removed: tomcat/tc8.5.x/trunk/java/javax/servlet/GenericFilter.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpFilter.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/Mapping.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/MappingMatch.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/PushBuilder.java tomcat/tc8.5.x/trunk/java/javax/servlet/resources/javaee_8.xsd tomcat/tc8.5.x/trunk/java/javax/servlet/resources/web-app_4_0.xsd tomcat/tc8.5.x/trunk/java/javax/servlet/resources/web-common_4_0.xsd tomcat/tc8.5.x/trunk/java/javax/servlet/resources/web-fragment_4_0.xsd tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationMapping.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestApplicationMapping.java Modified: tomcat/tc8.5.x/trunk/java/javax/el/ImportHandler.java tomcat/tc8.5.x/trunk/java/javax/servlet/Filter.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContext.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextAttributeListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRegistration.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequest.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestAttributeListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestWrapper.java tomcat/tc8.5.x/trunk/java/javax/servlet/SingleThreadModel.java tomcat/tc8.5.x/trunk/java/javax/servlet/UnavailableException.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequest.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponse.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSession.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionActivationListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionAttributeListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionBindingListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionContext.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionListener.java tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpUtils.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Request.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/RequestFacade.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/CorsFilter.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/WebdavFixFilter.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/Mapper.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/MappingData.java tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIFilter.java tomcat/tc8.5.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestNamingContextListener.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestStandardContext.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/DuplicateMappingParamFilter.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/ParamFilter.java tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/TestListener.java tomcat/tc8.5.x/trunk/test/org/apache/coyote/http2/Http2TestBase.java tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TestELInterpreterFactory.java tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/compressionFilters/CompressionFilter.java tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/filters/ExampleFilter.java tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/http2/SimpleImagePush.java tomcat/tc8.5.x/trunk/webapps/examples/WEB-INF/classes/websocket/drawboard/DrawboardContextListener.java Modified: tomcat/tc8.5.x/trunk/java/javax/el/ImportHandler.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/el/ImportHandler.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/el/ImportHandler.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/el/ImportHandler.java Sun Mar 13 13:37:40 2016 @@ -30,7 +30,7 @@ import java.util.concurrent.ConcurrentHa public class ImportHandler { private List<String> packageNames = new ArrayList<>(); - private Map<String,String> classNames = new ConcurrentHashMap<>(); + private ConcurrentHashMap<String,String> classNames = new ConcurrentHashMap<>(); private Map<String,Class<?>> clazzes = new ConcurrentHashMap<>(); private Map<String,Class<?>> statics = new ConcurrentHashMap<>(); Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/Filter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/Filter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/Filter.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/Filter.java Sun Mar 13 13:37:40 2016 @@ -58,14 +58,13 @@ public interface Filter { * <li>Does not return within a time period defined by the web * container</li> * </ul> - * The default implementation is a NO-OP. * * @param filterConfig The configuration information associated with the * filter instance being initialised * * @throws ServletException if the initialisation fails */ - public default void init(FilterConfig filterConfig) throws ServletException {} + public void init(FilterConfig filterConfig) throws ServletException; /** * The <code>doFilter</code> method of the Filter is called by the container @@ -113,8 +112,7 @@ public interface Filter { * that are being held (for example, memory, file handles, threads) and make * sure that any persistent state is synchronized with the filter's current * state in memory. - * - * The default implementation is a NO-OP. */ - public default void destroy() {} + public void destroy(); + } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContext.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContext.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContext.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContext.java Sun Mar 13 13:37:40 2016 @@ -92,19 +92,19 @@ public interface ServletContext { /** * Returns the major version of the Java Servlet API that this servlet - * container supports. All implementations that comply with Version 4.0 must - * have this method return the integer 4. + * container supports. All implementations that comply with Version 3.1 must + * have this method return the integer 3. * - * @return 4 + * @return 3 */ public int getMajorVersion(); /** * Returns the minor version of the Servlet API that this servlet container - * supports. All implementations that comply with Version 4.0 must have this - * method return the integer 0. + * supports. All implementations that comply with Version 3.1 must have this + * method return the integer 1. * - * @return 0 + * @return 1 */ public int getMinorVersion(); @@ -310,7 +310,8 @@ public interface ServletContext { * * @deprecated As of Java Servlet API 2.1, with no direct replacement. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public Servlet getServlet(String name) throws ServletException; /** @@ -324,7 +325,8 @@ public interface ServletContext { * * @deprecated As of Java Servlet API 2.0, with no replacement. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public Enumeration<Servlet> getServlets(); /** @@ -339,7 +341,8 @@ public interface ServletContext { * * @deprecated As of Java Servlet API 2.1, with no replacement. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public Enumeration<String> getServletNames(); /** @@ -364,7 +367,8 @@ public interface ServletContext { * stack trace and an explanatory error message to the servlet * log file. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public void log(Exception exception, String msg); /** @@ -433,8 +437,6 @@ public interface ServletContext { * whose value is requested * @return a <code>String</code> containing the value of the initialization * parameter - * @throws NullPointerException If the provided parameter name is - * <code>null</code> * @see ServletConfig#getInitParameter */ public String getInitParameter(String name); @@ -467,8 +469,6 @@ public interface ServletContext { * {@link javax.servlet.annotation.WebListener}. For example, a * {@link ServletContextListener} defined in a TLD would not be able to * use this method. - * @throws NullPointerException If the provided parameter name is - * <code>null</code> * @since Servlet 3.0 */ public boolean setInitParameter(String name, String value); @@ -490,8 +490,6 @@ public interface ServletContext { * a <code>String</code> specifying the name of the attribute * @return an <code>Object</code> containing the value of the attribute, or * <code>null</code> if no attribute exists matching the given name - * @throws NullPointerException If the provided attribute name is - * <code>null</code> * @see ServletContext#getAttributeNames */ public Object getAttribute(String name); @@ -525,8 +523,6 @@ public interface ServletContext { * a <code>String</code> specifying the name of the attribute * @param object * an <code>Object</code> representing the attribute to be bound - * @throws NullPointerException If the provided attribute name is - * <code>null</code> */ public void setAttribute(String name, Object object); Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextAttributeListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextAttributeListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextAttributeListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextAttributeListener.java Sun Mar 13 13:37:40 2016 @@ -32,27 +32,21 @@ public interface ServletContextAttribute /** * Notification that a new attribute was added to the servlet context. * Called after the attribute is added. - * The default implementation is a NO-OP. * @param scae Information about the new attribute */ - public default void attributeAdded(ServletContextAttributeEvent scae) { - } + public void attributeAdded(ServletContextAttributeEvent scae); /** * Notification that an existing attribute has been removed from the servlet * context. Called after the attribute is removed. - * The default implementation is a NO-OP. * @param scae Information about the removed attribute */ - public default void attributeRemoved(ServletContextAttributeEvent scae) { - } + public void attributeRemoved(ServletContextAttributeEvent scae); /** * Notification that an attribute on the servlet context has been replaced. * Called after the attribute is replaced. - * The default implementation is a NO-OP. * @param scae Information about the replaced attribute */ - public default void attributeReplaced(ServletContextAttributeEvent scae) { - } + public void attributeReplaced(ServletContextAttributeEvent scae); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletContextListener.java Sun Mar 13 13:37:40 2016 @@ -34,19 +34,15 @@ public interface ServletContextListener ** Notification that the web application initialization process is starting. * All ServletContextListeners are notified of context initialization before * any filter or servlet in the web application is initialized. - * The default implementation is a NO-OP. * @param sce Information about the ServletContext that was initialized */ - public default void contextInitialized(ServletContextEvent sce) { - } + public void contextInitialized(ServletContextEvent sce); /** ** Notification that the servlet context is about to be shut down. All * servlets and filters have been destroy()ed before any * ServletContextListeners are notified of context destruction. - * The default implementation is a NO-OP. * @param sce Information about the ServletContext that was destroyed */ - public default void contextDestroyed(ServletContextEvent sce) { - } + public void contextDestroyed(ServletContextEvent sce); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRegistration.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRegistration.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRegistration.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRegistration.java Sun Mar 13 13:37:40 2016 @@ -42,8 +42,8 @@ public interface ServletRegistration ext public static interface Dynamic extends ServletRegistration, Registration.Dynamic { public void setLoadOnStartup(int loadOnStartup); - public Set<String> setServletSecurity(ServletSecurityElement constraint); public void setMultipartConfig(MultipartConfigElement multipartConfig); public void setRunAsRole(String roleName); + public Set<String> setServletSecurity(ServletSecurityElement constraint); } } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequest.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequest.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequest.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequest.java Sun Mar 13 13:37:40 2016 @@ -402,7 +402,8 @@ public interface ServletRequest { * @deprecated As of Version 2.1 of the Java Servlet API, use * {@link ServletContext#getRealPath} instead. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String getRealPath(String path); /** Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestAttributeListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestAttributeListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestAttributeListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestAttributeListener.java Sun Mar 13 13:37:40 2016 @@ -34,28 +34,22 @@ public interface ServletRequestAttribute /** * Notification that a new attribute was added to the * servlet request. Called after the attribute is added. - * The default implementation is a NO-OP. * @param srae Information about the new request attribute */ - public default void attributeAdded(ServletRequestAttributeEvent srae) { - } + public void attributeAdded(ServletRequestAttributeEvent srae); /** * Notification that an existing attribute has been removed from the * servlet request. Called after the attribute is removed. - * The default implementation is a NO-OP. * @param srae Information about the removed request attribute */ - public default void attributeRemoved(ServletRequestAttributeEvent srae) { - } + public void attributeRemoved(ServletRequestAttributeEvent srae); /** * Notification that an attribute was replaced on the * servlet request. Called after the attribute is replaced. - * The default implementation is a NO-OP. * @param srae Information about the replaced request attribute */ - public default void attributeReplaced(ServletRequestAttributeEvent srae) { - } + public void attributeReplaced(ServletRequestAttributeEvent srae); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestListener.java Sun Mar 13 13:37:40 2016 @@ -32,17 +32,13 @@ public interface ServletRequestListener /** * The request is about to go out of scope of the web application. - * The default implementation is a NO-OP. * @param sre Information about the request */ - public default void requestDestroyed (ServletRequestEvent sre) { - } + public void requestDestroyed (ServletRequestEvent sre); /** * The request is about to come into scope of the web application. - * The default implementation is a NO-OP. * @param sre Information about the request */ - public default void requestInitialized (ServletRequestEvent sre) { - } + public void requestInitialized (ServletRequestEvent sre); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestWrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestWrapper.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestWrapper.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/ServletRequestWrapper.java Sun Mar 13 13:37:40 2016 @@ -304,7 +304,8 @@ public class ServletRequestWrapper imple * @deprecated As of Version 3.0 of the Java Servlet API */ @Override - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String getRealPath(String path) { return this.request.getRealPath(path); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/SingleThreadModel.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/SingleThreadModel.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/SingleThreadModel.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/SingleThreadModel.java Sun Mar 13 13:37:40 2016 @@ -37,7 +37,8 @@ package javax.servlet; * * @deprecated As of Java Servlet API 2.4, with no direct replacement. */ -@Deprecated +@SuppressWarnings("dep-ann") +// Spec API does not use @Deprecated public interface SingleThreadModel { // No methods } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/UnavailableException.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/UnavailableException.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/UnavailableException.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/UnavailableException.java Sun Mar 13 13:37:40 2016 @@ -55,7 +55,8 @@ public class UnavailableException extend * @deprecated As of Java Servlet API 2.2, use * {@link #UnavailableException(String)} instead. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public UnavailableException(Servlet servlet, String msg) { super(msg); this.servlet = servlet; @@ -76,7 +77,8 @@ public class UnavailableException extend * @deprecated As of Java Servlet API 2.2, use * {@link #UnavailableException(String, int)} instead. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public UnavailableException(int seconds, Servlet servlet, String msg) { super(msg); this.servlet = servlet; @@ -151,7 +153,8 @@ public class UnavailableException extend * <code>UnavailableException</code> * @deprecated As of Java Servlet API 2.2, with no replacement. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public Servlet getServlet() { return servlet; } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequest.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequest.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequest.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequest.java Sun Mar 13 13:37:40 2016 @@ -170,26 +170,6 @@ public interface HttpServletRequest exte */ public int getIntHeader(String name); - public default Mapping getMapping() { - return new Mapping() { - - @Override - public String getMatchValue() { - return ""; - } - - @Override - public String getPattern() { - return ""; - } - - @Override - public MappingMatch getMatchType() { - return MappingMatch.UNKNOWN; - } - }; - } - /** * Returns the name of the HTTP method with which this request was made, for * example, GET, POST, or PUT. Same as the value of the CGI variable @@ -235,33 +215,6 @@ public interface HttpServletRequest exte public String getPathTranslated(); /** - * Does the current request allow push requests. This will return {@code - * true} only if the underlying protocol supports server push and if pushes - * are permitted from the current request. - * - * @return {@code true} if server push is supported for the current request - * otherwise {@code false} - */ - public default boolean isPushSupported() { - return false; - } - - /** - * Obtain a builder for generating push requests. {@link PushBuilder} - * documents how this request will be used as the basis for a push request. - * Each call to this method will return a new instance, independent of any - * previous instance obtained. - * - * @return A builder that can be used to generate push requests based on - * this request. - * - * @since Servlet 4.0 - */ - public default PushBuilder getPushBuilder() { - return null; - } - - /** * Returns the portion of the request URI that indicates the context of the * request. The context path always comes first in a request URI. The path * starts with a "/" character but does not end with a "/" character. For @@ -474,7 +427,8 @@ public interface HttpServletRequest exte * @deprecated As of Version 2.1 of the Java Servlet API, use * {@link #isRequestedSessionIdFromURL} instead. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public boolean isRequestedSessionIdFromUrl(); /** Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java Sun Mar 13 13:37:40 2016 @@ -115,15 +115,6 @@ public class HttpServletRequestWrapper e } /** - * The default behavior of this method is to return getMapping() on the - * wrapped request object. - */ - @Override - public Mapping getMapping() { - return this._getHttpServletRequest().getMapping(); - } - - /** * The default behavior of this method is to return getMethod() on the * wrapped request object. */ @@ -292,7 +283,8 @@ public class HttpServletRequestWrapper e * @deprecated As of Version 3.0 of the Java Servlet API */ @Override - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public boolean isRequestedSessionIdFromUrl() { return this._getHttpServletRequest().isRequestedSessionIdFromUrl(); } @@ -383,17 +375,4 @@ public class HttpServletRequestWrapper e Class<T> httpUpgradeHandlerClass) throws IOException, ServletException { return this._getHttpServletRequest().upgrade(httpUpgradeHandlerClass); } - - /** - * {@inheritDoc} - * <p> - * The default behavior of this method is to return - * {@link HttpServletRequest#isPushSupported()} on the wrapped request object. - * - * @since Servlet 4.0 - */ - @Override - public boolean isPushSupported() { - return this._getHttpServletRequest().isPushSupported(); - } } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponse.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponse.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponse.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponse.java Sun Mar 13 13:37:40 2016 @@ -100,7 +100,8 @@ public interface HttpServletResponse ext * otherwise. * @deprecated As of version 2.1, use encodeURL(String url) instead */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String encodeUrl(String url); /** @@ -110,7 +111,8 @@ public interface HttpServletResponse ext * otherwise. * @deprecated As of version 2.1, use encodeRedirectURL(String url) instead */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String encodeRedirectUrl(String url); /** @@ -289,7 +291,8 @@ public interface HttpServletResponse ext * <code>setStatus(int)</code>, to send an error with a * description use <code>sendError(int, String)</code>. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public void setStatus(int sc, String sm); /** Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpServletResponseWrapper.java Sun Mar 13 13:37:40 2016 @@ -92,7 +92,8 @@ public class HttpServletResponseWrapper * @deprecated As of Version 3.0 of the Java Servlet API */ @Override - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String encodeUrl(String url) { return this._getHttpServletResponse().encodeUrl(url); } @@ -104,7 +105,8 @@ public class HttpServletResponseWrapper * @deprecated As of Version 3.0 of the Java Servlet API */ @Override - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String encodeRedirectUrl(String url) { return this._getHttpServletResponse().encodeRedirectUrl(url); } @@ -206,7 +208,8 @@ public class HttpServletResponseWrapper * @deprecated As of Version 3.0 of the Java Servlet API */ @Override - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public void setStatus(int sc, String sm) { this._getHttpServletResponse().setStatus(sc, sm); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSession.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSession.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSession.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSession.java Sun Mar 13 13:37:40 2016 @@ -141,7 +141,8 @@ public interface HttpSession { * replacement. It will be removed in a future version of the * Java Servlet API. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public HttpSessionContext getSessionContext(); /** @@ -165,7 +166,8 @@ public interface HttpSession { * @deprecated As of Version 2.2, this method is replaced by * {@link #getAttribute}. */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public Object getValue(String name); /** @@ -187,7 +189,8 @@ public interface HttpSession { * @deprecated As of Version 2.2, this method is replaced by * {@link #getAttributeNames} */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public String[] getValueNames(); /** @@ -226,7 +229,8 @@ public interface HttpSession { * @deprecated As of Version 2.2, this method is replaced by * {@link #setAttribute} */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public void putValue(String name, Object value); /** @@ -255,7 +259,8 @@ public interface HttpSession { * @deprecated As of Version 2.2, this method is replaced by * {@link #removeAttribute} */ - @Deprecated + @SuppressWarnings("dep-ann") + // Spec API does not use @Deprecated public void removeValue(String name); /** Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionActivationListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionActivationListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionActivationListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionActivationListener.java Sun Mar 13 13:37:40 2016 @@ -31,20 +31,16 @@ public interface HttpSessionActivationLi /** * Notification that the session is about to be passivated. - * The default implementation is a NO-OP. * * @param se Information about the session this is about to be passivated */ - public default void sessionWillPassivate(HttpSessionEvent se) { - } + public void sessionWillPassivate(HttpSessionEvent se); /** * Notification that the session has just been activated. - * The default implementation is a NO-OP. * * @param se Information about the session this has just been activated */ - public default void sessionDidActivate(HttpSessionEvent se) { - } + public void sessionDidActivate(HttpSessionEvent se); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionAttributeListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionAttributeListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionAttributeListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionAttributeListener.java Sun Mar 13 13:37:40 2016 @@ -29,30 +29,24 @@ public interface HttpSessionAttributeLis /** * Notification that an attribute has been added to a session. Called after * the attribute is added. - * The default implementation is a NO-OP. * * @param se Information about the added attribute */ - public default void attributeAdded(HttpSessionBindingEvent se) { - } + public void attributeAdded(HttpSessionBindingEvent se); /** * Notification that an attribute has been removed from a session. Called * after the attribute is removed. - * The default implementation is a NO-OP. * * @param se Information about the removed attribute */ - public default void attributeRemoved(HttpSessionBindingEvent se) { - } + public void attributeRemoved(HttpSessionBindingEvent se); /** * Notification that an attribute has been replaced in a session. Called * after the attribute is replaced. - * The default implementation is a NO-OP. * * @param se Information about the replaced attribute */ - public default void attributeReplaced(HttpSessionBindingEvent se) { - } + public void attributeReplaced(HttpSessionBindingEvent se); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionBindingListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionBindingListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionBindingListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionBindingListener.java Sun Mar 13 13:37:40 2016 @@ -34,24 +34,20 @@ public interface HttpSessionBindingListe /** * Notifies the object that it is being bound to a session and identifies * the session. - * The default implementation is a NO-OP. * * @param event * the event that identifies the session * @see #valueUnbound */ - public default void valueBound(HttpSessionBindingEvent event) { - } + public void valueBound(HttpSessionBindingEvent event); /** * Notifies the object that it is being unbound from a session and * identifies the session. - * The default implementation is a NO-OP. * * @param event * the event that identifies the session * @see #valueBound */ - public default void valueUnbound(HttpSessionBindingEvent event) { - } + public void valueUnbound(HttpSessionBindingEvent event); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionContext.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionContext.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionContext.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionContext.java Sun Mar 13 13:37:40 2016 @@ -28,7 +28,8 @@ import java.util.Enumeration; * @see HttpSessionBindingEvent * @see HttpSessionBindingListener */ -@Deprecated +@SuppressWarnings("dep-ann") +// Spec API does not use @Deprecated public interface HttpSessionContext { /** @@ -39,7 +40,7 @@ public interface HttpSessionContext { * must return null and will be removed in a future version of * this API. */ - @Deprecated + // Spec API does not use @Deprecated public HttpSession getSession(String sessionId); /** @@ -49,6 +50,6 @@ public interface HttpSessionContext { * must return an empty <code>Enumeration</code> and will be * removed in a future version of this API. */ - @Deprecated + // Spec API does not use @Deprecated public Enumeration<String> getIds(); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionListener.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpSessionListener.java Sun Mar 13 13:37:40 2016 @@ -31,21 +31,17 @@ public interface HttpSessionListener ext /** * Notification that a session was created. - * The default implementation is a NO-OP. * * @param se * the notification event */ - public default void sessionCreated(HttpSessionEvent se) { - } + public void sessionCreated(HttpSessionEvent se); /** * Notification that a session is about to be invalidated. - * The default implementation is a NO-OP. * * @param se * the notification event */ - public default void sessionDestroyed(HttpSessionEvent se) { - } + public void sessionDestroyed(HttpSessionEvent se); } Modified: tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpUtils.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpUtils.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpUtils.java (original) +++ tomcat/tc8.5.x/trunk/java/javax/servlet/http/HttpUtils.java Sun Mar 13 13:37:40 2016 @@ -30,7 +30,7 @@ import javax.servlet.ServletInputStream; * with the default encoding and have been moved * to the request interfaces. */ -@Deprecated +@SuppressWarnings("dep-ann") // Spec API does not use @Deprecated public class HttpUtils { private static final String LSTRING_FILE = Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Request.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Request.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Request.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/Request.java Sun Mar 13 13:37:40 2016 @@ -63,9 +63,7 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpUpgradeHandler; -import javax.servlet.http.Mapping; import javax.servlet.http.Part; -import javax.servlet.http.PushBuilder; import org.apache.catalina.Container; import org.apache.catalina.Context; @@ -76,7 +74,6 @@ import org.apache.catalina.Realm; import org.apache.catalina.Session; import org.apache.catalina.TomcatPrincipal; import org.apache.catalina.Wrapper; -import org.apache.catalina.core.ApplicationMapping; import org.apache.catalina.core.ApplicationPart; import org.apache.catalina.core.ApplicationPushBuilder; import org.apache.catalina.core.ApplicationSessionCookieConfig; @@ -484,7 +481,6 @@ public class Request implements HttpServ } mappingData.recycle(); - applicationMapping.recycle(); applicationRequest = null; if (Globals.IS_SECURITY_ENABLED || Connector.RECYCLE_FACADES) { @@ -623,7 +619,6 @@ public class Request implements HttpServ * Mapping data. */ protected final MappingData mappingData = new MappingData(); - private final ApplicationMapping applicationMapping = new ApplicationMapping(mappingData); /** * @return mapping data. @@ -1895,11 +1890,11 @@ public class Request implements HttpServ // --------------------------------------------- HttpServletRequest Methods /** - * {@inheritDoc} + * Pulled forward from Servlet 4.0. The method signature may be modified, + * removed or replaced at any time until Servlet 4.0 becomes final. * - * @since Servlet 4.0 + * @return {@code true} If this request supports server push */ - @Override public boolean isPushSupported() { AtomicBoolean result = new AtomicBoolean(); coyoteRequest.action(ActionCode.IS_PUSH_SUPPORTED, result); @@ -1908,12 +1903,12 @@ public class Request implements HttpServ /** - * {@inheritDoc} + * Pulled forward from Servlet 4.0. The method signature may be modified, + * removed or replaced at any time until Servlet 4.0 becomes final. * - * @since Servlet 4.0 + * @return A builder to use to construct the push request */ - @Override - public PushBuilder getPushBuilder() { + public ApplicationPushBuilder getPushBuilder() { return new ApplicationPushBuilder(this); } @@ -2179,12 +2174,6 @@ public class Request implements HttpServ } - @Override - public Mapping getMapping() { - return applicationMapping.getMapping(); - } - - /** * @return the HTTP request method used in this Request. */ Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/RequestFacade.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/RequestFacade.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/connector/RequestFacade.java Sun Mar 13 13:37:40 2016 @@ -38,11 +38,10 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpUpgradeHandler; -import javax.servlet.http.Mapping; import javax.servlet.http.Part; -import javax.servlet.http.PushBuilder; import org.apache.catalina.Globals; +import org.apache.catalina.core.ApplicationPushBuilder; import org.apache.catalina.security.SecurityUtil; import org.apache.tomcat.util.res.StringManager; @@ -738,18 +737,6 @@ public class RequestFacade implements Ht @Override - public Mapping getMapping() { - - if (request == null) { - throw new IllegalStateException( - sm.getString("requestFacade.nullRequest")); - } - - return request.getMapping(); - } - - - @Override public String getMethod() { if (request == null) { @@ -1129,12 +1116,12 @@ public class RequestFacade implements Ht /** - * {@inheritDoc} + * Pulled forward from Servlet 4.0. The method signature may be modified, + * removed or replaced at any time until Servlet 4.0 becomes final. * - * @since Servlet 4.0 + * @return A builder to use to construct the push request */ - @Override - public PushBuilder getPushBuilder() { + public ApplicationPushBuilder getPushBuilder() { return request.getPushBuilder(); } } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Sun Mar 13 13:37:40 2016 @@ -33,7 +33,6 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpSession; -import javax.servlet.http.PushBuilder; import org.apache.catalina.Context; import org.apache.catalina.Globals; @@ -615,8 +614,7 @@ class ApplicationHttpRequest extends Htt } - @Override - public PushBuilder getPushBuilder() { + public ApplicationPushBuilder getPushBuilder() { return new ApplicationPushBuilder(this); } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/core/ApplicationPushBuilder.java Sun Mar 13 13:37:40 2016 @@ -32,7 +32,6 @@ import javax.servlet.SessionTrackingMode import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import javax.servlet.http.PushBuilder; import org.apache.catalina.Context; import org.apache.catalina.connector.Request; @@ -45,7 +44,7 @@ import org.apache.tomcat.util.collection import org.apache.tomcat.util.http.CookieProcessor; import org.apache.tomcat.util.res.StringManager; -public class ApplicationPushBuilder implements PushBuilder { +public class ApplicationPushBuilder { private static final StringManager sm = StringManager.getManager(ApplicationPushBuilder.class); @@ -168,8 +167,7 @@ public class ApplicationPushBuilder impl } - @Override - public PushBuilder path(String path) { + public ApplicationPushBuilder path(String path) { if (path.startsWith("/")) { this.path = path; } else { @@ -185,92 +183,78 @@ public class ApplicationPushBuilder impl } - @Override public String getPath() { return path; } - @Override - public PushBuilder method(String method) { + public ApplicationPushBuilder method(String method) { this.method = method; return this; } - @Override public String getMethod() { return method; } - @Override - public PushBuilder etag(String etag) { + public ApplicationPushBuilder etag(String etag) { this.etag = etag; return this; } - @Override public String getEtag() { return etag; } - @Override - public PushBuilder lastModified(String lastModified) { + public ApplicationPushBuilder lastModified(String lastModified) { this.lastModified = lastModified; return this; } - @Override public String getLastModified() { return lastModified; } - @Override - public PushBuilder queryString(String queryString) { + public ApplicationPushBuilder queryString(String queryString) { this.queryString = queryString; return this; } - @Override public String getQueryString() { return queryString; } - @Override - public PushBuilder sessionId(String sessionId) { + public ApplicationPushBuilder sessionId(String sessionId) { this.sessionId = sessionId; return this; } - @Override public String getSessionId() { return sessionId; } - @Override - public PushBuilder conditional(boolean conditional) { + public ApplicationPushBuilder conditional(boolean conditional) { this.conditional = conditional; return this; } - @Override public boolean isConditional() { return conditional; } - @Override - public PushBuilder addHeader(String name, String value) { + public ApplicationPushBuilder addHeader(String name, String value) { List<String> values = headers.get(name); if (values == null) { values = new ArrayList<>(); @@ -282,8 +266,7 @@ public class ApplicationPushBuilder impl } - @Override - public PushBuilder setHeader(String name, String value) { + public ApplicationPushBuilder setHeader(String name, String value) { List<String> values = headers.get(name); if (values == null) { values = new ArrayList<>(); @@ -297,21 +280,18 @@ public class ApplicationPushBuilder impl } - @Override - public PushBuilder removeHeader(String name) { + public ApplicationPushBuilder removeHeader(String name) { headers.remove(name); return this; } - @Override public Set<String> getHeaderNames() { return Collections.unmodifiableSet(headers.keySet()); } - @Override public String getHeader(String name) { List<String> values = headers.get(name); if (values == null) { @@ -322,7 +302,6 @@ public class ApplicationPushBuilder impl } - @Override public boolean push() { if (path == null) { throw new IllegalStateException(sm.getString("pushBuilder.noPath")); Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/CorsFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/CorsFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/CorsFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/CorsFilter.java Sun Mar 13 13:37:40 2016 @@ -27,8 +27,9 @@ import java.util.List; import java.util.Locale; import java.util.Set; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -41,8 +42,8 @@ import org.apache.tomcat.util.res.String /** * <p> - * A {@link javax.servlet.Filter} that enable client-side cross-origin requests - * by implementing W3C's CORS (<b>C</b>ross-<b>O</b>rigin <b>R</b>esource + * A {@link Filter} that enable client-side cross-origin requests by + * implementing W3C's CORS (<b>C</b>ross-<b>O</b>rigin <b>R</b>esource * <b>S</b>haring) specification for resources. Each {@link HttpServletRequest} * request is inspected as per specification, and appropriate response headers * are added to {@link HttpServletResponse}. @@ -75,9 +76,8 @@ import org.apache.tomcat.util.res.String * @see <a href="http://www.w3.org/TR/cors/">CORS specification</a> * */ -public final class CorsFilter extends GenericFilter { +public final class CorsFilter implements Filter { - private static final long serialVersionUID = 1L; private static final Log log = LogFactory.getLog(CorsFilter.class); private static final StringManager sm = StringManager.getManager(CorsFilter.class); @@ -132,11 +132,6 @@ public final class CorsFilter extends Ge @Override - public void destroy() { - // NOOP - } - - @Override public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { @@ -182,26 +177,35 @@ public final class CorsFilter extends Ge @Override - public void init() throws ServletException { + public void init(final FilterConfig filterConfig) throws ServletException { // Initialize defaults parseAndStore(DEFAULT_ALLOWED_ORIGINS, DEFAULT_ALLOWED_HTTP_METHODS, DEFAULT_ALLOWED_HTTP_HEADERS, DEFAULT_EXPOSED_HEADERS, DEFAULT_SUPPORTS_CREDENTIALS, DEFAULT_PREFLIGHT_MAXAGE, DEFAULT_DECORATE_REQUEST); - String configAllowedOrigins = getInitParameter(PARAM_CORS_ALLOWED_ORIGINS); - String configAllowedHttpMethods = getInitParameter(PARAM_CORS_ALLOWED_METHODS); - String configAllowedHttpHeaders = getInitParameter(PARAM_CORS_ALLOWED_HEADERS); - String configExposedHeaders = getInitParameter(PARAM_CORS_EXPOSED_HEADERS); - String configSupportsCredentials = getInitParameter(PARAM_CORS_SUPPORT_CREDENTIALS); - String configPreflightMaxAge = getInitParameter(PARAM_CORS_PREFLIGHT_MAXAGE); - String configDecorateRequest = getInitParameter(PARAM_CORS_REQUEST_DECORATE); + if (filterConfig != null) { + String configAllowedOrigins = filterConfig + .getInitParameter(PARAM_CORS_ALLOWED_ORIGINS); + String configAllowedHttpMethods = filterConfig + .getInitParameter(PARAM_CORS_ALLOWED_METHODS); + String configAllowedHttpHeaders = filterConfig + .getInitParameter(PARAM_CORS_ALLOWED_HEADERS); + String configExposedHeaders = filterConfig + .getInitParameter(PARAM_CORS_EXPOSED_HEADERS); + String configSupportsCredentials = filterConfig + .getInitParameter(PARAM_CORS_SUPPORT_CREDENTIALS); + String configPreflightMaxAge = filterConfig + .getInitParameter(PARAM_CORS_PREFLIGHT_MAXAGE); + String configDecorateRequest = filterConfig + .getInitParameter(PARAM_CORS_REQUEST_DECORATE); parseAndStore(configAllowedOrigins, configAllowedHttpMethods, configAllowedHttpHeaders, configExposedHeaders, configSupportsCredentials, configPreflightMaxAge, configDecorateRequest); } + } /** @@ -450,6 +454,12 @@ public final class CorsFilter extends Ge } + @Override + public void destroy() { + // NOOP + } + + /** * Decorates the {@link HttpServletRequest}, with CORS attributes. * <ul> Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Sun Mar 13 13:37:40 2016 @@ -31,15 +31,15 @@ import java.util.Locale; import java.util.Map; import java.util.regex.Pattern; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.PushBuilder; import org.apache.catalina.AccessLog; import org.apache.catalina.Globals; @@ -436,10 +436,7 @@ import org.apache.juli.logging.LogFactor * </p> * <hr> */ -public class RemoteIpFilter extends GenericFilter { - - private static final long serialVersionUID = 1L; - +public class RemoteIpFilter implements Filter { public static class XForwardedRequest extends HttpServletRequestWrapper { static final ThreadLocal<SimpleDateFormat[]> threadLocalDateFormats = new ThreadLocal<SimpleDateFormat[]>() { @@ -640,8 +637,7 @@ public class RemoteIpFilter extends Gene return url; } - @Override - public PushBuilder getPushBuilder() { + public ApplicationPushBuilder getPushBuilder() { return new ApplicationPushBuilder(this); } } @@ -955,50 +951,50 @@ public class RemoteIpFilter extends Gene } @Override - public void init() throws ServletException { - if (getInitParameter(INTERNAL_PROXIES_PARAMETER) != null) { - setInternalProxies(getInitParameter(INTERNAL_PROXIES_PARAMETER)); + public void init(FilterConfig filterConfig) throws ServletException { + if (filterConfig.getInitParameter(INTERNAL_PROXIES_PARAMETER) != null) { + setInternalProxies(filterConfig.getInitParameter(INTERNAL_PROXIES_PARAMETER)); } - if (getInitParameter(PROTOCOL_HEADER_PARAMETER) != null) { - setProtocolHeader(getInitParameter(PROTOCOL_HEADER_PARAMETER)); + if (filterConfig.getInitParameter(PROTOCOL_HEADER_PARAMETER) != null) { + setProtocolHeader(filterConfig.getInitParameter(PROTOCOL_HEADER_PARAMETER)); } - if (getInitParameter(PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER) != null) { - setProtocolHeaderHttpsValue(getInitParameter(PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER)); + if (filterConfig.getInitParameter(PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER) != null) { + setProtocolHeaderHttpsValue(filterConfig.getInitParameter(PROTOCOL_HEADER_HTTPS_VALUE_PARAMETER)); } - if (getInitParameter(PORT_HEADER_PARAMETER) != null) { - setPortHeader(getInitParameter(PORT_HEADER_PARAMETER)); + if (filterConfig.getInitParameter(PORT_HEADER_PARAMETER) != null) { + setPortHeader(filterConfig.getInitParameter(PORT_HEADER_PARAMETER)); } - if (getInitParameter(CHANGE_LOCAL_PORT_PARAMETER) != null) { - setChangeLocalPort(Boolean.parseBoolean(getInitParameter(CHANGE_LOCAL_PORT_PARAMETER))); + if (filterConfig.getInitParameter(CHANGE_LOCAL_PORT_PARAMETER) != null) { + setChangeLocalPort(Boolean.parseBoolean(filterConfig.getInitParameter(CHANGE_LOCAL_PORT_PARAMETER))); } - if (getInitParameter(PROXIES_HEADER_PARAMETER) != null) { - setProxiesHeader(getInitParameter(PROXIES_HEADER_PARAMETER)); + if (filterConfig.getInitParameter(PROXIES_HEADER_PARAMETER) != null) { + setProxiesHeader(filterConfig.getInitParameter(PROXIES_HEADER_PARAMETER)); } - if (getInitParameter(REMOTE_IP_HEADER_PARAMETER) != null) { - setRemoteIpHeader(getInitParameter(REMOTE_IP_HEADER_PARAMETER)); + if (filterConfig.getInitParameter(REMOTE_IP_HEADER_PARAMETER) != null) { + setRemoteIpHeader(filterConfig.getInitParameter(REMOTE_IP_HEADER_PARAMETER)); } - if (getInitParameter(TRUSTED_PROXIES_PARAMETER) != null) { - setTrustedProxies(getInitParameter(TRUSTED_PROXIES_PARAMETER)); + if (filterConfig.getInitParameter(TRUSTED_PROXIES_PARAMETER) != null) { + setTrustedProxies(filterConfig.getInitParameter(TRUSTED_PROXIES_PARAMETER)); } - if (getInitParameter(HTTP_SERVER_PORT_PARAMETER) != null) { + if (filterConfig.getInitParameter(HTTP_SERVER_PORT_PARAMETER) != null) { try { - setHttpServerPort(Integer.parseInt(getInitParameter(HTTP_SERVER_PORT_PARAMETER))); + setHttpServerPort(Integer.parseInt(filterConfig.getInitParameter(HTTP_SERVER_PORT_PARAMETER))); } catch (NumberFormatException e) { throw new NumberFormatException("Illegal " + HTTP_SERVER_PORT_PARAMETER + " : " + e.getMessage()); } } - if (getInitParameter(HTTPS_SERVER_PORT_PARAMETER) != null) { + if (filterConfig.getInitParameter(HTTPS_SERVER_PORT_PARAMETER) != null) { try { - setHttpsServerPort(Integer.parseInt(getInitParameter(HTTPS_SERVER_PORT_PARAMETER))); + setHttpsServerPort(Integer.parseInt(filterConfig.getInitParameter(HTTPS_SERVER_PORT_PARAMETER))); } catch (NumberFormatException e) { throw new NumberFormatException("Illegal " + HTTPS_SERVER_PORT_PARAMETER + " : " + e.getMessage()); } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java Sun Mar 13 13:37:40 2016 @@ -21,8 +21,9 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Enumeration; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -47,9 +48,7 @@ import org.apache.juli.logging.LogFactor * * @author Craig R. McClanahan */ -public class RequestDumperFilter extends GenericFilter { - - private static final long serialVersionUID = 1L; +public class RequestDumperFilter implements Filter { private static final String NON_HTTP_REQ_MSG = "Not available. Non-http request."; @@ -70,11 +69,6 @@ public class RequestDumperFilter extends private static final Log log = LogFactory.getLog(RequestDumperFilter.class); - @Override - public void destroy() { - // NOOP - } - /** * Log the interesting request parameters, invoke the next Filter in the * sequence, and log the interesting response parameters. @@ -270,6 +264,16 @@ public class RequestDumperFilter extends return ts.dateString; } + @Override + public void init(FilterConfig filterConfig) throws ServletException { + // NOOP + } + + @Override + public void destroy() { + // NOOP + } + private static final class Timestamp { private final Date date = new Date(0); private final SimpleDateFormat format = Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/WebdavFixFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/WebdavFixFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/WebdavFixFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/filters/WebdavFixFilter.java Sun Mar 13 13:37:40 2016 @@ -18,9 +18,9 @@ package org.apache.catalina.filters; import java.io.IOException; +import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; -import javax.servlet.GenericFilter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -57,9 +57,7 @@ import javax.servlet.http.HttpServletRes * <li>Unknown issue means it doesn't work</li> * </ul> */ -public class WebdavFixFilter extends GenericFilter { - - private static final long serialVersionUID = 1L; +public class WebdavFixFilter implements Filter { private static final String LOG_MESSAGE_PREAMBLE = "WebdavFixFilter: Detected client problem: "; @@ -112,11 +110,11 @@ public class WebdavFixFilter extends Gen } else if (ua.startsWith(UA_MINIDIR_5_2_3790)) { // XP 64-bit SP2 if (!"".equals(httpRequest.getContextPath())) { - log("XP-x64-SP2 clients only work with the root context"); + log(httpRequest, "XP-x64-SP2 clients only work with the root context"); } // Namespace issue maybe // see http://greenbytes.de/tech/webdav/webdav-redirector-list.html - log("XP-x64-SP2 is known not to work with WebDAV Servlet"); + log(httpRequest, "XP-x64-SP2 is known not to work with WebDAV Servlet"); chain.doFilter(request, response); } else { @@ -142,9 +140,9 @@ public class WebdavFixFilter extends Gen return location.toString(); } - private void log(String msg) { + private void log(ServletRequest request, String msg) { StringBuilder builder = new StringBuilder(LOG_MESSAGE_PREAMBLE); builder.append(msg); - getServletContext().log(builder.toString()); + request.getServletContext().log(builder.toString()); } } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/Mapper.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/Mapper.java Sun Mar 13 13:37:40 2016 @@ -25,8 +25,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; -import javax.servlet.http.MappingMatch; - import org.apache.catalina.Context; import org.apache.catalina.Host; import org.apache.catalina.WebResource; @@ -994,7 +992,6 @@ public final class Mapper { (path.getBuffer(), path.getStart(), path.getLength()); mappingData.wrapperPath.setChars (path.getBuffer(), path.getStart(), path.getLength()); - mappingData.matchType = MappingMatch.DEFAULT; } // Redirection to a folder char[] buf = path.getBuffer(); @@ -1043,10 +1040,8 @@ public final class Mapper { mappingData.wrapperPath.setString(""); // This seems wrong but it is what the spec says... mappingData.contextPath.setString(""); - mappingData.matchType = MappingMatch.CONTEXT_ROOT; } else { mappingData.wrapperPath.setString(wrapper.name); - mappingData.matchType = MappingMatch.EXACT; } } } @@ -1098,7 +1093,6 @@ public final class Mapper { (path.getBuffer(), path.getOffset(), path.getLength()); mappingData.wrapper = wrappers[pos].object; mappingData.jspWildCard = wrappers[pos].jspWildCard; - mappingData.matchType = MappingMatch.PATH; } } } @@ -1143,7 +1137,6 @@ public final class Mapper { mappingData.requestPath.setChars(buf, servletPath, pathEnd - servletPath); mappingData.wrapper = wrapper.object; - mappingData.matchType = MappingMatch.EXTENSION; } path.setOffset(servletPath); path.setEnd(pathEnd); Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/MappingData.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/MappingData.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/MappingData.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/mapper/MappingData.java Sun Mar 13 13:37:40 2016 @@ -17,8 +17,6 @@ package org.apache.catalina.mapper; -import javax.servlet.http.MappingMatch; - import org.apache.catalina.Context; import org.apache.catalina.Host; import org.apache.catalina.Wrapper; @@ -45,9 +43,6 @@ public class MappingData { public final MessageBytes redirectPath = MessageBytes.newInstance(); - // Fields used by ApplicationMapping to implement javax.servlet.http.Mapping - public MappingMatch matchType = MappingMatch.UNKNOWN; - public void recycle() { host = null; context = null; @@ -60,6 +55,5 @@ public class MappingData { wrapperPath.recycle(); pathInfo.recycle(); redirectPath.recycle(); - matchType = MappingMatch.UNKNOWN; } } Modified: tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/catalina/ssi/SSIFilter.java Sun Mar 13 13:37:40 2016 @@ -28,8 +28,9 @@ import java.io.Reader; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -44,8 +45,8 @@ import org.apache.catalina.Globals; * @author David Becker * @see org.apache.catalina.ssi.SSIServlet */ -public class SSIFilter extends GenericFilter { - private static final long serialVersionUID = 1L; +public class SSIFilter implements Filter { + protected FilterConfig config = null; /** Debug level for this servlet. */ protected int debug = 0; /** Expiration time in seconds for the doc. */ @@ -62,26 +63,29 @@ public class SSIFilter extends GenericFi @Override - public void init() throws ServletException { - if (getInitParameter("debug") != null) { - debug = Integer.parseInt(getInitParameter("debug")); + public void init(FilterConfig config) throws ServletException { + this.config = config; + + if (config.getInitParameter("debug") != null) { + debug = Integer.parseInt(config.getInitParameter("debug")); } - if (getInitParameter("contentType") != null) { - contentTypeRegEx = Pattern.compile(getInitParameter("contentType")); + if (config.getInitParameter("contentType") != null) { + contentTypeRegEx = Pattern.compile(config.getInitParameter("contentType")); } else { contentTypeRegEx = shtmlRegEx; } - isVirtualWebappRelative = Boolean.parseBoolean(getInitParameter("isVirtualWebappRelative")); + isVirtualWebappRelative = + Boolean.parseBoolean(config.getInitParameter("isVirtualWebappRelative")); - if (getInitParameter("expires") != null) - expires = Long.valueOf(getInitParameter("expires")); + if (config.getInitParameter("expires") != null) + expires = Long.valueOf(config.getInitParameter("expires")); - allowExec = Boolean.parseBoolean(getInitParameter("allowExec")); + allowExec = Boolean.parseBoolean(config.getInitParameter("allowExec")); if (debug > 0) - getServletContext().log( + config.getServletContext().log( "SSIFilter.init() SSI invoker started with 'debug'=" + debug); } @@ -98,7 +102,7 @@ public class SSIFilter extends GenericFi // setup to capture output ByteArrayServletOutputStream basos = new ByteArrayServletOutputStream(); ResponseIncludeWrapper responseIncludeWrapper = - new ResponseIncludeWrapper(getServletContext(),req, res, basos); + new ResponseIncludeWrapper(config.getServletContext(),req, res, basos); // process remainder of filter chain chain.doFilter(req, responseIncludeWrapper); @@ -116,7 +120,7 @@ public class SSIFilter extends GenericFi // set up SSI processing SSIExternalResolver ssiExternalResolver = - new SSIServletExternalResolver(getServletContext(), req, + new SSIServletExternalResolver(config.getServletContext(), req, res, isVirtualWebappRelative, debug, encoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug, allowExec); Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java (original) +++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java Sun Mar 13 13:37:40 2016 @@ -18,8 +18,9 @@ package org.apache.tomcat.websocket.serv import java.io.IOException; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -29,16 +30,14 @@ import javax.servlet.http.HttpServletRes /** * Handles the initial HTTP connection for WebSocket connections. */ -public class WsFilter extends GenericFilter { - - private static final long serialVersionUID = 1L; +public class WsFilter implements Filter { private WsServerContainer sc; @Override - public void init() throws ServletException { - sc = (WsServerContainer) getServletContext().getAttribute( + public void init(FilterConfig filterConfig) throws ServletException { + sc = (WsServerContainer) filterConfig.getServletContext().getAttribute( Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE); } @@ -79,10 +78,9 @@ public class WsFilter extends GenericFil mappingResult.getPathParams()); } + @Override public void destroy() { // NO-OP } - - } Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestNamingContextListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestNamingContextListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestNamingContextListener.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestNamingContextListener.java Sun Mar 13 13:37:40 2016 @@ -71,6 +71,11 @@ public class TestNamingContextListener e public static final class Bug49132Listener implements ServletContextListener { @Override + public void contextDestroyed(ServletContextEvent sce) { + // NOOP + } + + @Override public void contextInitialized(ServletContextEvent sce) { javax.naming.Context initCtx; try { @@ -146,6 +151,11 @@ public class TestNamingContextListener e ServletContextListener { @Override + public void contextDestroyed(ServletContextEvent sce) { + // NOOP + } + + @Override public void contextInitialized(ServletContextEvent sce) { javax.naming.Context initCtx; try { Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestStandardContext.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestStandardContext.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestStandardContext.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/core/TestStandardContext.java Sun Mar 13 13:37:40 2016 @@ -23,8 +23,9 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.HttpConstraintElement; import javax.servlet.HttpMethodConstraintElement; import javax.servlet.MultipartConfigElement; @@ -160,9 +161,12 @@ public class TestStandardContext extends } } - public static final class Bug46243Filter extends GenericFilter { + public static final class Bug46243Filter implements Filter { - private static final long serialVersionUID = 1L; + @Override + public void destroy() { + // NOOP + } @Override public void doFilter(ServletRequest request, ServletResponse response, @@ -173,10 +177,11 @@ public class TestStandardContext extends } @Override - public void init() throws ServletException { - boolean fail = getInitParameter("fail").equals("true"); + public void init(FilterConfig filterConfig) throws ServletException { + boolean fail = filterConfig.getInitParameter("fail").equals("true"); if (fail) { - throw new ServletException("Init fail (test)", new ClassNotFoundException()); + throw new ServletException("Init fail (test)", + new ClassNotFoundException()); } } } @@ -330,9 +335,12 @@ public class TestStandardContext extends } - public static final class Bug49922Filter extends GenericFilter { + public static final class Bug49922Filter implements Filter { - private static final long serialVersionUID = 1L; + @Override + public void destroy() { + // NOOP + } @Override public void doFilter(ServletRequest request, ServletResponse response, @@ -341,6 +349,11 @@ public class TestStandardContext extends response.getWriter().print("Filter"); chain.doFilter(request, response); } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + // NOOP + } } public static final class Bug49922ForwardServlet extends HttpServlet { Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/filters/TesterHttpServletRequest.java Sun Mar 13 13:37:40 2016 @@ -42,9 +42,9 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpUpgradeHandler; -import javax.servlet.http.Mapping; import javax.servlet.http.Part; -import javax.servlet.http.PushBuilder; + +import org.apache.catalina.core.ApplicationPushBuilder; public class TesterHttpServletRequest implements HttpServletRequest { @@ -265,11 +265,6 @@ public class TesterHttpServletRequest im } @Override - public Mapping getMapping() { - throw new RuntimeException("Not implemented"); - } - - @Override public String getMethod() { return method; } @@ -442,8 +437,7 @@ public class TesterHttpServletRequest im throw new RuntimeException("Not implemented"); } - @Override - public PushBuilder getPushBuilder() { + public ApplicationPushBuilder getPushBuilder() { throw new RuntimeException("Not implemented"); } } Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/DuplicateMappingParamFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/DuplicateMappingParamFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/DuplicateMappingParamFilter.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/DuplicateMappingParamFilter.java Sun Mar 13 13:37:40 2016 @@ -18,8 +18,9 @@ package org.apache.catalina.startup; import java.io.IOException; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -33,14 +34,23 @@ import javax.servlet.annotation.WebFilte */ @WebFilter(value = "/param", filterName="paramDFilter", urlPatterns = { "/param1" , "/param2" }) -public class DuplicateMappingParamFilter extends GenericFilter { +public class DuplicateMappingParamFilter implements Filter { - private static final long serialVersionUID = 1L; @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) - throws ServletException, IOException { + public void init(FilterConfig filterConfig) throws ServletException { + // NO-OP + } + + @Override + public void doFilter(ServletRequest req, ServletResponse res, + FilterChain chain) throws ServletException, IOException { chain.doFilter(req, res); } + + @Override + public void destroy() { + // destroy + } } Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/ParamFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/ParamFilter.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/ParamFilter.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/ParamFilter.java Sun Mar 13 13:37:40 2016 @@ -20,8 +20,9 @@ import java.io.IOException; import java.io.PrintWriter; import javax.servlet.DispatcherType; +import javax.servlet.Filter; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; +import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; @@ -32,18 +33,27 @@ import javax.servlet.annotation.WebInitP * Test Mock to check Filter Annotations * @author Peter Rossbach */ -@WebFilter(value = "/param", filterName = "paramFilter", - dispatcherTypes = { DispatcherType.ERROR, DispatcherType.ASYNC }, - initParams = { @WebInitParam(name = "message", value = "Servlet says: ") }) -public class ParamFilter extends GenericFilter { +@WebFilter(value = "/param", filterName = "paramFilter", dispatcherTypes = { + DispatcherType.ERROR, DispatcherType.ASYNC }, initParams = { @WebInitParam(name = "message", value = "Servlet says: ") }) +public class ParamFilter implements Filter { - private static final long serialVersionUID = 1L; + private FilterConfig _filterConfig; + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + _filterConfig = filterConfig; + } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException { PrintWriter out = res.getWriter(); - out.print(getInitParameter("message")); + out.print(_filterConfig.getInitParameter("message")); chain.doFilter(req, res); } + + @Override + public void destroy() { + // destroy + } } Modified: tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/TestListener.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/TestListener.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/TestListener.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/catalina/startup/TestListener.java Sun Mar 13 13:37:40 2016 @@ -88,6 +88,11 @@ public class TestListener extends Tomcat public void contextInitialized(ServletContextEvent sce) { initialized = true; } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + // NOOP + } } public static class SCL2 implements ServletContextListener { @@ -97,6 +102,11 @@ public class TestListener extends Tomcat ServletContext sc = sce.getServletContext(); sc.addListener(SCL3.class.getName()); } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + // NOOP + } } public static class SCL3 implements ServletContextListener { @@ -107,5 +117,10 @@ public class TestListener extends Tomcat public void contextInitialized(ServletContextEvent sce) { initialized = true; } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + // NOOP + } } } Modified: tomcat/tc8.5.x/trunk/test/org/apache/coyote/http2/Http2TestBase.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/coyote/http2/Http2TestBase.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/coyote/http2/Http2TestBase.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/coyote/http2/Http2TestBase.java Sun Mar 13 13:37:40 2016 @@ -712,6 +712,21 @@ public abstract class Http2TestBase exte @Override + public boolean fill(boolean block, byte[] data) throws IOException { + return fill(block, data, 0, data.length); } + + + @Override + public boolean fill(boolean block, ByteBuffer data, int len) throws IOException { + boolean result = fill(block, data.array(), data.arrayOffset(), len); + if (result) { + data.position(data.position() + len); + } + return result; + } + + + @Override public boolean fill(boolean block, byte[] data, int offset, int length) throws IOException { // Note: Block is ignored for this test class. Reads always block. int off = offset; Modified: tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TestELInterpreterFactory.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TestELInterpreterFactory.java?rev=1734805&r1=1734804&r2=1734805&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TestELInterpreterFactory.java (original) +++ tomcat/tc8.5.x/trunk/test/org/apache/jasper/compiler/TestELInterpreterFactory.java Sun Mar 13 13:37:40 2016 @@ -93,5 +93,10 @@ public class TestELInterpreterFactory ex sce.getServletContext().setInitParameter(ELInterpreter.class.getName(), SimpleELInterpreter.class.getName()); } + + @Override + public void contextDestroyed(ServletContextEvent sce) { + // NO-OP + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org