You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2020/04/03 17:40:48 UTC
[tomcat] 03/04: Refactor: Remove HttpServletMapping interface
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 <ma...@apache.org>
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: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org