Author: jcompagner
Date: Sat Nov 3 18:22:01 2007
New Revision: 591719
URL: http://svn.apache.org/viewvc?rev=591719&view=rev
Log:
test if the session is still valid when trying to save the page WICKET-953
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java?rev=591719&r1=591718&r2=591719&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
Sat Nov 3 18:22:01 2007
@@ -27,6 +27,7 @@
import org.apache.wicket.PageMap;
import org.apache.wicket.Request;
import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.protocol.http.pagestore.DiskPageStore;
import org.apache.wicket.session.pagemap.IPageMapEntry;
@@ -80,7 +81,7 @@
* @return The page
*/
Page getPage(String sessionId, String pagemap, int id, int
versionNumber,
- int ajaxVersionNumber);
+ int ajaxVersionNumber);
/**
* This method is called when the page is accessed. A
IPageStore implementation can block
@@ -127,7 +128,7 @@
* @param pageMapName
* @param pageId
* @param pageVersion
- * @return
+ * @return boolean If the page was found
*/
boolean containsPage(String sessionId, String pageMapName, int
pageId, int pageVersion);
}
@@ -163,7 +164,7 @@
* Process the page before the it gets serialized
*
* @param page
- * @return
+ * @return The Page itself or a SerializedContainer for that
page
*/
public Serializable prepareForSerialization(Page page);
@@ -171,7 +172,7 @@
* This method should restore the given object to the original
page.
*
* @param serializable
- * @return
+ * @return Page
*/
public Page restoreAfterSerialization(Serializable
serializable);
};
@@ -226,8 +227,7 @@
// until the first demand)
if (store instanceof
ISerializationAwarePageStore)
{
- lastPage =
((ISerializationAwarePageStore)store)
-
.restoreAfterSerialization(lastPageDeserialized);
+ lastPage =
((ISerializationAwarePageStore)store).restoreAfterSerialization(lastPageDeserialized);
}
else if (lastPageDeserialized instanceof Page)
{
@@ -261,7 +261,7 @@
{
Page lastPage = this.lastPage;
if (lastPage != null && lastPage.getNumericId() == id &&
- lastPage.getCurrentVersionNumber() ==
versionNumber)
+ lastPage.getCurrentVersionNumber() ==
versionNumber)
{
return true;
}
@@ -302,9 +302,8 @@
String sessionId = getSession().getId();
if (getLastPage() != null &&
getLastPage().getNumericId() == id)
{
- page = versionNumber != -1
- ?
getLastPage().getVersion(versionNumber)
- : getLastPage();
+ page = versionNumber != -1 ?
getLastPage().getVersion(versionNumber)
+ : getLastPage();
if (page != null)
{
// ask the page store if it is ready
saving the page.
@@ -331,8 +330,9 @@
{
if (!page.isPageStateless())
{
- String sessionId = getSession().getId();
- if (sessionId != null)
+ Session session = getSession();
+ String sessionId = session.getId();
+ if (sessionId != null &&
!session.isSessionInvalidated())
{
getStore().storePage(sessionId, page);
setLastPage(page);
@@ -400,7 +400,7 @@
}
private void readObject(java.io.ObjectInputStream s) throws
IOException,
- ClassNotFoundException
+ ClassNotFoundException
{
s.defaultReadObject();
@@ -468,7 +468,7 @@
else
{
if (RequestCycle.get().getRequest() instanceof
WebRequest &&
-
((WebRequest)RequestCycle.get().getRequest()).isAjax())
+
((WebRequest)RequestCycle.get().getRequest()).isAjax())
{
currentAjaxVersionNumber++;
}
@@ -586,13 +586,13 @@
}
IPageStore store =
((SecondLevelCacheSessionStore)Application.get()
- .getSessionStore()).getStore();
+ .getSessionStore()).getStore();
// if the number of versions to rollback can be
done inside the
// current page version.
if (ajaxNumber >= numberOfVersions)
{
return store.getPage(sessionId,
page.getPageMapName(), page.getNumericId(),
- versionNumber,
ajaxNumber - numberOfVersions);
+ versionNumber, ajaxNumber -
numberOfVersions);
}
else
{
@@ -605,12 +605,11 @@
{
// 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);
+ versionNumber, ajaxNumber);
}
}
@@ -618,7 +617,7 @@
}
private void readObject(java.io.ObjectInputStream s) throws
IOException,
- ClassNotFoundException
+ ClassNotFoundException
{
s.defaultReadObject();
// this is an hack.. when object is read in. It must
ignore the