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();
+               }
+       };
 }


Reply via email to