Author: knopp
Date: Mon Mar 30 00:29:39 2009
New Revision: 759804
URL: http://svn.apache.org/viewvc?rev=759804&view=rev
Log:
i hope I'm not smoking crack
Added:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java
(with props)
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java
(with props)
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java
(with props)
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/AbstractPageManager.java
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/AbstractPageManager.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/AbstractPageManager.java?rev=759804&r1=759803&r2=759804&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/AbstractPageManager.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/AbstractPageManager.java
Mon Mar 30 00:29:39 2009
@@ -136,14 +136,14 @@
List<IPage> pages = new ArrayList<IPage>();
};
- protected abstract RequestAdapter newRequestAdater();
+ protected abstract RequestAdapter newRequestAdater(Context context);
protected RequestAdapter getRequestAdapter(Context context)
{
RequestAdapter adapter = (RequestAdapter)
context.getRequestData();
if (adapter == null)
{
- adapter = newRequestAdater();
+ adapter = newRequestAdater(context);
context.setRequestData(adapter);
}
return adapter;
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java?rev=759804&r1=759803&r2=759804&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
Mon Mar 30 00:29:39 2009
@@ -76,6 +76,11 @@
public void sessionExpired(String sesionId);
/**
+ * Destroy the page manager.
+ */
+ public void destroy();
+
+ /**
* Context object for {...@link PageManager}. This decouples the
{...@link PageManager} from request
* cycle and session.
*
Added:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java?rev=759804&view=auto
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java
(added)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java
Mon Mar 30 00:29:39 2009
@@ -0,0 +1,46 @@
+package org.apache.wicket.page.persistent;
+
+import org.apache.wicket.IPage;
+
+public interface PageStore
+{
+ /**
+ * Destroy the store.
+ */
+ void destroy();
+
+ /**
+ * Restores a page from the persistent layer.
+ *
+ * @param sessionId
+ * @param id
+ * @return The page
+ */
+ IPage getPage(String sessionId, int id);
+
+ /**
+ * Removes a page from the persistent layer.
+ *
+ * @param sessionId
+ * The session of the page that must be removed
+ * @param id
+ * The id of the page.
+ */
+ void removePage(String sessionId, int id);
+
+ /**
+ * Stores the page to a persistent layer. The page should be stored
under the id and the
+ * version number.
+ *
+ * @param sessionId
+ * @param page
+ */
+ void storePage(String sessionId, IPage page);
+
+ /**
+ * The pagestore should cleanup all the pages for that sessionid.
+ *
+ * @param sessionId
+ */
+ void unbind(String sessionId);
+}
Propchange:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PageStore.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java?rev=759804&view=auto
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java
(added)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java
Mon Mar 30 00:29:39 2009
@@ -0,0 +1,65 @@
+package org.apache.wicket.page.persistent;
+
+import java.util.List;
+
+import org.apache.wicket.IPage;
+import org.apache.wicket.page.AbstractPageManager;
+
+public class PersistentPageManager extends AbstractPageManager
+{
+ public PersistentPageManager()
+ {
+ }
+
+ protected class PersitentRequestAdapter extends RequestAdapter
+ {
+ public PersitentRequestAdapter(Context context)
+ {
+ super(context);
+ }
+
+ @Override
+ protected IPage getPage(int id)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+ @Override
+ protected void newSessionCreated()
+ {
+ // TODO Auto-generated method stub
+
+ }
+ @Override
+ protected void storeTouchedPages(List<IPage> touchedPages)
+ {
+ // TODO Auto-generated method stub
+
+ }
+ };
+
+ @Override
+ protected RequestAdapter newRequestAdater(Context context)
+ {
+ return new PersitentRequestAdapter(context);
+ }
+
+ @Override
+ public boolean supportsVersioning()
+ {
+ return true;
+ }
+
+ public void sessionExpired(String sesionId)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void destroy()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+}
Propchange:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/PersistentPageManager.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java?rev=759804&view=auto
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java
(added)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java
Mon Mar 30 00:29:39 2009
@@ -0,0 +1,43 @@
+package org.apache.wicket.page.persistent;
+
+import java.io.Serializable;
+
+import org.apache.wicket.Page;
+
+/**
+ * Some PageStores might want to preprocess page before serialization. For
example if the
+ * PageStore serializes page, it might keep the serialized page faster the
request. So when the
+ * pagemap gets serialized (for session replication) in the request thread,
the pagestore can
+ * provide the already serialized data.
+ *
+ * @author Matej Knopp
+ */
+public interface SerializationAwarePageStore extends PageStore
+{
+ /**
+ * Process the page before the it gets serialized. The page can be
either real page instance
+ * of object returned by {...@link
#restoreAfterSerialization(Serializable)}.
+ *
+ * @param sessionId
+ * @param page
+ * @return The Page itself or a SerializedContainer for that page
+ */
+ public Serializable prepareForSerialization(String sessionId, Object
page);
+
+ /**
+ * This method should restore the serialized page to intermediate
object that can be
+ * converted to real page instance using {...@link
#convertToPage(Object)}.
+ *
+ * @param sessionId
+ * @param serializable
+ * @return Page
+ */
+ public Object restoreAfterSerialization(Serializable serializable);
+
+ /**
+ *
+ * @param page
+ * @return page
+ */
+ public Page convertToPage(Object page);
+}
Propchange:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/persistent/SerializationAwarePageStore.java
------------------------------------------------------------------------------
svn:mime-type = text/plain