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 2014/03/13 10:07:00 UTC

[7/9] git commit: WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

WICKET-5527 Inefficient DefaultPageStore.SerializedPagesCache

Move the logic for updating PageValue's access time in its own #touch() method


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

Branch: refs/heads/master
Commit: 2380d65b813143073dafdc57eb66270f087966af
Parents: 4ae0fb1
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Mar 11 14:52:11 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Mar 11 14:52:11 2014 +0200

----------------------------------------------------------------------
 .../wicket/pageStore/PerSessionPageStore.java      | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/2380d65b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
index eaff550..632cea9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
@@ -104,7 +104,15 @@ public class PerSessionPageStore extends AbstractCachingPageStore<IManageablePag
 			private PageValue(int pageId)
 			{
 				this.pageId = pageId;
-				this.accessTime = System.nanoTime();
+				touch();
+			}
+
+			/**
+			 * Updates the access time with the current time
+			 */
+			private void touch()
+			{
+				accessTime = System.nanoTime();
 			}
 
 			@Override
@@ -239,15 +247,12 @@ public class PerSessionPageStore extends AbstractCachingPageStore<IManageablePag
 					if (pages != null)
 					{
 						PageValue sample = new PageValue(pageId);
-						Iterator<Map.Entry<PageValue,IManageablePage>> iterator = pages.entrySet().iterator();
-						while (iterator.hasNext())
+						for (Map.Entry<PageValue, IManageablePage> entry : pages.entrySet())
 						{
-							Map.Entry<PageValue, IManageablePage> entry = iterator.next();
-
 							if (sample.equals(entry.getKey()))
 							{
 								// touch the entry
-								entry.getKey().accessTime = System.nanoTime();
+								entry.getKey().touch();
 								result = entry.getValue();
 								break;
 							}