This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 1a87ea891530d2839586b3221d100bf741af1e20 Author: Mark Thomas <[email protected]> AuthorDate: Fri Apr 3 16:59:55 2020 +0100 Refactor: Remove HttpServletMapping interface --- java/org/apache/catalina/connector/Request.java | 4 +- .../apache/catalina/connector/RequestFacade.java | 4 +- .../apache/catalina/core/ApplicationContext.java | 3 +- .../catalina/core/ApplicationDispatcher.java | 9 ++-- .../catalina/core/ApplicationHttpRequest.java | 7 ++- .../apache/catalina/core/ApplicationMapping.java | 5 +- .../catalina/core/ApplicationMappingImpl.java | 12 ++--- .../servlet4preview/http/HttpServletMapping.java | 55 ---------------------- .../servlet4preview/http/HttpServletRequest.java | 4 +- .../http/HttpServletRequestWrapper.java | 3 +- ...estApplicationContextGetRequestDispatcherB.java | 8 ++-- .../catalina/core/TestApplicationMapping.java | 9 ++-- 12 files changed, 31 insertions(+), 92 deletions(-) diff --git a/java/org/apache/catalina/connector/Request.java b/java/org/apache/catalina/connector/Request.java index dbc2c16..71a107d 100644 --- a/java/org/apache/catalina/connector/Request.java +++ b/java/org/apache/catalina/connector/Request.java @@ -77,12 +77,12 @@ import org.apache.catalina.TomcatPrincipal; import org.apache.catalina.Wrapper; import org.apache.catalina.core.ApplicationFilterChain; import org.apache.catalina.core.ApplicationMapping; +import org.apache.catalina.core.ApplicationMappingImpl; import org.apache.catalina.core.ApplicationPart; import org.apache.catalina.core.ApplicationPushBuilder; import org.apache.catalina.core.ApplicationSessionCookieConfig; import org.apache.catalina.core.AsyncContextImpl; import org.apache.catalina.mapper.MappingData; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.session.ManagerBase; import org.apache.catalina.util.ParameterMap; import org.apache.catalina.util.TLSUtil; @@ -2304,7 +2304,7 @@ public class Request implements org.apache.catalina.servlet4preview.http.HttpSer @Override - public HttpServletMapping getHttpServletMapping() { + public ApplicationMappingImpl getHttpServletMapping() { return applicationMapping.getHttpServletMapping(); } diff --git a/java/org/apache/catalina/connector/RequestFacade.java b/java/org/apache/catalina/connector/RequestFacade.java index 41d0dde..3ecf5b9 100644 --- a/java/org/apache/catalina/connector/RequestFacade.java +++ b/java/org/apache/catalina/connector/RequestFacade.java @@ -40,9 +40,9 @@ import javax.servlet.http.HttpUpgradeHandler; import javax.servlet.http.Part; import org.apache.catalina.Globals; +import org.apache.catalina.core.ApplicationMappingImpl; import org.apache.catalina.core.ApplicationPushBuilder; import org.apache.catalina.security.SecurityUtil; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.servlet4preview.http.HttpServletRequest; import org.apache.tomcat.util.res.StringManager; @@ -1123,7 +1123,7 @@ public class RequestFacade implements HttpServletRequest { * removed or replaced at any time until Servlet 4.0 becomes final. */ @Override - public HttpServletMapping getHttpServletMapping() { + public ApplicationMappingImpl getHttpServletMapping() { return request.getHttpServletMapping(); } diff --git a/java/org/apache/catalina/core/ApplicationContext.java b/java/org/apache/catalina/core/ApplicationContext.java index d44ef02..8a42c24 100644 --- a/java/org/apache/catalina/core/ApplicationContext.java +++ b/java/org/apache/catalina/core/ApplicationContext.java @@ -67,7 +67,6 @@ import org.apache.catalina.WebResourceRoot; import org.apache.catalina.Wrapper; import org.apache.catalina.connector.Connector; import org.apache.catalina.mapper.MappingData; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.util.Introspection; import org.apache.catalina.util.ServerInfo; import org.apache.catalina.util.URLEncoder; @@ -482,7 +481,7 @@ public class ApplicationContext implements ServletContext { Wrapper wrapper = mappingData.wrapper; String wrapperPath = mappingData.wrapperPath.toString(); String pathInfo = mappingData.pathInfo.toString(); - HttpServletMapping mapping = new ApplicationMapping(mappingData).getHttpServletMapping(); + ApplicationMappingImpl mapping = new ApplicationMapping(mappingData).getHttpServletMapping(); // Construct a RequestDispatcher to process this request return new ApplicationDispatcher(wrapper, uri, wrapperPath, pathInfo, diff --git a/java/org/apache/catalina/core/ApplicationDispatcher.java b/java/org/apache/catalina/core/ApplicationDispatcher.java index 1f93011..eb3d420 100644 --- a/java/org/apache/catalina/core/ApplicationDispatcher.java +++ b/java/org/apache/catalina/core/ApplicationDispatcher.java @@ -44,7 +44,6 @@ import org.apache.catalina.connector.Request; import org.apache.catalina.connector.RequestFacade; import org.apache.catalina.connector.Response; import org.apache.catalina.connector.ResponseFacade; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; @@ -211,7 +210,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher */ public ApplicationDispatcher (Wrapper wrapper, String requestURI, String servletPath, - String pathInfo, String queryString, HttpServletMapping mapping, String name) { + String pathInfo, String queryString, ApplicationMappingImpl mapping, String name) { super(); @@ -268,7 +267,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher /** * The mapping for this RequestDispatcher. */ - private final HttpServletMapping mapping; + private final ApplicationMappingImpl mapping; /** @@ -372,7 +371,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher hrequest.getPathInfo()); wrequest.setAttribute(RequestDispatcher.FORWARD_QUERY_STRING, hrequest.getQueryString()); - HttpServletMapping mapping; + ApplicationMappingImpl mapping; if (hrequest instanceof org.apache.catalina.servlet4preview.http.HttpServletRequest) { mapping = ((org.apache.catalina.servlet4preview.http.HttpServletRequest) hrequest).getHttpServletMapping(); @@ -627,7 +626,7 @@ final class ApplicationDispatcher implements AsyncDispatcher, RequestDispatcher wrequest.setAttribute(Globals.DISPATCHER_TYPE_ATTR, DispatcherType.ASYNC); wrequest.setAttribute(Globals.DISPATCHER_REQUEST_PATH_ATTR, getCombinedPath()); - HttpServletMapping mapping; + ApplicationMappingImpl mapping; if (hrequest instanceof org.apache.catalina.servlet4preview.http.HttpServletRequest) { mapping = ((org.apache.catalina.servlet4preview.http.HttpServletRequest) hrequest).getHttpServletMapping(); diff --git a/java/org/apache/catalina/core/ApplicationHttpRequest.java b/java/org/apache/catalina/core/ApplicationHttpRequest.java index 2bb795c..fab0799 100644 --- a/java/org/apache/catalina/core/ApplicationHttpRequest.java +++ b/java/org/apache/catalina/core/ApplicationHttpRequest.java @@ -42,7 +42,6 @@ import org.apache.catalina.Globals; import org.apache.catalina.Manager; import org.apache.catalina.Session; import org.apache.catalina.connector.RequestFacade; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.util.ParameterMap; import org.apache.catalina.util.URLEncoder; import org.apache.tomcat.util.buf.B2CConverter; @@ -193,7 +192,7 @@ class ApplicationHttpRequest /** * The mapping for this request. */ - private HttpServletMapping mapping = null; + private ApplicationMappingImpl mapping = null; /** @@ -528,7 +527,7 @@ class ApplicationHttpRequest @Override - public HttpServletMapping getHttpServletMapping() { + public ApplicationMappingImpl getHttpServletMapping() { return mapping; } @@ -781,7 +780,7 @@ class ApplicationHttpRequest } - void setMapping(HttpServletMapping mapping) { + void setMapping(ApplicationMappingImpl mapping) { this.mapping = mapping; } diff --git a/java/org/apache/catalina/core/ApplicationMapping.java b/java/org/apache/catalina/core/ApplicationMapping.java index 9e528b3..0c988cf 100644 --- a/java/org/apache/catalina/core/ApplicationMapping.java +++ b/java/org/apache/catalina/core/ApplicationMapping.java @@ -17,19 +17,18 @@ package org.apache.catalina.core; import org.apache.catalina.mapper.MappingData; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; public class ApplicationMapping { private final MappingData mappingData; - private volatile HttpServletMapping mapping = null; + private volatile ApplicationMappingImpl mapping = null; public ApplicationMapping(MappingData mappingData) { this.mappingData = mappingData; } - public HttpServletMapping getHttpServletMapping() { + public ApplicationMappingImpl getHttpServletMapping() { if (mapping == null) { if (mappingData == null) { // This can happen when dispatching from an application provided diff --git a/java/org/apache/catalina/core/ApplicationMappingImpl.java b/java/org/apache/catalina/core/ApplicationMappingImpl.java index cf64d24..2362b1f 100644 --- a/java/org/apache/catalina/core/ApplicationMappingImpl.java +++ b/java/org/apache/catalina/core/ApplicationMappingImpl.java @@ -1,8 +1,6 @@ package org.apache.catalina.core; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; - -public class ApplicationMappingImpl implements HttpServletMapping { +public class ApplicationMappingImpl { private final String matchValue; private final String pattern; @@ -16,22 +14,22 @@ public class ApplicationMappingImpl implements HttpServletMapping { this.servletName = servletName; } - @Override + public String getMatchValue() { return matchValue; } - @Override + public String getPattern() { return pattern; } - @Override + public ApplicationMappingMatch getMappingMatch() { return mappingType; } - @Override + public String getServletName() { return servletName; } diff --git a/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java b/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java deleted file mode 100644 index cad96e1..0000000 --- a/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java +++ /dev/null @@ -1,55 +0,0 @@ -/* -* 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 org.apache.catalina.servlet4preview.http; - -import javax.servlet.annotation.WebServlet; - -import org.apache.catalina.core.ApplicationMappingMatch; - -/** - * Represents how the request from which this object was obtained was mapped to - * the associated servlet. - * - * @since 4.0 - */ -public interface HttpServletMapping { - - /** - * @return The value that was matched or the empty String if not known. - */ - String getMatchValue(); - - /** - * @return The {@code url-pattern} that matched this request or the empty - * String if not known. - */ - String getPattern(); - - /** - * @return The name of the servlet (as specified in web.xml, - * {@link WebServlet#name()}, - * {@link javax.servlet.ServletContext#addServlet(String, Class)} or - * one of the other <code>addServlet()</code> methods) that the - * request was mapped to. - */ - String getServletName(); - - /** - * @return The type of match ({@code null} if not known) - */ - ApplicationMappingMatch getMappingMatch(); -} diff --git a/java/org/apache/catalina/servlet4preview/http/HttpServletRequest.java b/java/org/apache/catalina/servlet4preview/http/HttpServletRequest.java index 64ac62b..f605ed7 100644 --- a/java/org/apache/catalina/servlet4preview/http/HttpServletRequest.java +++ b/java/org/apache/catalina/servlet4preview/http/HttpServletRequest.java @@ -16,10 +16,12 @@ */ package org.apache.catalina.servlet4preview.http; +import org.apache.catalina.core.ApplicationMappingImpl; + /** * Provides early access to some parts of the Servlet 4.0 API. */ public interface HttpServletRequest extends javax.servlet.http.HttpServletRequest { - public HttpServletMapping getHttpServletMapping(); + public ApplicationMappingImpl getHttpServletMapping(); } diff --git a/java/org/apache/catalina/servlet4preview/http/HttpServletRequestWrapper.java b/java/org/apache/catalina/servlet4preview/http/HttpServletRequestWrapper.java index 67b6efa..7ed31ce 100644 --- a/java/org/apache/catalina/servlet4preview/http/HttpServletRequestWrapper.java +++ b/java/org/apache/catalina/servlet4preview/http/HttpServletRequestWrapper.java @@ -16,6 +16,7 @@ */ package org.apache.catalina.servlet4preview.http; +import org.apache.catalina.core.ApplicationMappingImpl; /** * Provides early access to some parts of the Servlet 4.0 API. @@ -47,7 +48,7 @@ public class HttpServletRequestWrapper extends javax.servlet.http.HttpServletReq * @since Servlet 4.0 */ @Override - public HttpServletMapping getHttpServletMapping() { + public ApplicationMappingImpl getHttpServletMapping() { return this._getHttpServletRequest().getHttpServletMapping(); } } diff --git a/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java b/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java index be1b8a4..8bcbcde 100755 --- a/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java +++ b/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java @@ -38,7 +38,6 @@ import org.junit.runners.Parameterized.Parameters; import org.apache.catalina.Context; import org.apache.catalina.Wrapper; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; @@ -527,7 +526,7 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest Assert.assertEquals(expectedServletPath, req.getServletPath()); Assert.assertEquals(expectedPathInfo, req.getPathInfo()); Assert.assertEquals(expectedQueryString, req.getQueryString()); - HttpServletMapping mapping = + ApplicationMappingImpl mapping = ((org.apache.catalina.servlet4preview.http.HttpServletRequest) req).getHttpServletMapping(); Assert.assertEquals(expectedMappingMatch, mapping.getMappingMatch()); Assert.assertEquals(expectedMappingPattern, mapping.getPattern()); @@ -547,9 +546,8 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest req.getAttribute("javax.servlet." + name + ".path_info")); Assert.assertEquals(expectedDispatcherQueryString, req.getAttribute("javax.servlet." + name + ".query_string")); - HttpServletMapping dispatcherMapping = - (HttpServletMapping) ((org.apache.catalina.servlet4preview.http.HttpServletRequest) req).getAttribute( - "javax.servlet." + name + ".mapping"); + ApplicationMappingImpl dispatcherMapping = + (ApplicationMappingImpl) req.getAttribute("javax.servlet." + name + ".mapping"); Assert.assertNotNull(dispatcherMapping); Assert.assertEquals(expectedDispatcherMappingMatch, dispatcherMapping.getMappingMatch()); diff --git a/test/org/apache/catalina/core/TestApplicationMapping.java b/test/org/apache/catalina/core/TestApplicationMapping.java index 2cb9d1b..76ef88c 100644 --- a/test/org/apache/catalina/core/TestApplicationMapping.java +++ b/test/org/apache/catalina/core/TestApplicationMapping.java @@ -31,7 +31,6 @@ import org.junit.Test; import org.apache.catalina.Context; import org.apache.catalina.Wrapper; -import org.apache.catalina.servlet4preview.http.HttpServletMapping; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; import org.apache.tomcat.util.buf.ByteChunk; @@ -340,13 +339,13 @@ public class TestApplicationMapping extends TomcatBaseTest { throws ServletException, IOException { resp.setContentType("text/plain;charset=UTF-8"); PrintWriter pw = resp.getWriter(); - HttpServletMapping mapping = ((org.apache.catalina.servlet4preview.http.HttpServletRequest) + ApplicationMappingImpl mapping = ((org.apache.catalina.servlet4preview.http.HttpServletRequest) req).getHttpServletMapping(); pw.println("MatchValue=[" + mapping.getMatchValue() + "]"); pw.println("Pattern=[" + mapping.getPattern() + "]"); pw.println("MatchType=[" + mapping.getMappingMatch() + "]"); pw.println("ServletName=[" + mapping.getServletName() + "]"); - HttpServletMapping includeMapping = (HttpServletMapping) req.getAttribute( + ApplicationMappingImpl includeMapping = (ApplicationMappingImpl) req.getAttribute( ApplicationDispatcher.INCLUDE_MAPPING); if (includeMapping != null) { pw.println("IncludeMatchValue=[" + includeMapping.getMatchValue() + "]"); @@ -355,7 +354,7 @@ public class TestApplicationMapping extends TomcatBaseTest { pw.println("IncludeServletName=[" + includeMapping.getServletName() + "]"); } - HttpServletMapping forwardMapping = (HttpServletMapping) req.getAttribute( + ApplicationMappingImpl forwardMapping = (ApplicationMappingImpl) req.getAttribute( ApplicationDispatcher.FORWARD_MAPPING); if (forwardMapping != null) { pw.println("ForwardMatchValue=[" + forwardMapping.getMatchValue() + "]"); @@ -363,7 +362,7 @@ public class TestApplicationMapping extends TomcatBaseTest { pw.println("ForwardMatchType=[" + forwardMapping.getMappingMatch() + "]"); pw.println("ForwardServletName=[" + forwardMapping.getServletName() + "]"); } - HttpServletMapping asyncMapping = (HttpServletMapping) req.getAttribute( + ApplicationMappingImpl asyncMapping = (ApplicationMappingImpl) req.getAttribute( ApplicationDispatcher.ASYNC_MAPPING); if (asyncMapping != null) { pw.println("AsyncMatchValue=[" + asyncMapping.getMatchValue() + "]"); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
