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 2010/09/25 16:26:16 UTC

svn commit: r1001214 - in /wicket/trunk/wicket/src: main/java/org/apache/wicket/ main/java/org/apache/wicket/mock/ main/java/org/apache/wicket/pageStore/ main/java/org/apache/wicket/util/tester/ test/java/org/apache/wicket/versioning/

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