Author: mgrigorov
Date: Wed Jul 6 11:34:13 2011
New Revision: 1143351
URL: http://svn.apache.org/viewvc?rev=1143351&view=rev
Log:
WICKET-3865 Create a debug page with which the developer can browse the disk
data store
* Fix the logic for getting the last N page windows from the data store.
* Make some methods protected so they can be used by the debugging data store.
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java?rev=1143351&r1=1143350&r2=1143351&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
Wed Jul 6 11:34:13 2011
@@ -177,7 +177,7 @@ public class DiskDataStore implements ID
* @param create
* @return the session entry
*/
- private SessionEntry getSessionEntry(final String sessionId, final
boolean create)
+ protected SessionEntry getSessionEntry(final String sessionId, final
boolean create)
{
if (!create)
{
@@ -275,7 +275,7 @@ public class DiskDataStore implements ID
this.sessionId = sessionId;
}
- private PageWindowManager getManager()
+ public PageWindowManager getManager()
{
if (manager == null)
{
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java?rev=1143351&r1=1143350&r2=1143351&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
Wed Jul 6 11:34:13 2011
@@ -431,6 +431,8 @@ public class PageWindowManager implement
public synchronized List<PageWindow> getLastPageWindows(int count)
{
List<PageWindow> result = new ArrayList<PageWindow>();
+
+ // start from current index to 0
int currentIndex = indexPointer;
do
@@ -440,16 +442,20 @@ public class PageWindowManager implement
break;
}
- PageWindowInternal window = windows.get(currentIndex);
- if (window.pageId != -1)
+ if (currentIndex < windows.size())
{
- result.add(new PageWindow(window));
+ PageWindowInternal window =
windows.get(currentIndex);
+ if (window.pageId != -1)
+ {
+ result.add(new PageWindow(window));
+ }
}
--currentIndex;
if (currentIndex == -1)
{
- currentIndex = result.size() - 1;
+ // rewind to the last entry and collect all
entries until current index
+ currentIndex = windows.size() - 1;
}
}
while (result.size() < count && currentIndex != indexPointer);