You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/09/07 03:13:24 UTC

[1/4] wicket git commit: PageRequestHandlerTracker fix

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 7d3b7a866 -> 9760dfac0


PageRequestHandlerTracker fix


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

Branch: refs/heads/wicket-7.x
Commit: 1496b9fb7b53aa02601d4de7f75dd9814addfe3f
Parents: ce14514
Author: Artur Micha\u0142owski <am...@gmail.com>
Authored: Sun Sep 4 21:20:49 2016 +0200
Committer: Artur Micha\u0142owski <am...@gmail.com>
Committed: Sun Sep 4 21:20:49 2016 +0200

----------------------------------------------------------------------
 .../cycle/PageRequestHandlerTracker.java        | 33 +++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/1496b9fb/wicket-core/src/main/java/org/apache/wicket/request/cycle/PageRequestHandlerTracker.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/request/cycle/PageRequestHandlerTracker.java b/wicket-core/src/main/java/org/apache/wicket/request/cycle/PageRequestHandlerTracker.java
index b2390a6..884ea85 100644
--- a/wicket-core/src/main/java/org/apache/wicket/request/cycle/PageRequestHandlerTracker.java
+++ b/wicket-core/src/main/java/org/apache/wicket/request/cycle/PageRequestHandlerTracker.java
@@ -19,6 +19,7 @@ package org.apache.wicket.request.cycle;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.core.request.handler.IPageRequestHandler;
 import org.apache.wicket.request.IRequestHandler;
+import org.apache.wicket.request.IRequestHandlerDelegate;
 
 /**
  * Registers and retrieves first and last IPageRequestHandler in a request cycle.
@@ -76,9 +77,10 @@ public class PageRequestHandlerTracker extends AbstractRequestCycleListener
 	 */
 	private void registerLastHandler(RequestCycle cycle, IRequestHandler handler)
 	{
-		if (handler instanceof IPageRequestHandler)
+		final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler);
+		if (pageRequestHandler != null)
 		{
-			cycle.setMetaData(LAST_HANDLER_KEY, (IPageRequestHandler) handler);
+			cycle.setMetaData(LAST_HANDLER_KEY, pageRequestHandler);
 		}
 	}
 
@@ -92,10 +94,33 @@ public class PageRequestHandlerTracker extends AbstractRequestCycleListener
 	 */
 	private void registerFirstHandler(RequestCycle cycle, IRequestHandler handler)
 	{
-		if (handler instanceof IPageRequestHandler && getFirstHandler(cycle) == null)
+		if (getFirstHandler(cycle) == null)
+		{
+			final IPageRequestHandler pageRequestHandler = findPageRequestHandler(handler);
+			if (pageRequestHandler != null)
+			{
+				cycle.setMetaData(FIRST_HANDLER_KEY, pageRequestHandler);
+			}
+		}
+	}
+
+	/**
+	 * Looking for IPageRequestHandler 
+	 * 
+	 * @param handler
+	 * @return IPageRequestHandler if exist otherwise null
+	 */
+	private IPageRequestHandler findPageRequestHandler(IRequestHandler handler)
+	{
+		if (handler instanceof IPageRequestHandler)
 		{
-			cycle.setMetaData(FIRST_HANDLER_KEY, (IPageRequestHandler)handler);
+			return (IPageRequestHandler)handler;
 		}
+	    if (handler instanceof IRequestHandlerDelegate)
+	    {
+	    	return findPageRequestHandler(((IRequestHandlerDelegate)handler).getDelegateHandler());
+	    }
+	    return null;
 	}
 
    /**


[4/4] wicket git commit: Merge branch 'pr-178-PageRequestHandlerTracker-bug' into wicket-7.x

Posted by mg...@apache.org.
Merge branch 'pr-178-PageRequestHandlerTracker-bug' into wicket-7.x


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

Branch: refs/heads/wicket-7.x
Commit: 9760dfac059d3fc072a832d2c3b0e64647bc2571
Parents: 7d3b7a8 3b42b19
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Sep 7 05:13:04 2016 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Sep 7 05:13:04 2016 +0200

----------------------------------------------------------------------
 .../cycle/PageRequestHandlerTracker.java        | 33 +++++++-
 .../cycle/PageRequestHandlerTrackerTest.java    | 80 +++++++++++++++++++-
 2 files changed, 107 insertions(+), 6 deletions(-)
----------------------------------------------------------------------



[3/4] wicket git commit: WICKET-6236 honoring the javadoc by putting a wait only after the 10th failed attempt to delete a file

Posted by mg...@apache.org.
WICKET-6236 honoring the javadoc by putting a wait only after the 10th failed attempt to delete a file


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

Branch: refs/heads/wicket-7.x
Commit: 3b42b19973d49141301e9ce79a155968b4111634
Parents: ee51697
Author: Pedro Henrique Oliveira dos Santos <pe...@apache.org>
Authored: Mon Sep 5 04:31:23 2016 -0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Wed Sep 7 05:08:36 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/util/file/Files.java | 17 ++++++++---------
 .../org/apache/wicket/util/file/FilesTest.java  | 20 ++++++++++++++++++++
 2 files changed, 28 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/3b42b199/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java b/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
index 9a2204c..ca61c6f 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/file/Files.java
@@ -128,15 +128,14 @@ public class Files
 					{
 						return true;
 					}
-
-					try
-					{
-						Thread.sleep(100);
-					}
-					catch (InterruptedException ix)
-					{
-						Thread.currentThread().interrupt();
-					}
+				}
+				try
+				{
+					Thread.sleep(100);
+				}
+				catch (InterruptedException ix)
+				{
+					Thread.currentThread().interrupt();
 				}
 			}
 		}

http://git-wip-us.apache.org/repos/asf/wicket/blob/3b42b199/wicket-util/src/test/java/org/apache/wicket/util/file/FilesTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/file/FilesTest.java b/wicket-util/src/test/java/org/apache/wicket/util/file/FilesTest.java
index 2884c30..75fdab8 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/file/FilesTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/file/FilesTest.java
@@ -16,6 +16,11 @@
  */
 package org.apache.wicket.util.file;
 
+import static java.lang.System.currentTimeMillis;
+import static org.hamcrest.Matchers.lessThan;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 import java.io.IOException;
 import java.net.URL;
 
@@ -63,6 +68,21 @@ public class FilesTest extends Assert
 	}
 
 	/**
+	 * WICKET-6236 - honoring the javadoc by putting a wait only after the 10th failed attempt to delete a file
+	 */
+	@Test
+	public void dontWaitTooMuchIfCantDelete(){
+		java.io.File f = mock(java.io.File.class);
+		when(f.isFile()).thenReturn(true);
+		when(f.delete()).thenReturn(false);
+		long start = currentTimeMillis();
+		Files.remove(f);
+		long end = currentTimeMillis();
+		assertThat(end - start,  lessThan(5000l));
+	}
+
+
+	/**
 	 * Tests for {@link Files#removeFolder(java.io.File)}
 	 * 
 	 * @throws Exception


[2/4] wicket git commit: Uses PageRequestHandlerTracker to check last IRequestHandler encapsulated in IRequestHandlerDelegate

Posted by mg...@apache.org.
Uses PageRequestHandlerTracker to check last IRequestHandler encapsulated in IRequestHandlerDelegate


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

Branch: refs/heads/wicket-7.x
Commit: ee51697b6807e9f73f82fcf430720f48918a8d66
Parents: 1496b9f
Author: Artur Micha\u0142owski <am...@gmail.com>
Authored: Mon Sep 5 02:29:44 2016 +0200
Committer: Artur Micha\u0142owski <am...@gmail.com>
Committed: Mon Sep 5 02:29:44 2016 +0200

----------------------------------------------------------------------
 .../cycle/PageRequestHandlerTrackerTest.java    | 80 +++++++++++++++++++-
 1 file changed, 78 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/ee51697b/wicket-core/src/test/java/org/apache/wicket/request/cycle/PageRequestHandlerTrackerTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/request/cycle/PageRequestHandlerTrackerTest.java b/wicket-core/src/test/java/org/apache/wicket/request/cycle/PageRequestHandlerTrackerTest.java
index a4dda7c..7d0d00d 100644
--- a/wicket-core/src/test/java/org/apache/wicket/request/cycle/PageRequestHandlerTrackerTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/request/cycle/PageRequestHandlerTrackerTest.java
@@ -18,11 +18,19 @@ package org.apache.wicket.request.cycle;
 
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.core.request.handler.IPageRequestHandler;
+import org.apache.wicket.core.request.handler.RequestSettingRequestHandler;
+import org.apache.wicket.core.request.mapper.CryptoMapper;
 import org.apache.wicket.markup.IMarkupResourceStreamProvider;
 import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.request.IRequestHandler;
+import org.apache.wicket.request.IRequestMapper;
+import org.apache.wicket.request.Request;
+import org.apache.wicket.request.Url;
+import org.apache.wicket.request.mapper.IRequestMapperDelegate;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.StringResourceStream;
 import org.apache.wicket.util.tester.WicketTestCase;
+import org.junit.Before;
 import org.junit.Test;
 
 /**
@@ -30,6 +38,13 @@ import org.junit.Test;
  */
 public class PageRequestHandlerTrackerTest extends WicketTestCase
 {
+	
+	@Before
+	public void before()
+	{
+		tester.getApplication().getRequestCycleListeners().add(new PageRequestHandlerTracker());
+	}
+	
 	/**
 	 * Uses PageRequestHandlerTracker to track the requested page and the response page
 	 * https://issues.apache.org/jira/browse/WICKET-4624
@@ -37,10 +52,21 @@ public class PageRequestHandlerTrackerTest extends WicketTestCase
 	@Test
 	public void trackPages()
 	{
-		tester.getApplication().getRequestCycleListeners().add(new PageRequestHandlerTracker());
 		tester.startPage(new PageA());
-
 	}
+	
+	/**
+	 * Uses PageRequestHandlerTracker to check last IRequestHandler encapsulated in IRequestHandlerDelegate 
+	 */
+	@Test
+	public void trackPagesWithMapperDelegate()
+	{
+		IRequestMapper mapper = tester.getApplication().getRootRequestMapper();
+		tester.getApplication().setRootRequestMapper(new MapperDelegate(mapper));
+		tester.startPage(new PageA());
+		tester.getApplication().setRootRequestMapper(mapper);
+	}
+	
 
 	/**
 	 * The requested page
@@ -51,6 +77,10 @@ public class PageRequestHandlerTrackerTest extends WicketTestCase
 		protected void onBeforeRender()
 		{
 			super.onBeforeRender();
+			
+			IPageRequestHandler lastHandler = PageRequestHandlerTracker.getLastHandler(getRequestCycle());
+			assertNotNull("Last handler is null: probably issue in IRequestHandlerDelegate support", lastHandler);
+			
 			setResponsePage(new PageB());
 		}
 
@@ -86,4 +116,50 @@ public class PageRequestHandlerTrackerTest extends WicketTestCase
 			return new StringResourceStream("<html/>");
 		}
 	}
+	
+	/**
+	 * Mapper which imitate behavior of {@link CryptoMapper#mapRequest(Request)}
+	 */
+	private static class MapperDelegate implements IRequestMapperDelegate 
+	{
+		IRequestMapper mapper;
+		
+		public MapperDelegate(IRequestMapper mapper)
+		{
+			this.mapper = mapper;
+		}
+
+		@Override
+		public IRequestHandler mapRequest(Request request)
+		{
+			Request decryptedRequest = request.cloneWithUrl(request.getUrl());
+			IRequestHandler handler = mapper.mapRequest(decryptedRequest);
+
+			if (handler != null)
+			{
+				handler = new RequestSettingRequestHandler(decryptedRequest, handler);
+			}
+
+			return handler;
+		}
+
+		@Override
+		public int getCompatibilityScore(Request request)
+		{
+			return mapper.getCompatibilityScore(request);
+		}
+
+		@Override
+		public Url mapHandler(IRequestHandler requestHandler)
+		{
+			return mapper.mapHandler(requestHandler);
+		}
+
+		@Override
+		public IRequestMapper getDelegateMapper()
+		{
+			return mapper;
+		}
+		
+	}
 }