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/28 20:01:39 UTC

svn commit: r1002299 - in /wicket/trunk: wicket-util/src/main/java/org/apache/wicket/util/ wicket/src/main/java/org/apache/wicket/ wicket/src/main/java/org/apache/wicket/mock/ wicket/src/main/java/org/apache/wicket/util/tester/ wicket/src/test/java/org...

Author: mgrigorov
Date: Tue Sep 28 18:01:38 2010
New Revision: 1002299

URL: http://svn.apache.org/viewvc?rev=1002299&view=rev
Log:
Revert the change in IPageManagerProvider to use IPageManagerContext as context parameter in its get().

Introduce IContextProvider<T, C> which is like IProvider<T> but uses <C> as a type for the context parameter.


Added:
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java   (with props)
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java   (with props)
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageRendererProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IRequestCycleProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/mock/MockApplication.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

Added: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java?rev=1002299&view=auto
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java (added)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java Tue Sep 28 18:01:38 2010
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.util;
+
+/**
+ * An object that can provide instances of type {@code T} depending on context parameter of type
+ * {@code C}
+ * 
+ * @param <T>
+ *            the type of the instance
+ * @param <C>
+ *            the type of the context parameter
+ */
+public interface IContextProvider<T, C>
+{
+	/**
+	 * Provides an instance of type {@code T}
+	 * 
+	 * @param context
+	 *            the context parameter on which the instance depends
+	 * @return instance of type {@code T}
+	 */
+	T get(C context);
+}

Propchange: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/IContextProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

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=1002299&r1=1002298&r2=1002299&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 Tue Sep 28 18:01:38 2010
@@ -911,7 +911,7 @@ public abstract class Application implem
 
 		converterLocator = newConverterLocator();
 
-		setPageManagerProvider(new DefaultPageManagerProvider(this, getPageManagerContext()));
+		setPageManagerProvider(new DefaultPageManagerProvider(this));
 		resourceReferenceRegistry = newResourceReferenceRegistry();
 		sharedResources = newSharedResources(resourceReferenceRegistry);
 
@@ -922,7 +922,6 @@ public abstract class Application implem
 
 		pageAccessSynchronizer = new PageAccessSynchronizer(getRequestCycleSettings().getTimeout());
 
-
 		requestCycleProvider = new DefaultRequestCycleProvider();
 	}
 
@@ -1181,15 +1180,15 @@ public abstract class Application implem
 	// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 	private volatile IPageManager pageManager;
-	private IProvider<IPageManager> pageManagerProvider;
+	private IPageManagerProvider pageManagerProvider;
 
-	public final IProvider<IPageManager> getPageManagerProvider()
+	public final IPageManagerProvider getPageManagerProvider()
 	{
 		return pageManagerProvider;
 	}
 
 
-	public synchronized final void setPageManagerProvider(final IProvider<IPageManager> provider)
+	public synchronized final void setPageManagerProvider(final IPageManagerProvider provider)
 	{
 		pageManagerProvider = provider;
 	}
@@ -1211,7 +1210,7 @@ public abstract class Application implem
 			{
 				if (pageManager == null)
 				{
-					pageManager = pageAccessSynchronizer.adapt(pageManagerProvider.get());
+					pageManager = pageAccessSynchronizer.adapt(pageManagerProvider.get(getPageManagerContext()));
 				}
 			}
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java?rev=1002299&r1=1002298&r2=1002299&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/DefaultPageManagerProvider.java Tue Sep 28 18:01:38 2010
@@ -23,13 +23,12 @@ import org.apache.wicket.pageStore.Defau
 import org.apache.wicket.pageStore.DiskDataStore;
 import org.apache.wicket.pageStore.IDataStore;
 import org.apache.wicket.pageStore.IPageStore;
-import org.apache.wicket.util.IProvider;
 
 /**
  * {@link IPageManagerProvider} implementation that creates new instance of {@link IPageManager}
  * that persists the pages in {@link DiskDataStore}
  */
-public class DefaultPageManagerProvider implements IProvider<IPageManager>
+public class DefaultPageManagerProvider implements IPageManagerProvider
 {
 	private static final int DEFAULT_CACHE_SIZE = 40;
 
@@ -39,22 +38,18 @@ public class DefaultPageManagerProvider 
 
 	private final Application application;
 
-	private final IPageManagerContext pageManagerContext;
-
 	/**
 	 * Construct.
 	 * 
 	 * @param application
 	 * @param pageManagerContext
 	 */
-	public DefaultPageManagerProvider(Application application,
-		IPageManagerContext pageManagerContext)
+	public DefaultPageManagerProvider(Application application)
 	{
 		this.application = application;
-		this.pageManagerContext = pageManagerContext;
 	}
 
-	public IPageManager get()
+	public IPageManager get(IPageManagerContext pageManagerContext)
 	{
 		IDataStore dataStore = new DiskDataStore(application.getName(), getMaxSizePerSession(),
 			getFileChannelPoolCapacity());

Added: 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=1002299&view=auto
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java (added)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java Tue Sep 28 18:01:38 2010
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket;
+
+import org.apache.wicket.page.IPageManager;
+import org.apache.wicket.page.IPageManagerContext;
+import org.apache.wicket.util.IContextProvider;
+
+/**
+ */
+public interface IPageManagerProvider extends IContextProvider<IPageManager, IPageManagerContext>
+{
+}

Propchange: wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageManagerProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageRendererProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageRendererProvider.java?rev=1002299&r1=1002298&r2=1002299&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageRendererProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IPageRendererProvider.java Tue Sep 28 18:01:38 2010
@@ -18,8 +18,10 @@ package org.apache.wicket;
 
 import org.apache.wicket.request.handler.RenderPageRequestHandler;
 import org.apache.wicket.request.handler.render.PageRenderer;
+import org.apache.wicket.util.IContextProvider;
 
 public interface IPageRendererProvider
+	extends
+		IContextProvider<PageRenderer, RenderPageRequestHandler>
 {
-	PageRenderer get(RenderPageRequestHandler handler);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/IRequestCycleProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IRequestCycleProvider.java?rev=1002299&r1=1002298&r2=1002299&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IRequestCycleProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IRequestCycleProvider.java Tue Sep 28 18:01:38 2010
@@ -18,19 +18,13 @@ package org.apache.wicket;
 
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.cycle.RequestCycleContext;
+import org.apache.wicket.util.IContextProvider;
 
 /**
  * Provides instances of {@link RequestCycle} objects
  * 
  * @author igor.vaynberg
  */
-public interface IRequestCycleProvider
+public interface IRequestCycleProvider extends IContextProvider<RequestCycle, RequestCycleContext>
 {
-	/**
-	 * Provides instance of {@link RequestCycle}
-	 * 
-	 * @param context
-	 * @return instance of request cycle
-	 */
-	RequestCycle get(RequestCycleContext context);
 }

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=1002299&r1=1002298&r2=1002299&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 Tue Sep 28 18:01:38 2010
@@ -16,9 +16,11 @@
  */
 package org.apache.wicket.mock;
 
+import org.apache.wicket.IPageManagerProvider;
 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;
@@ -72,10 +74,10 @@ public class MockApplication extends Web
 		}
 
 	}
-	private static class MockPageManagerProvider implements IProvider<IPageManager>
+	private static class MockPageManagerProvider implements IPageManagerProvider
 	{
 
-		public IPageManager get()
+		public IPageManager get(IPageManagerContext pageManagerContext)
 		{
 			return new MockPageManager();
 		}

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=1002299&r1=1002298&r2=1002299&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 Tue Sep 28 18:01:38 2010
@@ -38,6 +38,7 @@ import javax.servlet.http.Cookie;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
+import org.apache.wicket.IPageManagerProvider;
 import org.apache.wicket.IPageRendererProvider;
 import org.apache.wicket.IRequestCycleProvider;
 import org.apache.wicket.MarkupContainer;
@@ -73,6 +74,7 @@ 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;
@@ -282,7 +284,7 @@ public class BaseWicketTester
 		setupNextRequestCycle();
 	}
 
-	protected IProvider<IPageManager> newTestPageManagerProvider()
+	protected IPageManagerProvider newTestPageManagerProvider()
 	{
 		return new TestPageManagerProvider();
 	}
@@ -2051,9 +2053,9 @@ public class BaseWicketTester
 	/**
 	 * 
 	 */
-	private class TestPageManagerProvider implements IProvider<IPageManager>
+	private class TestPageManagerProvider implements IPageManagerProvider
 	{
-		public IPageManager get()
+		public IPageManager get(IPageManagerContext pageManagerContext)
 		{
 			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=1002299&r1=1002298&r2=1002299&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 Tue Sep 28 18:01:38 2010
@@ -19,6 +19,7 @@ package org.apache.wicket.versioning;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
+import org.apache.wicket.IPageManagerProvider;
 import org.apache.wicket.Page;
 import org.apache.wicket.page.IPageManager;
 import org.apache.wicket.page.IPageManagerContext;
@@ -27,7 +28,6 @@ import org.apache.wicket.pageStore.Async
 import org.apache.wicket.pageStore.DefaultPageStore;
 import org.apache.wicket.pageStore.IDataStore;
 import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.util.IProvider;
 import org.apache.wicket.util.tester.WicketTester;
 import org.junit.Before;
 import org.junit.Test;
@@ -53,12 +53,12 @@ public class PageVersioningTest
 			 * @see org.apache.wicket.util.tester.BaseWicketTester#newTestPageManagerProvider()
 			 */
 			@Override
-			protected IProvider<IPageManager> newTestPageManagerProvider()
+			protected IPageManagerProvider newTestPageManagerProvider()
 			{
-				return new IProvider<IPageManager>()
+				return new IPageManagerProvider()
 				{
 
-					public IPageManager get()
+					public IPageManager get(IPageManagerContext pageManagerContext)
 					{
 
 						final IDataStore dataStore = new InMemoryPageStore();
@@ -66,7 +66,7 @@ public class PageVersioningTest
 						final DefaultPageStore pageStore = new DefaultPageStore(
 							application.getName(), asyncDS, 40);
 						return new PersistentPageManager(application.getName(), pageStore,
-							application.getPageManagerContext());
+							pageManagerContext);
 					}
 				};
 			}