Author: knopp
Date: Sun Nov 15 00:55:47 2009
New Revision: 836302

URL: http://svn.apache.org/viewvc?rev=836302&view=rev
Log:
Some NG stuff

Added:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java
   (with props)
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java
   (with props)
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/DefaultPageProvider.java
      - copied, changed from r835536, 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
   (with props)
Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequest.java
Modified:
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockApplication.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockPageManager.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRenderPageRequestHandlerDelegate.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestCycle.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/BookmarkableEncoderTest.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/MountedMapperTest.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/PageInstanceMapperTest.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockApplication.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockApplication.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockApplication.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockApplication.java
 Sun Nov 15 00:55:47 2009
@@ -16,18 +16,15 @@
  */
 package org.apache.wicket.ng.mock;
 
-import org.apache.wicket.ng.Application;
 import org.apache.wicket.ng.page.PageManager;
+import org.apache.wicket.ng.protocol.http.WebApplication;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.cycle.RequestCycleContext;
 import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.render.RenderPageRequestHandlerDelegate;
-import org.apache.wicket.ng.request.mapper.BookmarkableMapper;
-import org.apache.wicket.ng.request.mapper.PageInstanceMapper;
-import org.apache.wicket.ng.request.mapper.ResourceReferenceMapper;
 import org.apache.wicket.ng.session.SessionStore;
 
-public class MockApplication extends Application
+public class MockApplication extends WebApplication
 {
 
        public MockApplication()
@@ -35,14 +32,6 @@
        }
 
        @Override
-       protected void registerDefaultEncoders()
-       {
-               registerEncoder(new PageInstanceMapper());
-               registerEncoder(new BookmarkableMapper());
-               registerEncoder(new ResourceReferenceMapper());
-       }
-
-       @Override
        public Class<? extends RequestablePage> getHomePage()
        {
                return null;
@@ -54,11 +43,30 @@
                return new MockRequestCycle(context);
        }
 
+       private RequestablePage lastRenderedPage;
+
+       public RequestablePage getLastRenderedPage()
+       {
+               return lastRenderedPage;
+       }
+
+       public void clearLastRenderedPage()
+       {
+               lastRenderedPage = null;
+       }
+
        @Override
        public RenderPageRequestHandlerDelegate 
getRenderPageRequestHandlerDelegate(
                RenderPageRequestHandler renderPageRequestHandler)
        {
-               return new 
MockRenderPageRequestHandlerDelegate(renderPageRequestHandler);
+               return new 
MockRenderPageRequestHandlerDelegate(renderPageRequestHandler)
+               {
+                       @Override
+                       protected void onPageRender(RequestablePage page)
+                       {
+                               lastRenderedPage = page;
+                       }
+               };
        }
 
        @Override

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockPageManager.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockPageManager.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockPageManager.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockPageManager.java
 Sun Nov 15 00:55:47 2009
@@ -22,13 +22,22 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.wicket.ng.page.ManageablePage;
+import org.apache.wicket.ng.page.PageManager;
 import org.apache.wicket.ng.page.PageManagerContext;
 import org.apache.wicket.ng.page.common.AbstractPageManager;
 import org.apache.wicket.ng.page.common.RequestAdapter;
 
+/**
+ * Simple {...@link PageManager} used for testing.
+ * 
+ * @author Matej Knopp
+ */
 public class MockPageManager extends AbstractPageManager
 {
 
+       /**
+        * Construct.
+        */
        public MockPageManager()
        {
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRenderPageRequestHandlerDelegate.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRenderPageRequestHandlerDelegate.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRenderPageRequestHandlerDelegate.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRenderPageRequestHandlerDelegate.java
 Sun Nov 15 00:55:47 2009
@@ -16,13 +16,25 @@
  */
 package org.apache.wicket.ng.mock;
 
+import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler;
-import 
org.apache.wicket.ng.request.handler.impl.render.RenderPageRequestHandlerDelegate;
+import 
org.apache.wicket.ng.request.handler.impl.render.WebRenderPageRequestHandlerDelegate;
 
-public class MockRenderPageRequestHandlerDelegate extends 
RenderPageRequestHandlerDelegate
+/**
+ * Delegate subclass that intercepts the render to allow storing last rendered 
page instance.
+ * 
+ * @author Matej Knopp
+ */
+public abstract class MockRenderPageRequestHandlerDelegate extends
+       WebRenderPageRequestHandlerDelegate
 {
 
+       /**
+        * Construct.
+        * 
+        * @param renderPageRequestHandler
+        */
        public MockRenderPageRequestHandlerDelegate(RenderPageRequestHandler 
renderPageRequestHandler)
        {
                super(renderPageRequestHandler);
@@ -31,7 +43,9 @@
        @Override
        public void respond(RequestCycle requestCycle)
        {
-               getPageProvider().getPageInstance().renderPage();
+               onPageRender(getPageProvider().getPageInstance());
+               super.respond(requestCycle);
        }
 
+       protected abstract void onPageRender(RequestablePage page);
 }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestCycle.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestCycle.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestCycle.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestCycle.java
 Sun Nov 15 00:55:47 2009
@@ -20,9 +20,19 @@
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.request.cycle.RequestCycleContext;
 
+/**
+ * Request cycle that allows to override {...@link RequestHandler} resolving 
to force custom
+ * {...@link RequestHandler}.
+ * 
+ * @author Matej Knopp
+ */
 public class MockRequestCycle extends RequestCycle
 {
-
+       /**
+        * Construct.
+        * 
+        * @param context
+        */
        public MockRequestCycle(RequestCycleContext context)
        {
                super(context);
@@ -30,6 +40,11 @@
 
        private RequestHandler forcedRequestHandler;
 
+       /**
+        * Forces the specified request handler to be resolved.
+        * 
+        * @param requestHandler
+        */
        public void forceRequestHandler(RequestHandler requestHandler)
        {
                forcedRequestHandler = requestHandler;

Added: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java?rev=836302&view=auto
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java
 (added)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java
 Sun Nov 15 00:55:47 2009
@@ -0,0 +1,86 @@
+/*
+ * 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.ng.mock;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.util.string.StringValue;
+
+/**
+ * Mutable mock implementation of {...@link RequestParameters}.
+ * 
+ * @author Matej Knopp
+ */
+public class MockRequestParameters implements RequestParameters
+{
+       private final Map<String, List<StringValue>> parameters = new 
HashMap<String, List<StringValue>>();
+
+       public Set<String> getParameterNames()
+       {
+               return Collections.unmodifiableSet(parameters.keySet());
+       }
+
+       public StringValue getParameterValue(String name)
+       {
+               List<StringValue> values = parameters.get(name);
+               return (values != null && !values.isEmpty()) ? values.get(0)
+                       : StringValue.valueOf((String)null);
+       }
+
+       public List<StringValue> getParameterValues(String name)
+       {
+               List<StringValue> values = parameters.get(name);
+
+               return values != null ? Collections.unmodifiableList(values) : 
null;
+       }
+
+       /**
+        * Sets value for given key.
+        * 
+        * @param name
+        * @param value
+        */
+       public void setParameterValue(String name, String value)
+       {
+               List<StringValue> list = new ArrayList<StringValue>(1);
+               list.add(StringValue.valueOf(value));
+               parameters.put(name, list);
+       }
+
+       /**
+        * Adds value for given key.
+        * 
+        * @param name
+        * @param value
+        */
+       public void addParameterValue(String name, String value)
+       {
+               List<StringValue> list = parameters.get(name);
+               if (list == null)
+               {
+                       list = new ArrayList<StringValue>(1);
+                       parameters.put(name, list);
+               }
+               list.add(StringValue.valueOf(value));
+       }
+}

Propchange: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockRequestParameters.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockSessionStore.java
 Sun Nov 15 00:55:47 2009
@@ -35,7 +35,10 @@
  */
 public class MockSessionStore implements SessionStore
 {
-
+       /**
+        * 
+        * Construct.
+        */
        public MockSessionStore()
        {
 

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java 
(original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java 
Sun Nov 15 00:55:47 2009
@@ -28,17 +28,27 @@
 import org.apache.wicket.ng.protocol.http.WebRequest;
 import org.apache.wicket.ng.request.Url;
 
+/**
+ * Mutable mock {...@link WebRequest}.
+ * 
+ * @author Matej Knopp
+ */
 public class MockWebRequest extends WebRequest
 {
        private final Url url;
 
+       /**
+        * Construct.
+        * 
+        * @param url
+        */
        public MockWebRequest(Url url)
        {
                this.url = url;
        }
 
        @Override
-       public WebRequest requestWithUrl(Url url)
+       public MockWebRequest requestWithUrl(Url url)
        {
                return new MockWebRequest(url);
        }
@@ -50,42 +60,18 @@
        }
 
        @Override
-       public int hashCode()
-       {
-               final int prime = 31;
-               int result = 1;
-               result = prime * result + ((url == null) ? 0 : url.hashCode());
-               return result;
-       }
-
-       @Override
-       public boolean equals(Object obj)
-       {
-               if (this == obj)
-                       return true;
-               if (obj == null)
-                       return false;
-               if (getClass() != obj.getClass())
-                       return false;
-               MockWebRequest other = (MockWebRequest)obj;
-               if (url == null)
-               {
-                       if (other.url != null)
-                               return false;
-               }
-               else if (!url.equals(other.url))
-                       return false;
-               return true;
-       }
-
-       @Override
        public String toString()
        {
-               return "MockRequest [url=" + url + "]";
+               return "MockWebRequest [url=" + url + "]";
        }
 
        private Cookie cookies[];
 
+       /**
+        * Sets cookies for current request.
+        * 
+        * @param cookies
+        */
        public void setCookies(Cookie[] cookies)
        {
                this.cookies = cookies;
@@ -129,6 +115,24 @@
                values.add(value);
        }
 
+       /**
+        * Sets date header for given name.
+        * 
+        * @param name
+        * @param value
+        */
+       public void setDateHeader(String name, long value)
+       {
+               removeHeader(name);
+               addHeaderObject(name, value);
+       }
+
+       /**
+        * Adds date header for given name.
+        * 
+        * @param name
+        * @param value
+        */
        public void addDateHeader(String name, long value)
        {
                addHeaderObject(name, value);
@@ -141,13 +145,36 @@
                return (h == null || h.isEmpty()) ? null : h.get(0).toString();
        }
 
+       /**
+        * Sets header for given name.
+        * 
+        * @param name
+        * @param value
+        */
        public void setHeader(String name, String value)
        {
+               removeHeader(name);
+               addHeader(name, value);
+       }
+
+       /**
+        * Adds header for given name.
+        * 
+        * @param name
+        * @param value
+        */
+       public void addHeader(String name, String value)
+       {
                addHeaderObject(name, value);
        }
 
        private Locale locale = Locale.getDefault();
 
+       /**
+        * Sets request locale.
+        * 
+        * @param locale
+        */
        public void setLocale(Locale locale)
        {
                this.locale = locale;
@@ -177,8 +204,21 @@
                return res;
        }
 
+       /**
+        * Removes header with specified name.
+        * 
+        * @param header
+        */
        public void removeHeader(String header)
        {
                headers.remove(header);
        }
+
+       private final MockRequestParameters postRequestParameters = new 
MockRequestParameters();
+
+       @Override
+       public MockRequestParameters getPostRequestParameters()
+       {
+               return postRequestParameters;
+       }
 }

Added: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java?rev=836302&view=auto
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java
 (added)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java
 Sun Nov 15 00:55:47 2009
@@ -0,0 +1,272 @@
+/*
+ * 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.ng.mock;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.http.Cookie;
+
+import org.apache.wicket.ng.WicketRuntimeException;
+import org.apache.wicket.ng.request.response.WebResponse;
+
+/**
+ * Mocked {...@link WebResponse}.
+ * 
+ * @author Matej Knopp
+ */
+public class MockWebResponse extends WebResponse
+{
+
+       /**
+        * Construct.
+        */
+       public MockWebResponse()
+       {
+       }
+
+       private final List<Cookie> cookies = new ArrayList<Cookie>();
+
+       @Override
+       public void addCookie(Cookie cookie)
+       {
+               cookies.add(cookie);
+       }
+
+       @Override
+       public void clearCookie(Cookie cookie)
+       {
+               cookies.remove(cookie);
+       }
+
+       /**
+        * @return cookies set in this response
+        */
+       public List<Cookie> getCookies()
+       {
+               return Collections.unmodifiableList(cookies);
+       }
+
+       private String redirectUrl;
+
+       @Override
+       public void sendRedirect(String url)
+       {
+               redirectUrl = url;
+       }
+
+       /**
+        * @return redirect URL or <code>null</code> if {...@link 
#sendRedirect(String)} was not called.
+        */
+       public String getRedirectUrl()
+       {
+               return redirectUrl;
+       }
+
+       /**
+        * @return <code>true</code> if redirect URL was set, 
<code>false</code> otherwise.
+        */
+       public boolean isRedirect()
+       {
+               return redirectUrl != null;
+       }
+
+       private Long contentLength;
+
+       @Override
+       public void setContentLength(long length)
+       {
+               contentLength = length;
+       }
+
+       /**
+        * @return content length (set by {...@link #setContentLength(long)})
+        */
+       public Long getContentLength()
+       {
+               return contentLength;
+       }
+
+       private String contentType;
+
+       @Override
+       public void setContentType(String mimeType)
+       {
+               contentType = mimeType;
+       }
+
+       /**
+        * @return content mime type
+        */
+       public String getContentType()
+       {
+               return contentType;
+       }
+
+       private final Map<String, Object> headers = new HashMap<String, 
Object>();
+
+       @Override
+       public void setDateHeader(String name, long date)
+       {
+               headers.put(name, date);
+       }
+
+       /**
+        * @param name
+        * 
+        * @return date header with specified name
+        */
+       public long getDateHeader(String name)
+       {
+               Object value = headers.get(name);
+               if (value == null)
+               {
+                       throw new WicketRuntimeException("Date header '" + name 
+ "' is not set.");
+               }
+               else if (value instanceof Long == false)
+               {
+                       throw new WicketRuntimeException("Header '" + name + "' 
is not date type.");
+               }
+               else
+               {
+                       return (Long)value;
+               }
+       }
+
+       @Override
+       public void setHeader(String name, String value)
+       {
+               headers.put(name, value);
+       }
+
+       /**
+        * @param name
+        * 
+        * @return header string with specified name
+        */
+       public String getHeader(String name)
+       {
+               Object value = headers.get(name);
+               return value != null ? value.toString() : null;
+       }
+
+       /**
+        * @param name
+        * 
+        * @return <code>true</code> if the header was set, <code>false</code> 
otherwise
+        */
+       public boolean hasHeader(String name)
+       {
+               return headers.containsKey(name);
+       }
+
+       /**
+        * @return set of all header names
+        */
+       public Set<String> getHeaderNames()
+       {
+               return Collections.unmodifiableSet(headers.keySet());
+       }
+
+       Integer status;
+
+       @Override
+       public void setStatus(int sc)
+       {
+               status = sc;
+       }
+
+       /**
+        * @return status code or <code>null</code> if status was not set
+        */
+       public Integer getStatus()
+       {
+               return status;
+       }
+
+       @Override
+       public String encodeURL(String url)
+       {
+               return url;
+       }
+
+       private StringBuilder textResponse;
+       private ByteArrayOutputStream binaryResponse;
+
+       @Override
+       public void write(CharSequence sequence)
+       {
+               if (binaryResponse != null)
+               {
+                       throw new IllegalStateException("Binary response has 
already been initiated.");
+               }
+               if (textResponse == null)
+               {
+                       textResponse = new StringBuilder();
+               }
+               textResponse.append(sequence);
+       }
+
+       /**
+        * @return text response
+        */
+       public CharSequence getTextResponse()
+       {
+               return textResponse;
+       }
+
+       @Override
+       public void write(byte[] array)
+       {
+               if (textResponse != null)
+               {
+                       throw new IllegalStateException("Text response has 
already been initiated.");
+               }
+               if (binaryResponse == null)
+               {
+                       binaryResponse = new ByteArrayOutputStream();
+               }
+               try
+               {
+                       binaryResponse.write(array);
+               }
+               catch (IOException yeahRight)
+               {
+               }
+       }
+
+       /**
+        * @return binary response
+        */
+       public byte[] getBinaryResponse()
+       {
+               if (binaryResponse == null)
+               {
+                       return null;
+               }
+               else
+               {
+                       return binaryResponse.toByteArray();
+               }
+       }
+}

Propchange: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebResponse.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
 Sun Nov 15 00:55:47 2009
@@ -28,6 +28,7 @@
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageProvider;
 import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler;
 import org.apache.wicket.ng.request.response.Response;
@@ -391,7 +392,7 @@
         */
        public void setResponsePage(RequestablePage page)
        {
-               scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(new PageProvider(page),
+               scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(new DefaultPageProvider(page),
                        RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
        }
 
@@ -404,7 +405,7 @@
        public void setResponsePage(Class<? extends RequestablePage> pageClass,
                PageParameters parameters)
        {
-               PageProvider provider = new PageProvider(pageClass);
+               PageProvider provider = new DefaultPageProvider(pageClass);
                scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(provider,
                        RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
        }

Copied: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/DefaultPageProvider.java
 (from r835536, 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/DefaultPageProvider.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/DefaultPageProvider.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java&r1=835536&r2=836302&rev=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/DefaultPageProvider.java
 Sun Nov 15 00:55:47 2009
@@ -36,16 +36,16 @@
  * Purpose of this class is to reduce complexity of both {...@link 
RequestMapper}s and
  * {...@link RequestHandler}s. {...@link RequestMapper} examines the URL, 
gathers all relevant information
  * about the page in the URL (combination of page id, page class, page 
parameters and render count),
- * creates {...@link PageProvider} object and creates a {...@link 
RequestHandler} instance that can use
- * the {...@link PageProvider} to access the page.
+ * creates {...@link DefaultPageProvider} object and creates a {...@link 
RequestHandler} instance that can
+ * use the {...@link DefaultPageProvider} to access the page.
  * <p>
- * Apart from simplifying {...@link RequestMapper}s and {...@link 
RequestHandler}s {...@link PageProvider}
- * also helps performance because creating or obtaining page from {...@link 
PageManager} is delayed
- * until the {...@link RequestHandler} actually requires the page.
+ * Apart from simplifying {...@link RequestMapper}s and {...@link 
RequestHandler}s
+ * {...@link DefaultPageProvider} also helps performance because creating or 
obtaining page from
+ * {...@link PageManager} is delayed until the {...@link RequestHandler} 
actually requires the page.
  * 
  * @author Matej Knopp
  */
-public class PageProvider
+public class DefaultPageProvider implements PageProvider
 {
        private Integer renderCount;
        private PageSource pageSource;
@@ -62,7 +62,7 @@
         * @param renderCount
         *            optional argument
         */
-       public PageProvider(int pageId, Integer renderCount)
+       public DefaultPageProvider(int pageId, Integer renderCount)
        {
                this.pageId = pageId;
                this.renderCount = renderCount;
@@ -78,7 +78,8 @@
         * @param renderCount
         *            optional argument
         */
-       public PageProvider(int pageId, Class<? extends RequestablePage> 
pageClass, Integer renderCount)
+       public DefaultPageProvider(int pageId, Class<? extends RequestablePage> 
pageClass,
+               Integer renderCount)
        {
                this(pageId, pageClass, new PageParameters(), renderCount);
        }
@@ -94,7 +95,7 @@
         * @param renderCount
         *            optional argument
         */
-       public PageProvider(int pageId, Class<? extends RequestablePage> 
pageClass,
+       public DefaultPageProvider(int pageId, Class<? extends RequestablePage> 
pageClass,
                PageParameters pageParameters, Integer renderCount)
        {
                this.pageId = pageId;
@@ -110,7 +111,8 @@
         * @param pageClass
         * @param pageParameters
         */
-       public PageProvider(Class<? extends RequestablePage> pageClass, 
PageParameters pageParameters)
+       public DefaultPageProvider(Class<? extends RequestablePage> pageClass,
+               PageParameters pageParameters)
        {
                setPageClass(pageClass);
                setPageParameters(pageParameters);
@@ -122,7 +124,7 @@
         * 
         * @param pageClass
         */
-       public PageProvider(Class<? extends RequestablePage> pageClass)
+       public DefaultPageProvider(Class<? extends RequestablePage> pageClass)
        {
                this(pageClass, new PageParameters());
        }
@@ -133,7 +135,7 @@
         * 
         * @param page
         */
-       public PageProvider(RequestablePage page)
+       public DefaultPageProvider(RequestablePage page)
        {
                Checks.argumentNotNull(page, "page");
 
@@ -141,14 +143,7 @@
        }
 
        /**
-        * Returns page instance specified by the constructor.
-        * 
-        * @return page instance
-        * @throws StalePageException
-        *             if render count has been specified in constructor and 
the render count of page
-        *             does not match the valeu
-        * @throw {...@link PageExpiredException} if the specified page could 
not have been found and the
-        *        constructor used did not provide enough information to create 
new page instance
+        * @see 
org.apache.wicket.ng.request.handler.PageProvider#getPageInstance()
         */
        public RequestablePage getPageInstance()
        {
@@ -165,9 +160,7 @@
        }
 
        /**
-        * Returns {...@link PageParameters} of the page specified by 
constructor.
-        * 
-        * @return page parameters
+        * @see 
org.apache.wicket.ng.request.handler.PageProvider#getPageParameters()
         */
        public PageParameters getPageParameters()
        {
@@ -182,9 +175,7 @@
        }
 
        /**
-        * Returns class of the page specified by the constructor.
-        * 
-        * @return page class
+        * @see org.apache.wicket.ng.request.handler.PageProvider#getPageClass()
         */
        public Class<? extends RequestablePage> getPageClass()
        {
@@ -278,9 +269,9 @@
        }
 
        /**
-        * If the {...@link PageProvider} is used outside request thread 
(thread that does not have
+        * If the {...@link DefaultPageProvider} is used outside request thread 
(thread that does not have
         * application instance assigned) it is necessary to specify a 
{...@link PageSource} instance so
-        * that {...@link PageProvider} knows how to get a page instance.
+        * that {...@link DefaultPageProvider} knows how to get a page instance.
         * 
         * @param pageSource
         */

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
 Sun Nov 15 00:55:47 2009
@@ -22,20 +22,20 @@
 import org.apache.wicket.util.lang.Checks;
 
 /**
- * Extension of {...@link PageProvider} that is also capable of providing a 
Component belonging to the
+ * Extension of {...@link DefaultPageProvider} that is also capable of 
providing a Component belonging to the
  * page.
  * 
- * @see PageProvider
+ * @see DefaultPageProvider
  * 
  * @author Matej Knopp
  */
-public class PageAndComponentProvider extends PageProvider
+public class PageAndComponentProvider extends DefaultPageProvider
 {
        private RequestableComponent component;
        private String componentPath;
 
        /**
-        * @see PageProvider#PageProvider(RequestablePage)
+        * @see DefaultPageProvider#PageProvider(RequestablePage)
         * 
         * @param page
         * @param componentPath
@@ -47,7 +47,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(RequestablePage)
+        * @see DefaultPageProvider#PageProvider(RequestablePage)
         * 
         * @param page
         * @param component
@@ -62,7 +62,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(Class, PageParameters)
+        * @see DefaultPageProvider#PageProvider(Class, PageParameters)
         * 
         * @param pageClass
         * @param pageParameters
@@ -76,7 +76,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(Class)
+        * @see DefaultPageProvider#PageProvider(Class)
         * 
         * @param pageClass
         * @param componentPath
@@ -88,7 +88,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(int, Class, Integer)
+        * @see DefaultPageProvider#PageProvider(int, Class, Integer)
         * 
         * @param pageId
         * @param pageClass
@@ -103,7 +103,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(int, Class, PageParameters, Integer)
+        * @see DefaultPageProvider#PageProvider(int, Class, PageParameters, 
Integer)
         * 
         * @param pageId
         * @param pageClass
@@ -119,7 +119,7 @@
        }
 
        /**
-        * @see PageProvider#PageProvider(int, Integer)
+        * @see DefaultPageProvider#PageProvider(int, Integer)
         * 
         * @param pageId
         * @param renderCount

Added: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java?rev=836302&view=auto
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
 (added)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
 Sun Nov 15 00:55:47 2009
@@ -0,0 +1,66 @@
+/*
+ * 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.ng.request.handler;
+
+import org.apache.wicket.ng.request.component.PageExpiredException;
+import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.mapper.StalePageException;
+
+
+/**
+ * Represents object capable of providing a page instance. In some cases the 
implementation class
+ * might now page class and page parameters without having the actual page 
instance. Thus it's
+ * recommended to call {...@link #getPageParameters()} instead of calling 
{...@link #getPageInstance()}
+ * .getPageParameters(). Same goes for page class.
+ * 
+ * @author Matej Knopp
+ */
+public interface PageProvider
+{
+       /**
+        * Returns page instance specified by the constructor.
+        * 
+        * @return page instance
+        * @throws StalePageException
+        *             if render count has been specified in constructor and 
the render count of page
+        *             does not match the valeu
+        * @throw {...@link PageExpiredException} if the specified page could 
not have been found and the
+        *        constructor used did not provide enough information to create 
new page instance
+        */
+       public abstract RequestablePage getPageInstance();
+
+       /**
+        * Returns {...@link PageParameters} of the page.
+        * 
+        * @return page parameters
+        */
+       public abstract PageParameters getPageParameters();
+
+       /**
+        * Returns class of the page.
+        * 
+        * @return page class
+        */
+       public abstract Class<? extends RequestablePage> getPageClass();
+
+       /**
+        * Detaches the page if it has been loaded.
+        */
+       public abstract void detach();
+
+}
\ No newline at end of file

Propchange: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageProvider.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/ListenerInterfaceRequestHandler.java
 Sun Nov 15 00:55:47 2009
@@ -24,7 +24,7 @@
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.request.handler.ComponentRequestHandler;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
-import org.apache.wicket.ng.request.handler.PageProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler.RedirectPolicy;
 import org.apache.wicket.ng.request.listener.RequestListenerInterface;
@@ -123,7 +123,7 @@
                        // schedule page render after current request handler 
is done. this can be overridden during invocation of listener
                        // method (i.e. by calling RequestCycle#setResponsePage)
                        RedirectPolicy policy = getPage().isPageStateless() ? 
RedirectPolicy.NEVER_REDIRECT : RedirectPolicy.AUTO_REDIRECT;
-                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(new PageProvider(getPage()), policy));
+                       requestCycle.scheduleRequestHandlerAfterCurrent(new 
RenderPageRequestHandler(new DefaultPageProvider(getPage()), policy));
 
                        if (getBehaviorIndex() == null)
                        {

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/AbstractBookmarkableMapper.java
 Sun Nov 15 00:55:47 2009
@@ -23,7 +23,7 @@
 import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
-import org.apache.wicket.ng.request.handler.PageProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import 
org.apache.wicket.ng.request.handler.impl.BookmarkableListenerInterfaceRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.BookmarkablePageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
@@ -142,7 +142,7 @@
        
        private RequestHandler processBookmarkable(Class<? extends 
RequestablePage> pageClass, PageParameters pageParameters)
        {
-               PageProvider provider = new PageProvider(pageClass, 
pageParameters);
+               DefaultPageProvider provider = new 
DefaultPageProvider(pageClass, pageParameters);
                provider.setPageSource(getContext());
                return new RenderPageRequestHandler(provider);
        }
@@ -150,7 +150,7 @@
        private RequestHandler processHybrid(PageInfo pageInfo, Class<? extends 
RequestablePage> pageClass,
                        PageParameters pageParameters, Integer renderCount)
        {
-               PageProvider provider = new PageProvider(pageInfo.getPageId(), 
pageClass, pageParameters,
+               DefaultPageProvider provider = new 
DefaultPageProvider(pageInfo.getPageId(), pageClass, pageParameters,
                                renderCount);
                provider.setPageSource(getContext());
                return new RenderPageRequestHandler(provider);

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
 Sun Nov 15 00:55:47 2009
@@ -21,7 +21,7 @@
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
-import org.apache.wicket.ng.request.handler.PageProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import 
org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
 import org.apache.wicket.ng.request.handler.impl.RenderPageRequestHandler;
 import org.apache.wicket.ng.request.listener.RequestListenerInterface;
@@ -66,7 +66,7 @@
 
                                if (info.getComponentInfo() == null)
                                {
-                                       PageProvider provider = new 
PageProvider(info.getPageInfo().getPageId(), renderCount);
+                                       DefaultPageProvider provider = new 
DefaultPageProvider(info.getPageInfo().getPageId(), renderCount);
                                        provider.setPageSource(getContext());
                                        // render page                          
        
                                        return new 
RenderPageRequestHandler(provider);

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/BookmarkableEncoderTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/BookmarkableEncoderTest.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/BookmarkableEncoderTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/BookmarkableEncoderTest.java
 Sun Nov 15 00:55:47 2009
@@ -24,6 +24,7 @@
 import org.apache.wicket.ng.request.component.RequestableComponent;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageProvider;
 import org.apache.wicket.ng.request.handler.PageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.BookmarkableListenerInterfaceRequestHandler;
@@ -244,7 +245,7 @@
         */
     public void testEncode1()
     {
-        PageProvider provider = new PageProvider(MockPage.class, new 
PageParameters());
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
new PageParameters());
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -261,7 +262,7 @@
         parameters.setIndexedParameter(1, "i2");
         parameters.setNamedParameter("a", "b");
         parameters.setNamedParameter("b", "c");
-        PageProvider provider = new PageProvider(MockPage.class, parameters);
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
parameters);
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -279,7 +280,7 @@
         parameters.setNamedParameter("a", "b");
         parameters.setNamedParameter("b", "c");
 
-        PageProvider provider = new PageProvider(MockPage.class, parameters);
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
parameters);
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -299,7 +300,7 @@
         page.getPageParameters().setNamedParameter("b", "c");
         page.setCreatedBookmarkable(true);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
 
@@ -319,7 +320,7 @@
 
         page.setCreatedBookmarkable(false);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
 
@@ -393,7 +394,7 @@
         page.setCreatedBookmarkable(true);
         page.setPageStateless(true);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
 
         Url url = encoder.mapHandler(handler);

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/MountedMapperTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/MountedMapperTest.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/MountedMapperTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/MountedMapperTest.java
 Sun Nov 15 00:55:47 2009
@@ -25,6 +25,7 @@
 import org.apache.wicket.ng.request.component.RequestableComponent;
 import org.apache.wicket.ng.request.component.RequestablePage;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageProvider;
 import org.apache.wicket.ng.request.handler.PageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.BookmarkableListenerInterfaceRequestHandler;
@@ -268,7 +269,7 @@
         */
     public void testEncode1()
     {
-        PageProvider provider = new PageProvider(MockPage.class, new 
PageParameters());
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
new PageParameters());
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -285,7 +286,7 @@
         parameters.setIndexedParameter(1, "i2");
         parameters.setNamedParameter("a", "b");
         parameters.setNamedParameter("b", "c");
-        PageProvider provider = new PageProvider(MockPage.class, parameters);
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
parameters);
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -303,7 +304,7 @@
         parameters.setNamedParameter("a", "b");
         parameters.setNamedParameter("b", "c");
 
-        PageProvider provider = new PageProvider(MockPage.class, parameters);
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
parameters);
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
@@ -323,7 +324,7 @@
         page.getPageParameters().setNamedParameter("b", "c");
         page.setCreatedBookmarkable(true);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
 
@@ -343,7 +344,7 @@
 
         page.setCreatedBookmarkable(false);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
         Url url = encoder.mapHandler(handler);
 
@@ -418,7 +419,7 @@
         page.setCreatedBookmarkable(true);
         page.setPageStateless(true);
 
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
 
         Url url = encoder.mapHandler(handler);
@@ -517,7 +518,7 @@
         parameters.setNamedParameter("param2", "p2");
 
 
-        PageProvider provider = new PageProvider(MockPage.class, parameters);
+        DefaultPageProvider provider = new DefaultPageProvider(MockPage.class, 
parameters);
         provider.setPageSource(context);
         RequestHandler handler = new BookmarkablePageRequestHandler(provider);
         Url url = placeholderEncoder.mapHandler(handler);

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/PageInstanceMapperTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/PageInstanceMapperTest.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/PageInstanceMapperTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/PageInstanceMapperTest.java
 Sun Nov 15 00:55:47 2009
@@ -22,6 +22,7 @@
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.RequestableComponent;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
+import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageProvider;
 import org.apache.wicket.ng.request.handler.PageRequestHandler;
 import 
org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
@@ -181,7 +182,7 @@
     public void testEncode1()
     {
         MockPage page = new MockPage(15);
-        PageProvider provider = new PageProvider(page);
+        PageProvider provider = new DefaultPageProvider(page);
         RequestHandler handler = new RenderPageRequestHandler(provider);
 
         Url url = encoder.mapHandler(handler);

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java?rev=836302&r1=836301&r2=836302&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java 
(original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/test/TestPageRender.java 
Sun Nov 15 00:55:47 2009
@@ -23,15 +23,15 @@
 import org.apache.wicket.ng.markup.html.link.ILinkListener;
 import org.apache.wicket.ng.markup.html.link.Link;
 import org.apache.wicket.ng.mock.MockApplication;
-import org.apache.wicket.ng.mock.MockRequest;
 import org.apache.wicket.ng.mock.MockRequestCycle;
+import org.apache.wicket.ng.mock.MockWebRequest;
+import org.apache.wicket.ng.mock.MockWebResponse;
 import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import 
org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
 import org.apache.wicket.ng.request.mapper.MountedMapper;
-import org.apache.wicket.ng.request.response.Response;
-import org.apache.wicket.ng.request.response.StringResponse;
+import org.apache.wicket.ng.settings.RequestCycleSettings.RenderStrategy;
 
 public class TestPageRender extends TestCase
 {
@@ -71,24 +71,25 @@
                app.setName("TestApplication1");
                app.set(); // set it to ThreadContext
                app.initApplication();
+               
app.getRequestCycleSettings().setRenderStrategy(RenderStrategy.ONE_PASS_RENDER);
 
                // Mount the test page
                app.registerEncoder(new MountedMapper("first-test-page", 
Page1.class));
 
                // Construct request for first-test-page
-               Request request = new MockRequest(Url.parse("first-test-page"));
-               Response response = new StringResponse();
+               Request request = new 
MockWebRequest(Url.parse("first-test-page"));
+               MockWebResponse response = new MockWebResponse();
 
                // create and execute request cycle
                MockRequestCycle cycle = 
(MockRequestCycle)app.createRequestCycle(request, response);
                cycle.processRequestAndDetach();
 
                System.out.println("Rendered:");
-               System.out.println(response);
+               System.out.println(response.getTextResponse());
 
                // invoke listener on the page
-               request = new 
MockRequest(Url.parse("wicket/page?0-1.ILinkListener-link"));
-               response = new StringResponse();
+               request = new 
MockWebRequest(Url.parse("wicket/page?0-1.ILinkListener-link"));
+               response = new MockWebResponse();
                cycle = (MockRequestCycle)app.createRequestCycle(request, 
response);
                cycle.processRequestAndDetach();
 


Reply via email to