You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/10/09 13:56:22 UTC

[1/2] wicket git commit: Revert "simplify filter handling: don't pass the chain around, use the boolean return in #doFilter() instead"

Repository: wicket
Updated Branches:
  refs/heads/master 0d5011480 -> ada27ba4e


Revert "simplify filter handling: don't pass the chain around, use the boolean return in #doFilter() instead"

This reverts commit 0d50114800b44c888ec3d719e06427d4f322925c.


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af24051e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af24051e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af24051e

Branch: refs/heads/master
Commit: af24051e23be8795301b7214db3675528a1aed06
Parents: 0d50114
Author: Sven Meier <sv...@apache.org>
Authored: Fri Oct 9 13:48:55 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Oct 9 13:48:55 2015 +0200

----------------------------------------------------------------------
 .../wicket/protocol/http/WicketFilter.java      | 24 +++++++++++++-------
 .../wicket/protocol/http/WicketServlet.java     |  4 ++--
 .../wicket/protocol/http/WicketFilterTest.java  |  8 +++++--
 3 files changed, 24 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index 197603d..d73a4a7 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -132,12 +132,13 @@ public class WicketFilter implements Filter
 	 * 
 	 * @param request
 	 * @param response
+	 * @param chain
 	 * @return false, if the request could not be processed
 	 * @throws IOException
 	 * @throws ServletException
 	 */
-	boolean processRequest(ServletRequest request, final ServletResponse response)
-		throws IOException, ServletException
+	boolean processRequest(ServletRequest request, final ServletResponse response,
+		final FilterChain chain) throws IOException, ServletException
 	{
 		final ThreadContext previousThreadContext = ThreadContext.detach();
 
@@ -168,6 +169,10 @@ public class WicketFilter implements Filter
 			if (shouldIgnorePath(httpServletRequest))
 			{
 				log.debug("Ignoring request {}", httpServletRequest.getRequestURL());
+				if (chain != null)
+				{
+					chain.doFilter(request, response);
+				}
 				return false;
 			}
 
@@ -196,7 +201,7 @@ public class WicketFilter implements Filter
 
 				RequestCycle requestCycle = application.createRequestCycle(webRequest, webResponse);
 				res = processRequestCycle(requestCycle, webResponse, httpServletRequest,
-					httpServletResponse);
+					httpServletResponse, chain);
 			}
 			else
 			{
@@ -241,13 +246,14 @@ public class WicketFilter implements Filter
 	 * @param webResponse
 	 * @param httpServletRequest
 	 * @param httpServletResponse
+	 * @param chain
 	 * @return false, if the request could not be processed
 	 * @throws IOException
 	 * @throws ServletException
 	 */
 	protected boolean processRequestCycle(RequestCycle requestCycle, WebResponse webResponse,
-		HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
-			throws IOException, ServletException
+		HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
+		final FilterChain chain) throws IOException, ServletException
 	{
 		// Assume we are able to handle the request
 		boolean res = true;
@@ -258,6 +264,10 @@ public class WicketFilter implements Filter
 		}
 		else
 		{
+			if (chain != null)
+			{
+				chain.doFilter(httpServletRequest, httpServletResponse);
+			}
 			res = false;
 		}
 		return res;
@@ -271,9 +281,7 @@ public class WicketFilter implements Filter
 	public void doFilter(final ServletRequest request, final ServletResponse response,
 		final FilterChain chain) throws IOException, ServletException
 	{
-		if (!processRequest(request, response)) {
-			chain.doFilter(request, response);
-		}
+		processRequest(request, response, chain);
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
index 2a8731e..5768c4f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
@@ -134,7 +134,7 @@ public class WicketServlet extends HttpServlet
 	public final void doGet(final HttpServletRequest servletRequest,
 		final HttpServletResponse servletResponse) throws ServletException, IOException
 	{
-		if (wicketFilter.processRequest(servletRequest, servletResponse) == false)
+		if (wicketFilter.processRequest(servletRequest, servletResponse, null) == false)
 		{
 			fallback(servletRequest, servletResponse);
 		}
@@ -156,7 +156,7 @@ public class WicketServlet extends HttpServlet
 	public final void doPost(final HttpServletRequest servletRequest,
 		final HttpServletResponse servletResponse) throws ServletException, IOException
 	{
-		if (wicketFilter.processRequest(servletRequest, servletResponse) == false)
+		if (wicketFilter.processRequest(servletRequest, servletResponse, null) == false)
 		{
 			fallback(servletRequest, servletResponse);
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
index f1b4ce9..7fc36a7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
@@ -484,23 +484,27 @@ public class WicketFilterTest extends Assert
 				return (String)invocation.getArguments()[0];
 			}
 		});
+		FilterChain chain = mock(FilterChain.class);
 
 		// execute 3 requests - 1 for bla.js, 1 for bla.css and 1 for bla.img
 		for (int i = 0; i < 3; i++)
 		{
-			boolean isProcessed = filter.processRequest(request, response);
+			boolean isProcessed = filter.processRequest(request, response, chain);
 			assertFalse(isProcessed);
 			verify(application, Mockito.never()).newWebRequest(Matchers.eq(request),
 				Matchers.anyString());
 			verify(application, Mockito.never()).newWebResponse(Matchers.any(WebRequest.class),
 				Matchers.eq(response));
+			verify(chain, Mockito.times(i + 1)).doFilter(request, response);
 		}
 
 		// execute the request to /something/real
-		boolean isProcessed = filter.processRequest(request, response);
+		boolean isProcessed = filter.processRequest(request, response, chain);
 		assertTrue(isProcessed);
 		verify(application).newWebRequest(Matchers.eq(request), Matchers.anyString());
 		verify(application).newWebResponse(Matchers.any(WebRequest.class), Matchers.eq(response));
+		// the request is processed so the chain is not executed
+		verify(chain, Mockito.times(3)).doFilter(request, response);
 	}
 
 	/**


[2/2] wicket git commit: added comment: invoke next filter in chain from within Wicket context

Posted by sv...@apache.org.
added comment: invoke next filter in chain from within Wicket context


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ada27ba4
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ada27ba4
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ada27ba4

Branch: refs/heads/master
Commit: ada27ba4ed4a002392c4e4f302fab790376fd119
Parents: af24051
Author: Sven Meier <sv...@apache.org>
Authored: Fri Oct 9 13:55:51 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Oct 9 13:55:51 2015 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/wicket/protocol/http/WicketFilter.java    | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ada27ba4/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index d73a4a7..0b5f5bb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -171,6 +171,7 @@ public class WicketFilter implements Filter
 				log.debug("Ignoring request {}", httpServletRequest.getRequestURL());
 				if (chain != null)
 				{
+					// invoke next filter from within Wicket context
 					chain.doFilter(request, response);
 				}
 				return false;
@@ -266,6 +267,7 @@ public class WicketFilter implements Filter
 		{
 			if (chain != null)
 			{
+				// invoke next filter from within Wicket context
 				chain.doFilter(httpServletRequest, httpServletResponse);
 			}
 			res = false;