You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2017/04/12 21:28:29 UTC
[04/10] wicket git commit: provide can-be flag for asynchronous
wrapping to page store and logic into default page manager provider
provide can-be flag for asynchronous wrapping to page store and logic into default page manager provider
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/accf1873
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/accf1873
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/accf1873
Branch: refs/heads/master
Commit: accf1873197e759ec08db3e95e22fe2193f343ee
Parents: 6886c2b
Author: Manuel Barzi <ma...@Manuels-MacBook-Pro.local>
Authored: Thu Mar 16 13:27:16 2017 +0100
Committer: Manuel Barzi <ma...@Manuels-MacBook-Pro.local>
Committed: Thu Mar 16 13:27:16 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/wicket/DefaultPageManagerProvider.java | 8 ++++++++
.../org/apache/wicket/pageStore/AsynchronousPageStore.java | 6 ++++++
.../java/org/apache/wicket/pageStore/DefaultPageStore.java | 6 ++++++
.../main/java/org/apache/wicket/pageStore/IPageStore.java | 5 +++++
.../org/apache/wicket/pageStore/PerSessionPageStore.java | 7 +++++++
.../apache/wicket/pageStore/AsynchronousPageStoreTest.java | 6 ++++++
6 files changed, 38 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java b/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
index c997648..14387a4 100644
--- a/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
+++ b/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
@@ -22,6 +22,7 @@ import org.apache.wicket.page.IPageManager;
import org.apache.wicket.page.IPageManagerContext;
import org.apache.wicket.page.PageStoreManager;
import org.apache.wicket.pageStore.AsynchronousDataStore;
+import org.apache.wicket.pageStore.AsynchronousPageStore;
import org.apache.wicket.pageStore.DefaultPageStore;
import org.apache.wicket.pageStore.DiskDataStore;
import org.apache.wicket.pageStore.IDataStore;
@@ -64,6 +65,13 @@ public class DefaultPageManagerProvider implements IPageManagerProvider
}
IPageStore pageStore = newPageStore(dataStore);
+
+ if (pageStore.canBeAsynchronous())
+ {
+ int capacity = storeSettings.getAsynchronousQueueCapacity();
+ pageStore = new AsynchronousPageStore(pageStore, capacity);
+ }
+
return new PageStoreManager(application.getName(), pageStore, pageManagerContext);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousPageStore.java
index 087257c..3c77df6 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousPageStore.java
@@ -355,4 +355,10 @@ public class AsynchronousPageStore implements IPageStore
return pageStore.convertToPage(page);
}
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return false;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/main/java/org/apache/wicket/pageStore/DefaultPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/DefaultPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/DefaultPageStore.java
index e574f37..f324b85 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/DefaultPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/DefaultPageStore.java
@@ -460,4 +460,10 @@ public class DefaultPageStore extends AbstractCachingPageStore<DefaultPageStore.
cache.clear();
}
}
+
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/main/java/org/apache/wicket/pageStore/IPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/IPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/IPageStore.java
index 470536a..ed1b9d3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/IPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/IPageStore.java
@@ -103,4 +103,9 @@ public interface IPageStore
* @return page
*/
IManageablePage convertToPage(Object page);
+
+ /**
+ * @return whether the implementation can be wrapped in {@link AsynchronousPageStore}
+ */
+ boolean canBeAsynchronous();
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
index 912171c..abef0c9 100644
--- a/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
+++ b/wicket-core/src/main/java/org/apache/wicket/pageStore/PerSessionPageStore.java
@@ -323,4 +323,11 @@ public class PerSessionPageStore extends AbstractCachingPageStore<IManageablePag
cache.clear();
}
}
+
+
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return false; // NOTE: not analyzed neither tested yet, this page store being wrapped by asynchronous one
+ }
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/accf1873/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
index 53da7d6..2a0acf9 100644
--- a/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/pageStore/AsynchronousPageStoreTest.java
@@ -493,6 +493,12 @@ public class AsynchronousPageStoreTest
{
return null;
}
+
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return true;
+ }
}
}