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