Author: bdekruijff at gmail.com
Date: Mon Jan 31 16:33:30 2011
New Revision: 732
Log:
AMDATU-245 consult servletmatchers when search dispatcher target
Modified:
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/FilterPipeline.java
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/ServletPipeline.java
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandler.java
Modified:
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/FilterPipeline.java
==============================================================================
---
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/FilterPipeline.java
(original)
+++
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/FilterPipeline.java
Mon Jan 31 16:33:30 2011
@@ -37,7 +37,7 @@
@Override
public RequestDispatcher getRequestDispatcher(String path) {
- final RequestDispatcher dispatcher =
m_servletPipeline.getRequestDispatcher(path);
+ final RequestDispatcher dispatcher =
m_servletPipeline.getRequestDispatcher(this, path);
return (null != dispatcher) ? dispatcher :
super.getRequestDispatcher(path);
}
}
Modified:
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/ServletPipeline.java
==============================================================================
---
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/ServletPipeline.java
(original)
+++
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/ServletPipeline.java
Mon Jan 31 16:33:30 2011
@@ -33,9 +33,9 @@
return m_servletHandlers.length > 0;
}
- public RequestDispatcher getRequestDispatcher(String path) {
+ public RequestDispatcher getRequestDispatcher(HttpServletRequest
httpServletRequest, String path) {
for (ServletHandler handler : m_servletHandlers) {
- if (handler.matchesPath(path)) {
+ if (handler.matches(httpServletRequest, path)) {
return new Dispatcher(path, handler);
}
}
Modified:
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandler.java
==============================================================================
---
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandler.java
(original)
+++
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandler.java
Mon Jan 31 16:33:30 2011
@@ -44,17 +44,23 @@
public boolean handle(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
throws ServletException, IOException {
-
- boolean matches = matchesPath(httpServletRequest.getPathInfo());
- if (matches) {
- if (m_servletHandlerRegistry.servletHandlerMatches(this,
httpServletRequest)) {
- doHandle(httpServletRequest, httpServletResponse);
- return true;
- }
+ if (matches(httpServletRequest)) {
+ doHandle(httpServletRequest, httpServletResponse);
+ return true;
}
return false;
}
+ public boolean matches(HttpServletRequest httpServletRequest) {
+ return matches(httpServletRequest, httpServletRequest.getPathInfo());
+ }
+
+ public boolean matches(HttpServletRequest httpServletRequest, String path)
{
+ return matchesPath(path)
+ && m_servletHandlerRegistry.servletHandlerMatches(this,
+ httpServletRequest);
+ }
+
public boolean matchesPath(String uri) {
if (uri == null) {
return m_alias.equals("/");