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:47 UTC

[tomcat] 02/04: Refactor: Replace MappingMatch enum with ApplicationMappingMatch

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 aa7271f41b730edbfe4a069f97b29840f31a2029
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Fri Apr 3 16:53:53 2020 +0100

    Refactor: Replace MappingMatch enum with ApplicationMappingMatch
---
 java/javax/el/ImportHandler.java                   |   2 +-
 .../catalina/core/ApplicationMappingImpl.java      |   7 +-
 .../ApplicationMappingMatch.java}                  |   6 +-
 .../org/apache/catalina/filters/ExpiresFilter.java |   4 +-
 java/org/apache/catalina/mapper/Mapper.java        |  12 +-
 java/org/apache/catalina/mapper/MappingData.java   |   4 +-
 .../servlet4preview/http/HttpServletMapping.java   |   4 +-
 ...estApplicationContextGetRequestDispatcherB.java | 189 ++++++++++-----------
 8 files changed, 113 insertions(+), 115 deletions(-)

diff --git a/java/javax/el/ImportHandler.java b/java/javax/el/ImportHandler.java
index b31a75f..151b3ab 100644
--- a/java/javax/el/ImportHandler.java
+++ b/java/javax/el/ImportHandler.java
@@ -114,7 +114,7 @@ public class ImportHandler {
         servletHttpClassNames.add("HttpSessionEvent");
         servletHttpClassNames.add("HttpUtils");
         // Enums
-        servletHttpClassNames.add("MappingMatch");
+        servletHttpClassNames.add("ApplicationMappingMatch");
         standardPackages.put("javax.servlet.http", servletHttpClassNames);
 
         // JSP 2.3
diff --git a/java/org/apache/catalina/core/ApplicationMappingImpl.java b/java/org/apache/catalina/core/ApplicationMappingImpl.java
index e8d21c6..cf64d24 100644
--- a/java/org/apache/catalina/core/ApplicationMappingImpl.java
+++ b/java/org/apache/catalina/core/ApplicationMappingImpl.java
@@ -1,16 +1,15 @@
 package org.apache.catalina.core;
 
 import org.apache.catalina.servlet4preview.http.HttpServletMapping;
-import org.apache.catalina.servlet4preview.http.MappingMatch;
 
 public class ApplicationMappingImpl implements HttpServletMapping {
 
     private final String matchValue;
     private final String pattern;
-    private final MappingMatch mappingType;
+    private final ApplicationMappingMatch mappingType;
     private final String servletName;
 
-    public ApplicationMappingImpl(String matchValue, String pattern, MappingMatch mappingType, String servletName) {
+    public ApplicationMappingImpl(String matchValue, String pattern, ApplicationMappingMatch mappingType, String servletName) {
         this.matchValue = matchValue;
         this.pattern = pattern;
         this.mappingType = mappingType;
@@ -28,7 +27,7 @@ public class ApplicationMappingImpl implements HttpServletMapping {
     }
 
     @Override
-    public MappingMatch getMappingMatch() {
+    public ApplicationMappingMatch getMappingMatch() {
         return mappingType;
     }
 
diff --git a/java/org/apache/catalina/servlet4preview/http/MappingMatch.java b/java/org/apache/catalina/core/ApplicationMappingMatch.java
similarity index 90%
rename from java/org/apache/catalina/servlet4preview/http/MappingMatch.java
rename to java/org/apache/catalina/core/ApplicationMappingMatch.java
index 3dd54b0..cb1a9d8 100644
--- a/java/org/apache/catalina/servlet4preview/http/MappingMatch.java
+++ b/java/org/apache/catalina/core/ApplicationMappingMatch.java
@@ -14,14 +14,12 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-package org.apache.catalina.servlet4preview.http;
+package org.apache.catalina.core;
 
 /**
  * Represents the ways that a request can be mapped to a servlet
- *
- * @since 4.0
  */
-public enum MappingMatch {
+public enum ApplicationMappingMatch {
 
     CONTEXT_ROOT,
     DEFAULT,
diff --git a/java/org/apache/catalina/filters/ExpiresFilter.java b/java/org/apache/catalina/filters/ExpiresFilter.java
index 8f1dab4..6c7ff78 100644
--- a/java/org/apache/catalina/filters/ExpiresFilter.java
+++ b/java/org/apache/catalina/filters/ExpiresFilter.java
@@ -42,7 +42,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
 
-import org.apache.catalina.servlet4preview.http.MappingMatch;
+import org.apache.catalina.core.ApplicationMappingMatch;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 
@@ -1296,7 +1296,7 @@ public class ExpiresFilter extends FilterBase {
                 org.apache.catalina.servlet4preview.http.HttpServletRequest servlet4Request =
                         (org.apache.catalina.servlet4preview.http.HttpServletRequest) innerRequest;
 
-                if (servlet4Request.getHttpServletMapping().getMappingMatch() == MappingMatch.DEFAULT &&
+                if (servlet4Request.getHttpServletMapping().getMappingMatch() == ApplicationMappingMatch.DEFAULT &&
                         response.getStatus() == HttpServletResponse.SC_NOT_MODIFIED) {
                     // Default servlet normally sets the content type but does not for
                     // 304 responses. Look it up.
diff --git a/java/org/apache/catalina/mapper/Mapper.java b/java/org/apache/catalina/mapper/Mapper.java
index f8b6606..02dd2d1 100644
--- a/java/org/apache/catalina/mapper/Mapper.java
+++ b/java/org/apache/catalina/mapper/Mapper.java
@@ -30,7 +30,7 @@ import org.apache.catalina.Host;
 import org.apache.catalina.WebResource;
 import org.apache.catalina.WebResourceRoot;
 import org.apache.catalina.Wrapper;
-import org.apache.catalina.servlet4preview.http.MappingMatch;
+import org.apache.catalina.core.ApplicationMappingMatch;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.buf.Ascii;
@@ -1019,7 +1019,7 @@ public final class Mapper {
                     (path.getBuffer(), path.getStart(), path.getLength());
                 mappingData.wrapperPath.setChars
                     (path.getBuffer(), path.getStart(), path.getLength());
-                mappingData.matchType = MappingMatch.DEFAULT;
+                mappingData.matchType = ApplicationMappingMatch.DEFAULT;
             }
             // Redirection to a folder
             char[] buf = path.getBuffer();
@@ -1075,10 +1075,10 @@ 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;
+                mappingData.matchType = ApplicationMappingMatch.CONTEXT_ROOT;
             } else {
                 mappingData.wrapperPath.setString(wrapper.name);
-                mappingData.matchType = MappingMatch.EXACT;
+                mappingData.matchType = ApplicationMappingMatch.EXACT;
             }
         }
     }
@@ -1130,7 +1130,7 @@ public final class Mapper {
                     (path.getBuffer(), path.getOffset(), path.getLength());
                 mappingData.wrapper = wrappers[pos].object;
                 mappingData.jspWildCard = wrappers[pos].jspWildCard;
-                mappingData.matchType = MappingMatch.PATH;
+                mappingData.matchType = ApplicationMappingMatch.PATH;
             }
         }
     }
@@ -1175,7 +1175,7 @@ public final class Mapper {
                     mappingData.requestPath.setChars(buf, servletPath, pathEnd
                             - servletPath);
                     mappingData.wrapper = wrapper.object;
-                    mappingData.matchType = MappingMatch.EXTENSION;
+                    mappingData.matchType = ApplicationMappingMatch.EXTENSION;
                 }
                 path.setOffset(servletPath);
                 path.setEnd(pathEnd);
diff --git a/java/org/apache/catalina/mapper/MappingData.java b/java/org/apache/catalina/mapper/MappingData.java
index 7578f49..9ad15be 100644
--- a/java/org/apache/catalina/mapper/MappingData.java
+++ b/java/org/apache/catalina/mapper/MappingData.java
@@ -20,7 +20,7 @@ package org.apache.catalina.mapper;
 import org.apache.catalina.Context;
 import org.apache.catalina.Host;
 import org.apache.catalina.Wrapper;
-import org.apache.catalina.servlet4preview.http.MappingMatch;
+import org.apache.catalina.core.ApplicationMappingMatch;
 import org.apache.tomcat.util.buf.MessageBytes;
 
 /**
@@ -49,7 +49,7 @@ public class MappingData {
     public final MessageBytes redirectPath = MessageBytes.newInstance();
 
     // Fields used by ApplicationMapping to implement javax.servlet.http.HttpServletMapping
-    public MappingMatch matchType = null;
+    public ApplicationMappingMatch matchType = null;
 
     public void recycle() {
         host = null;
diff --git a/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java b/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java
index 3a14feb..cad96e1 100644
--- a/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java
+++ b/java/org/apache/catalina/servlet4preview/http/HttpServletMapping.java
@@ -18,6 +18,8 @@ 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.
@@ -49,5 +51,5 @@ public interface HttpServletMapping {
     /**
      * @return The type of match ({@code null} if not known)
      */
-    MappingMatch getMappingMatch();
+    ApplicationMappingMatch getMappingMatch();
 }
diff --git a/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java b/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java
index ca74a95..be1b8a4 100755
--- a/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java
+++ b/test/org/apache/catalina/core/TestApplicationContextGetRequestDispatcherB.java
@@ -39,7 +39,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.servlet4preview.http.MappingMatch;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.buf.ByteChunk;
@@ -64,135 +63,135 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest
             // Simple dispatch for each type
             { "/start", "/start", DispatcherType.INCLUDE, "/target", "/target", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", "/start", DispatcherType.FORWARD, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start", DispatcherType.ASYNC, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Simple dispatch with query strings
             { "/start", "/start?abcde=fghij", DispatcherType.INCLUDE, "/target", "/target?zyxwv=utsrq", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target", "/test", "/target", null, "zyxwv=utsrq",
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", "/start?abcde=fghij", DispatcherType.FORWARD, "/target", "/target?zyxwv=utsrq", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, "zyxwv=utsrq",
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start?abcde=fghij", DispatcherType.ASYNC, "/target", "/target?zyxwv=utsrq", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, "zyxwv=utsrq",
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Simple dispatch with trailing path parameters at start
             { "/start", "/start;abcde=fghij", DispatcherType.INCLUDE, "/target", "/target", Boolean.TRUE,
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.FORWARD, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.ASYNC, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Simple dispatch with path parameters at start
             { "/start", ";abcde=fghij/start", DispatcherType.INCLUDE, "/target", "/target", Boolean.TRUE,
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", ";abcde=fghij/start", DispatcherType.FORWARD, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", ";abcde=fghij/start", DispatcherType.ASYNC, "/target", "/target", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Simple dispatch with path parameters on dispatch
             { "/start", "/start", DispatcherType.INCLUDE, "/target", "/target;abcde=fghij", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target;abcde=fghij", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", "/start", DispatcherType.FORWARD, "/target", "/target;abcde=fghij", Boolean.TRUE,
                     "/test/target;abcde=fghij", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start", DispatcherType.ASYNC, "/target", "/target;abcde=fghij", Boolean.TRUE,
                     "/test/target;abcde=fghij", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Simple dispatch with multiple path parameters on start and dispatch
             { "/start", "/start;abcde=fghij", DispatcherType.INCLUDE, "/target", ";klmno=pqrst/target;uvwxy=z0123", Boolean.TRUE,
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/;klmno=pqrst/target;uvwxy=z0123", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.FORWARD, "/target", ";klmno=pqrst/target;uvwxy=z0123", Boolean.TRUE,
                     "/test/;klmno=pqrst/target;uvwxy=z0123", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.ASYNC, "/target", ";klmno=pqrst/target;uvwxy=z0123", Boolean.TRUE,
                     "/test/;klmno=pqrst/target;uvwxy=z0123", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "ASYNC-IAE"},
             // Simple dispatch with directory traversal
             { "/start/*", "/start/foo", DispatcherType.INCLUDE, "/target", "../target", Boolean.TRUE,
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start/*", "/start/foo", DispatcherType.FORWARD, "/target", "../target", Boolean.TRUE,
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "OK"},
             { "/start/*", "/start/foo", DispatcherType.ASYNC, "/target", "../target", Boolean.TRUE,
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "ASYNC-IAE"},
             // Simple dispatch with directory traversal and path parameters
             // Note comments in Request.getRequestDispatcher(String) that
@@ -200,154 +199,154 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest
             // dispatched requestURI
             { "/start/*", "/start;abcde=fghij/foo", DispatcherType.INCLUDE, "/target", "../target;klmno=pqrst", Boolean.TRUE,
                     "/test/start;abcde=fghij/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "/test/start/../target;klmno=pqrst", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "OK"},
             { "/start/*", "/start;abcde=fghij/foo", DispatcherType.FORWARD, "/target", "../target;klmno=pqrst", Boolean.TRUE,
                     "/test/start/../target;klmno=pqrst", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "OK"},
             { "/start/*", "/start;abcde=fghij/foo", DispatcherType.ASYNC, "/target", "../target;klmno=pqrst", Boolean.TRUE,
                     "/test/start;abcde=fghij/../target;klmno=pqrst", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start;abcde=fghij/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "ASYNC-IAE"},
             // Simple dispatch with invalid directory traversal
             { "/start/*", "/start/foo", DispatcherType.INCLUDE, "/target", "../../target", Boolean.TRUE,
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "RD-NULL"},
             { "/start/*", "/start/foo", DispatcherType.FORWARD, "/target", "../../target", Boolean.TRUE,
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "RD-NULL"},
             { "/start/*", "/start/foo", DispatcherType.ASYNC, "/target", "../../target", Boolean.TRUE,
                     "/test/start/../target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start/foo", "/test", "/start", "/foo", null,
-                    MappingMatch.PATH, "/start/*", "foo", "rd",
+                    ApplicationMappingMatch.PATH, "/start/*", "foo", "rd",
                     "ASYNC-IAE"},
             // Simple dispatch with invalid target
             { "/start", "/start", DispatcherType.INCLUDE, "/target", "/does-not-exist", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "RD-NULL"},
             { "/start", "/start", DispatcherType.FORWARD, "/target", "/does-not-exist", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "RD-NULL"},
             { "/start", "/start", DispatcherType.ASYNC, "/target", "/does-not-exist", Boolean.TRUE,
                     "/test/target", "/test", "/target", null, null,
-                    MappingMatch.EXACT, "/target", "target", "target",
+                    ApplicationMappingMatch.EXACT, "/target", "target", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "ASYNC-RD-NULL"},
             // Welcome files
             { "/start", "/start", DispatcherType.INCLUDE, "*.html", "/", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "OK"},
             { "/start", "/start", DispatcherType.FORWARD, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start", DispatcherType.ASYNC, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Welcome files with query strings
             { "/start", "/start?abcde=fghij", DispatcherType.INCLUDE, "*.html", "/?zyxwv=utsrq", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/", "/test", "/index.html", null, "zyxwv=utsrq",
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "OK"},
             { "/start", "/start?abcde=fghij", DispatcherType.FORWARD, "*.html", "/?zyxwv=utsrq", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, "zyxwv=utsrq",
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start?abcde=fghij", DispatcherType.ASYNC, "*.html", "/?zyxwv=utsrq", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, "zyxwv=utsrq",
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, "abcde=fghij",
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Welcome files with trailing path parameters at start
             { "/start", "/start;abcde=fghij", DispatcherType.INCLUDE, "*.html", "/", Boolean.TRUE,
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.FORWARD, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start;abcde=fghij", DispatcherType.ASYNC, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start;abcde=fghij", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Welcome files with path parameters at start
             { "/start", ";abcde=fghij/start", DispatcherType.INCLUDE, "*.html", "/", Boolean.TRUE,
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "OK"},
             { "/start", ";abcde=fghij/start", DispatcherType.FORWARD, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", ";abcde=fghij/start", DispatcherType.ASYNC, "*.html", "/", Boolean.TRUE,
                     "/test/", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test;abcde=fghij/start", "/test;abcde=fghij", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             // Welcome files with trailing path parameters on dispatch
             { "/start", "/start", DispatcherType.INCLUDE, "*.html", "/;abcde=fghij", Boolean.TRUE,
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "/test/;abcde=fghij", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "OK"},
             { "/start", "/start", DispatcherType.FORWARD, "*.html", "/;abcde=fghij", Boolean.TRUE,
                     "/test/;abcde=fghij", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
             { "/start", "/start", DispatcherType.ASYNC, "*.html", "/;abcde=fghij", Boolean.TRUE,
                     "/test/;abcde=fghij", "/test", "/index.html", null, null,
-                    MappingMatch.EXTENSION, "*.html", "index", "target",
+                    ApplicationMappingMatch.EXTENSION, "*.html", "index", "target",
                     "/test/start", "/test", "/start", null, null,
-                    MappingMatch.EXACT, "/start", "start", "rd",
+                    ApplicationMappingMatch.EXACT, "/start", "start", "rd",
                     "OK"},
         });
     }
@@ -365,7 +364,7 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest
     private final String expectedServletPath;
     private final String expectedPathInfo;
     private final String expectedQueryString;
-    private final MappingMatch expectedMappingMatch;
+    private final ApplicationMappingMatch expectedMappingMatch;
     private final String expectedMappingPattern;
     private final String expectedMappingMatchValue;
     private final String expectedMappingServletName;
@@ -374,7 +373,7 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest
     private final String expectedDispatcherServletPath;
     private final String expectedDispatcherPathInfo;
     private final String expectedDispatcherQueryString;
-    private final MappingMatch expectedDispatcherMappingMatch;
+    private final ApplicationMappingMatch expectedDispatcherMappingMatch;
     private final String expectedDispatcherMappingPattern;
     private final String expectedDispatcherMappingMatchValue;
     private final String expectedDispatcherMappingServletName;
@@ -385,12 +384,12 @@ public class TestApplicationContextGetRequestDispatcherB extends TomcatBaseTest
             DispatcherType dispatcherType, String targetMapping, String targetUri,
             boolean useEncodedDispatchPaths,
             String expectedRequestURI, String expectedContextPath, String expectedServletPath,
-            String expectedPathInfo, String expectedQueryString, MappingMatch expectedMappingMatch,
+            String expectedPathInfo, String expectedQueryString, ApplicationMappingMatch expectedMappingMatch,
             String expectedMappingPattern, String expectedMappingMatchValue,
             String expectedMappingServletName,
             String expectedDispatcherRequestURI, String expectedDispatcherContextPath,
             String expectedDispatcherServletPath, String expectedDispatcherPathInfo,
-            String expectedDispatcherQueryString, MappingMatch expectedDispatcherMappingMatch,
+            String expectedDispatcherQueryString, ApplicationMappingMatch expectedDispatcherMappingMatch,
             String expectedDispatcherMappingPattern, String expectedDispatcherMappingMatchValue,
             String expectedDispatcherMappingServletName,
             String expectedBody) {


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org