Author: mgrigorov
Date: Fri Nov 18 10:32:37 2011
New Revision: 1203573
URL: http://svn.apache.org/viewvc?rev=1203573&view=rev
Log:
WICKET-4179 Add IDataStore#canBeAsynchronous() so that
DefaultPageManagerProvider can determine whether to wrap it in
AsynchronousDataStore
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/DiskDataStore.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/IDataStore.java
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/versioning/InMemoryPageStore.java
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java?rev=1203573&r1=1203572&r2=1203573&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
Fri Nov 18 10:32:37 2011
@@ -55,9 +55,7 @@ public class DefaultPageManagerProvider
IStoreSettings storeSettings = getStoreSettings();
- // TODO Wicket.next: add IDataStore#canWorkAsynchronous() and
replace the instanceof check
- // below
- if (storeSettings.isAsynchronous() && dataStore instanceof
DiskDataStore)
+ if (dataStore.canBeAsynchronous())
{
int capacity =
storeSettings.getAsynchronousQueueCapacity();
dataStore = new AsynchronousDataStore(dataStore,
capacity);
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java?rev=1203573&r1=1203572&r2=1203573&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/AsynchronousDataStore.java
Fri Nov 18 10:32:37 2011
@@ -371,4 +371,11 @@ public class AsynchronousDataStore imple
}
}
}
+
+ @Override
+ public final boolean canBeAsynchronous()
+ {
+ // should not wrap in abother AsynchronousDataStore
+ return false;
+ }
}
\ No newline at end of file
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=1203573&r1=1203572&r2=1203573&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
Fri Nov 18 10:32:37 2011
@@ -508,4 +508,9 @@ public class DiskDataStore implements ID
return sessionFolder;
}
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return true;
+ }
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/IDataStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/IDataStore.java?rev=1203573&r1=1203572&r2=1203573&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/IDataStore.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/IDataStore.java
Fri Nov 18 10:32:37 2011
@@ -75,4 +75,9 @@ public interface IDataStore
* @return whether the data store is replicated
*/
boolean isReplicated();
+
+ /**
+ * @return whether the implementation can be wrapped in {@link
AsynchronousDataStore}
+ */
+ boolean canBeAsynchronous();
}
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java?rev=1203573&r1=1203572&r2=1203573&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/pageStore/memory/HttpSessionDataStore.java
Fri Nov 18 10:32:37 2011
@@ -153,4 +153,12 @@ public class HttpSessionDataStore implem
return pageTable;
}
+ @Override
+ public final boolean canBeAsynchronous()
+ {
+ // HttpSessionDataStore needs access to the current http session
+ // and this is not possible in AsychronousDataStore
+ return false;
+ }
+
}
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/versioning/InMemoryPageStore.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/versioning/InMemoryPageStore.java?rev=1203573&r1=1203572&r2=1203573&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/versioning/InMemoryPageStore.java
(original)
+++
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/versioning/InMemoryPageStore.java
Fri Nov 18 10:32:37 2011
@@ -113,4 +113,10 @@ public class InMemoryPageStore implement
return false;
}
+ @Override
+ public boolean canBeAsynchronous()
+ {
+ return false;
+ }
+
}
\ No newline at end of file