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