Author: mgrigorov
Date: Sat Sep 25 14:26:16 2010
New Revision: 1001214
URL: http://svn.apache.org/viewvc?rev=1001214&view=rev
Log:
Use providers to configure the Application.
Move the inner class DefaultPageManagerProvider to 1st level class and provide
overrideable methods for its configuration settings so it can be easily
extended by the users.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockPageManager.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/versioning/PageVersioningTest.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java Sat
Sep 25 14:26:16 2010
@@ -53,11 +53,6 @@ import org.apache.wicket.page.DefaultPag
import org.apache.wicket.page.IPageManager;
import org.apache.wicket.page.IPageManagerContext;
import org.apache.wicket.page.PageAccessSynchronizer;
-import org.apache.wicket.page.PersistentPageManager;
-import org.apache.wicket.pageStore.DefaultPageStore;
-import org.apache.wicket.pageStore.DiskDataStore;
-import org.apache.wicket.pageStore.IDataStore;
-import org.apache.wicket.pageStore.IPageStore;
import org.apache.wicket.protocol.http.DummyRequestLogger;
import org.apache.wicket.protocol.http.IRequestLogger;
import org.apache.wicket.protocol.http.WebApplication;
@@ -923,7 +918,7 @@ public abstract class Application implem
converterLocator = newConverterLocator();
- setPageManagerProvider(new DefaultPageManagerProvider());
+ setPageManagerProvider(new DefaultPageManagerProvider(this,
getPageManagerContext()));
resourceReferenceRegistry = newResourceReferenceRegistry();
sharedResources = newSharedResources(resourceReferenceRegistry);
@@ -1223,7 +1218,7 @@ public abstract class Application implem
{
if (pageManager == null)
{
- pageManager =
pageAccessSynchronizer.adapt(pageManagerProvider.get(getPageManagerContext()));
+ pageManager =
pageAccessSynchronizer.adapt(pageManagerProvider.get());
}
}
}
@@ -1533,19 +1528,4 @@ public abstract class Application implem
public void onEvent(IEvent<?> event)
{
}
-
- private class DefaultPageManagerProvider implements IPageManagerProvider
- {
-
- public IPageManager get(IPageManagerContext context)
- {
- int cacheSize = 40;
- int fileChannelPoolCapacity = 50;
- IDataStore dataStore = new DiskDataStore(getName(),
1000000, fileChannelPoolCapacity);
- IPageStore pageStore = new DefaultPageStore(getName(),
dataStore, cacheSize);
- return new PersistentPageManager(getName(), pageStore,
context);
-
- }
-
- }
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java
Sat Sep 25 14:26:16 2010
@@ -17,9 +17,9 @@
package org.apache.wicket;
import org.apache.wicket.page.IPageManager;
-import org.apache.wicket.page.IPageManagerContext;
+import org.apache.wicket.util.IProvider;
-public interface IPageManagerProvider
+public interface IPageManagerProvider extends IProvider<IPageManager>
{
- IPageManager get(IPageManagerContext context);
+ IPageManager get();
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.java
Sat Sep 25 14:26:16 2010
@@ -20,7 +20,6 @@ import org.apache.wicket.IPageManagerPro
import org.apache.wicket.Page;
import org.apache.wicket.Session;
import org.apache.wicket.page.IPageManager;
-import org.apache.wicket.page.IPageManagerContext;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.session.ISessionStore;
import org.apache.wicket.util.IProvider;
@@ -77,9 +76,9 @@ public class MockApplication extends Web
private static class MockPageManagerProvider implements
IPageManagerProvider
{
- public IPageManager get(IPageManagerContext context)
+ public IPageManager get()
{
- return new MockPageManager(context);
+ return new MockPageManager();
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockPageManager.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockPageManager.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockPageManager.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockPageManager.java
Sat Sep 25 14:26:16 2010
@@ -35,9 +35,8 @@ public class MockPageManager implements
/**
* Construct.
*
- * @param context
*/
- public MockPageManager(IPageManagerContext context)
+ public MockPageManager()
{
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/pageStore/PageWindowManager.java
Sat Sep 25 14:26:16 2010
@@ -69,6 +69,10 @@ public class PageWindowManager implement
private int totalSize = 0;
+ /**
+ * Maximum page size. After this size is exceeded, the pages will be
saved starting at the
+ * beginning of file.
+ */
private final int maxSize;
/**
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
Sat Sep 25 14:26:16 2010
@@ -74,7 +74,6 @@ import org.apache.wicket.mock.MockPageMa
import org.apache.wicket.mock.MockRequestParameters;
import org.apache.wicket.mock.MockSessionStore;
import org.apache.wicket.page.IPageManager;
-import org.apache.wicket.page.IPageManagerContext;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.WicketFilter;
import org.apache.wicket.protocol.http.mock.MockHttpServletRequest;
@@ -2055,10 +2054,9 @@ public class BaseWicketTester
*/
private class TestPageManagerProvider implements IPageManagerProvider
{
-
- public IPageManager get(IPageManagerContext context)
+ public IPageManager get()
{
- return new MockPageManager(context);
+ return new MockPageManager();
}
}
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/versioning/PageVersioningTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/versioning/PageVersioningTest.java?rev=1001214&r1=1001213&r2=1001214&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/versioning/PageVersioningTest.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/versioning/PageVersioningTest.java
Sat Sep 25 14:26:16 2010
@@ -44,15 +44,7 @@ public class PageVersioningTest
@Before
public void setup()
{
- final WebApplication application = new WebApplication()
- {
-
- @Override
- public Class<? extends Page> getHomePage()
- {
- return VersioningTestPage.class;
- }
- };
+ final PageVersioningApplication application = new
PageVersioningApplication();
wicketTester = new WicketTester(application)
{
@@ -66,14 +58,15 @@ public class PageVersioningTest
return new IPageManagerProvider()
{
- public IPageManager get(final
IPageManagerContext context)
+ public IPageManager get()
{
final IDataStore dataStore =
new InMemoryPageStore();
final AsynchronousDataStore
asyncDS = new AsynchronousDataStore(dataStore);
final DefaultPageStore
pageStore = new DefaultPageStore(
application.getName(),
asyncDS, 40);
- return new
PersistentPageManager(application.getName(), pageStore, context);
+ return new
PersistentPageManager(application.getName(), pageStore,
+
application.getPageManagerContext());
}
};
}
@@ -141,4 +134,23 @@ public class PageVersioningTest
lastPageId--;
}
}
+
+ private static final class PageVersioningApplication extends
WebApplication
+ {
+
+ @Override
+ public Class<? extends Page> getHomePage()
+ {
+ return VersioningTestPage.class;
+ }
+
+ /**
+ * @see org.apache.wicket.Application#getPageManagerContext()
+ */
+ @Override
+ public IPageManagerContext getPageManagerContext()
+ {
+ return super.getPageManagerContext();
+ }
+ };
}