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