You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by eh...@apache.org on 2007/06/28 01:38:41 UTC
svn commit: r551394 -
/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
Author: ehillenius
Date: Wed Jun 27 16:38:39 2007
New Revision: 551394
URL: http://svn.apache.org/viewvc?view=rev&rev=551394
Log:
docs, formatting
Modified:
incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
Modified: incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java?view=diff&rev=551394&r1=551393&r2=551394
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java Wed Jun 27 16:38:39 2007
@@ -53,7 +53,7 @@
{
/**
- *
+ * Destroy the store.
*/
void destroy();
@@ -72,8 +72,8 @@
/**
* This method is called when the page is accessed. A IPageStore
- * implementation can block until a save of that page version is done. So
- * that a specific page version is always restore able.
+ * implementation can block until a save of that page version is done.
+ * So that a specific page version is always restore able.
*
* @param sessionId
* @param page
@@ -83,9 +83,12 @@
/**
* Removes a page from the persistent layer.
*
- * @param sessionId The session of the page that must be removed
- * @param pagemap The pagemap of the page that must be removed
- * @param id The id of the page.
+ * @param sessionId
+ * The session of the page that must be removed
+ * @param pagemap
+ * The pagemap of the page that must be removed
+ * @param id
+ * The id of the page.
*/
void removePage(String sessionId, String pagemap, int id);
@@ -104,17 +107,19 @@
* @param sessionId
*/
void unbind(String sessionId);
-
}
+ /**
+ * Page map implementation for this session store.
+ */
private static final class SecondLevelCachePageMap extends PageMap
{
private static final long serialVersionUID = 1L;
private Page lastPage = null;
-
+
private List pageVersions = new ArrayList();
-
+
/**
* Construct.
@@ -126,6 +131,9 @@
super(name);
}
+ /**
+ * @see org.apache.wicket.PageMap#get(int, int)
+ */
public Page get(int id, int versionNumber)
{
HashMap pageMaps = (HashMap)usedPages.get();
@@ -140,20 +148,23 @@
pages = new IntHashMap();
pageMaps.put(getName(), pages);
}
-
+
// for now i only get by id.
- // does it really make any sense that there are multiply instances of the
+ // does it really make any sense that there are multiply instances
+ // of the
// same page are alive in one session??
Page page = (Page)pages.get(id);
- if (page != null) return page;
-
+ if (page != null)
+ return page;
+
PageVersions pv = null;
if (versionNumber == -1)
{
- // when no version was specified, get the last touched page for given page id
- for (int index = pageVersions.size() - 1; index >= 0; --index)
+ // when no version was specified, get the last touched page for
+ // given page id
+ for (int index = pageVersions.size() - 1; index >= 0; --index)
{
- if (((PageVersions)pageVersions.get(index)).pageid == id)
+ if (((PageVersions)pageVersions.get(index)).pageid == id)
{
pv = (PageVersions)pageVersions.get(index);
versionNumber = pv.versionid;
@@ -169,7 +180,7 @@
{
// ask the page store if it is ready saving the page.
getStore().pageAccessed(sessionId, page);
- pages.put(id,page);
+ pages.put(id, page);
return page;
}
}
@@ -178,7 +189,7 @@
int ajaxVersionNumber = 0;
if (pv == null)
{
- int index = pageVersions.indexOf(new PageVersions(id, versionNumber,-1));
+ int index = pageVersions.indexOf(new PageVersions(id, versionNumber, -1));
if (index != -1)
{
pv = (PageVersions)pageVersions.get(index);
@@ -189,14 +200,18 @@
ajaxVersionNumber = pv.ajaxversionid;
}
lastPage = null;
- page = getStore().getPage(sessionId, getName(), id, versionNumber, ajaxVersionNumber);
- pages.put(id,page);
+ page = getStore().getPage(sessionId, getName(), id, versionNumber,
+ ajaxVersionNumber);
+ pages.put(id, page);
return page;
-
+
}
return null;
}
+ /**
+ * @see org.apache.wicket.PageMap#put(org.apache.wicket.Page)
+ */
public void put(Page page)
{
if (!page.isPageStateless())
@@ -207,8 +222,9 @@
getStore().storePage(sessionId, page);
lastPage = page;
dirty();
-
- PageVersions pv = new PageVersions(page.getNumericId(),page.getCurrentVersionNumber(),page.getAjaxVersionNumber());
+
+ PageVersions pv = new PageVersions(page.getNumericId(), page
+ .getCurrentVersionNumber(), page.getAjaxVersionNumber());
pageVersions.remove(pv);
pageVersions.add(pv);
if (pageVersions.size() > 100)
@@ -218,7 +234,7 @@
}
}
}
-
+
/**
* @see org.apache.wicket.PageMap#clear()
*/
@@ -228,10 +244,13 @@
String sessionId = getSession().getId();
if (sessionId != null)
{
- getStore().removePage(sessionId, getName(),-1);
+ getStore().removePage(sessionId, getName(), -1);
}
}
+ /**
+ * @see org.apache.wicket.PageMap#removeEntry(org.apache.wicket.session.pagemap.IPageMapEntry)
+ */
public void removeEntry(IPageMapEntry entry)
{
String sessionId = getSession().getId();
@@ -245,22 +264,22 @@
{
return ((SecondLevelCacheSessionStore)Application.get().getSessionStore()).getStore();
}
-
- private static class PageVersions implements IClusterable
+
+ private static class PageVersions implements IClusterable
{
private static final long serialVersionUID = 1L;
-
+
private final int pageid;
private int versionid;
private int ajaxversionid;
-
+
PageVersions(int pageid, int versionid, int ajaxversionid)
{
this.pageid = pageid;
this.versionid = versionid;
this.ajaxversionid = ajaxversionid;
}
-
+
/**
* @see java.lang.Object#equals(java.lang.Object)
*/
@@ -268,12 +287,12 @@
{
if (obj instanceof PageVersions)
{
- return ((PageVersions)obj).pageid == pageid &&
- ((PageVersions)obj).versionid == versionid;
+ return ((PageVersions)obj).pageid == pageid
+ && ((PageVersions)obj).versionid == versionid;
}
return false;
}
-
+
/**
* @see java.lang.Object#hashCode()
*/
@@ -284,6 +303,9 @@
}
}
+ /**
+ * version manager for this session store.
+ */
private static final class SecondLevelCachePageVersionManager implements IPageVersionManager
{
private static final long serialVersionUID = 1L;
@@ -449,8 +471,8 @@
// current page version.
if (ajaxNumber >= numberOfVersions)
{
- return store.getPage(sessionId, page.getPageMapName(), page
- .getNumericId(), versionNumber, ajaxNumber - numberOfVersions);
+ return store.getPage(sessionId, page.getPageMapName(), page.getNumericId(),
+ versionNumber, ajaxNumber - numberOfVersions);
}
else
{
@@ -463,11 +485,12 @@
{
// currently it is not supported to jump over 2
// pages....
- log.error("trying to rollback to many versions, jumping over 2 page versions is not supported yet.");
+ log
+ .error("trying to rollback to many versions, jumping over 2 page versions is not supported yet.");
return null;
}
- return store.getPage(sessionId, page.getPageMapName(), page
- .getNumericId(), versionNumber, ajaxNumber);
+ return store.getPage(sessionId, page.getPageMapName(), page.getNumericId(),
+ versionNumber, ajaxNumber);
}
}
@@ -490,10 +513,10 @@
}
}
-
+
static final ThreadLocal usedPages = new ThreadLocal();
- private IPageStore pageStore;
+ private final IPageStore pageStore;
/**
* Construct.
@@ -510,7 +533,8 @@
this.pageStore = pageStore;
- // turn automatic multi window support off by default, as we don't really
+ // turn automatic multi window support off by default, as we don't
+ // really
// need to be afraid to run out of history with this implementation.
// note that the session store is created before Application#init is
// called, so if users set this setting explicitly, it'll be overridden
@@ -536,6 +560,7 @@
super.onEndRequest(request);
usedPages.set(null);
}
+
/**
* @see org.apache.wicket.protocol.http.AbstractHttpSessionStore#destroy()
*/