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


Reply via email to