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;
}