Author: mgrigorov
Date: Wed Sep 14 10:31:08 2011
New Revision: 1170517
URL: http://svn.apache.org/viewvc?rev=1170517&view=rev
Log:
WICKET-4046 Touch pages only when they are returned from the data stores
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/RequestAdapter.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java?rev=1170517&r1=1170516&r2=1170517&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/PageStoreManager.java
Wed Sep 14 10:31:08 2011
@@ -199,7 +199,7 @@ public class PageStoreManager extends Ab
*/
public synchronized void setSessionCache(final
List<IManageablePage> pages)
{
- this.sessionCache = new
ArrayList<IManageablePage>(pages);
+ sessionCache = new ArrayList<IManageablePage>(pages);
afterReadObject = null;
}
@@ -313,6 +313,12 @@ public class PageStoreManager extends Ab
@Override
protected IManageablePage getPage(int id)
{
+ IManageablePage touchedPage = findPage(id);
+ if (touchedPage != null)
+ {
+ return touchedPage;
+ }
+
// try to get session entry for this session
SessionEntry entry = getSessionEntry(false);
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/RequestAdapter.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/RequestAdapter.java?rev=1170517&r1=1170516&r2=1170517&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/RequestAdapter.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/page/RequestAdapter.java
Wed Sep 14 10:31:08 2011
@@ -115,7 +115,7 @@ public abstract class RequestAdapter
* @param id
* @return null, if not found
*/
- private IManageablePage findPage(final int id)
+ protected IManageablePage findPage(final int id)
{
for (IManageablePage page : touchedPages)
{
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java?rev=1170517&r1=1170516&r2=1170517&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/PageProvider.java
Wed Sep 14 10:31:08 2011
@@ -17,7 +17,6 @@
package org.apache.wicket.request.handler;
import org.apache.wicket.Application;
-import org.apache.wicket.Session;
import org.apache.wicket.page.IPageManager;
import org.apache.wicket.protocol.http.PageExpiredException;
import org.apache.wicket.request.IRequestHandler;
@@ -165,27 +164,11 @@ public class PageProvider implements IPa
{
throw new PageExpiredException("Page with id '"
+ pageId + "' has expired.");
}
-
- touchPageInstance(pageInstance);
}
return pageInstance;
}
/**
- * Mark the error page as candidate for storing
- *
- * @param page
- * the page to store
- */
- private void touchPageInstance(IRequestablePage page)
- {
- if (Session.exists())
- {
- Session.get().getPageManager().touchPage(page);
- }
- }
-
- /**
* @see
org.apache.wicket.request.handler.IPageProvider#getPageParameters()
*/
public PageParameters getPageParameters()