Author: jdonnerstag
Date: Mon Sep 17 20:58:53 2007
New Revision: 576681

URL: http://svn.apache.org/viewvc?rev=576681&view=rev
Log:
use application provided page factory

Modified:
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?rev=576681&r1=576680&r2=576681&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 Mon Sep 17 20:58:53 2007
@@ -35,7 +35,6 @@
 import 
org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;
 import 
org.apache.wicket.request.target.component.IBookmarkablePageRequestTarget;
 import org.apache.wicket.request.target.component.IPageRequestTarget;
-import org.apache.wicket.session.DefaultPageFactory;
 import org.apache.wicket.settings.IRequestCycleSettings;
 import org.apache.wicket.util.file.WebApplicationPath;
 import org.slf4j.Logger;
@@ -43,39 +42,35 @@
 
 
 /**
- * This class provides a mock implementation of a Wicket HTTP based tester that
- * can be used for testing. It emulates all of the functionality of an
- * HttpServlet in a controlled, single-threaded environment. It is supported
- * with mock objects for WebSession, HttpServletRequest, HttpServletResponse 
and
- * ServletContext.
+ * This class provides a mock implementation of a Wicket HTTP based tester 
that can be used for
+ * testing. It emulates all of the functionality of an HttpServlet in a 
controlled, single-threaded
+ * environment. It is supported with mock objects for WebSession, 
HttpServletRequest,
+ * HttpServletResponse and ServletContext.
  * <p>
- * In its most basic usage you can just create a new MockWebApplication and
- * provide your Wicket Application object. This should be sufficient to allow
- * you to construct components and pages and so on for testing. To use certain
- * features such as localization you must also call setupRequestAndResponse().
+ * In its most basic usage you can just create a new MockWebApplication and 
provide your Wicket
+ * Application object. This should be sufficient to allow you to construct 
components and pages and
+ * so on for testing. To use certain features such as localization you must 
also call
+ * setupRequestAndResponse().
  * <p>
- * The tester takes an optional path attribute that defines a directory on the
- * disk which will correspond to the root of the WAR bundle. This can then be
- * used for locating non-tester resources.
+ * The tester takes an optional path attribute that defines a directory on the 
disk which will
+ * correspond to the root of the WAR bundle. This can then be used for 
locating non-tester
+ * resources.
  * <p>
- * To actually test the processing of a particular page or component you can
- * also call processRequestCycle() to do all the normal work of a Wicket
- * request.
+ * To actually test the processing of a particular page or component you can 
also call
+ * processRequestCycle() to do all the normal work of a Wicket request.
  * <p>
- * Between calling setupRequestAndResponse() and processRequestCycle() you can
- * get hold of any of the objects for initialisation. The servlet request 
object
- * has some handy convenience methods for initialising the request to invoke
- * certain types of pages and components.
+ * Between calling setupRequestAndResponse() and processRequestCycle() you can 
get hold of any of
+ * the objects for initialisation. The servlet request object has some handy 
convenience methods for
+ * initialising the request to invoke certain types of pages and components.
  * <p>
- * After completion of processRequestCycle() you will probably just be testing
- * component states. However, you also have full access to the response 
document
- * (or binary data) and result codes via the servlet response object.
+ * After completion of processRequestCycle() you will probably just be testing 
component states.
+ * However, you also have full access to the response document (or binary 
data) and result codes via
+ * the servlet response object.
  * <p>
  * IMPORTANT NOTES
  * <ul>
- * <li>This harness is SINGLE THREADED - there is only one global session. For
- * multi-threaded testing you must do integration testing with a full tester
- * server.
+ * <li>This harness is SINGLE THREADED - there is only one global session. For 
multi-threaded
+ * testing you must do integration testing with a full tester server.
  * </ul>
  * 
  * @author Chris Turner
@@ -125,15 +120,14 @@
         * @param application
         *            The wicket application object
         * @param path
-        *            The absolute path on disk to the web tester contents 
(e.g. war
-        *            root) - may be null
+        *            The absolute path on disk to the web tester contents 
(e.g. war root) - may be null
         * @see org.apache.wicket.protocol.http.MockServletContext
         */
        public MockWebApplication(final WebApplication application, final 
String path)
        {
                this.application = application;
 
-               this.context = newServletContext(path);
+               context = newServletContext(path);
 
                filter = new WicketFilter()
                {
@@ -189,14 +183,13 @@
                Application.set(this.application);
 
                // Construct mock session, request and response
-               this.servletSession = new MockHttpSession(this.context);
-               this.servletRequest = new 
MockHttpServletRequest(this.application, this.servletSession,
-                               this.context);
-               this.servletResponse = new MockHttpServletResponse();
+               servletSession = new MockHttpSession(context);
+               servletRequest = new MockHttpServletRequest(this.application, 
servletSession, context);
+               servletResponse = new MockHttpServletResponse();
 
                // Construct request and response using factories
-               this.wicketRequest = 
this.application.newWebRequest(this.servletRequest);
-               this.wicketResponse = 
this.application.newWebResponse(this.servletResponse);
+               wicketRequest = this.application.newWebRequest(servletRequest);
+               wicketResponse = 
this.application.newWebResponse(servletResponse);
 
                // Create request cycle
                createRequestCycle();
@@ -222,13 +215,12 @@
         * Used to create a new mock servlet context.
         * 
         * @param path
-        *            The absolute path on disk to the web tester contents 
(e.g. war
-        *            root) - may be null
+        *            The absolute path on disk to the web tester contents 
(e.g. war root) - may be null
         * @return ServletContext
         */
        public ServletContext newServletContext(final String path)
        {
-               return new MockServletContext(this.application, path);
+               return new MockServletContext(application, path);
        }
 
        /**
@@ -238,7 +230,7 @@
         */
        public final WebApplication getApplication()
        {
-               return this.application;
+               return application;
        }
 
        /**
@@ -334,7 +326,7 @@
 
                if (component instanceof Page)
                {
-                       this.lastRenderedPage = (Page)component;
+                       lastRenderedPage = (Page)component;
                }
                postProcessRequestCycle(cycle);
        }
@@ -360,8 +352,7 @@
        }
 
        /**
-        * Create and process the request cycle using the current request and
-        * response information.
+        * Create and process the request cycle using the current request and 
response information.
         */
        public void processRequestCycle()
        {
@@ -369,8 +360,7 @@
        }
 
        /**
-        * Create and process the request cycle using the current request and
-        * response information.
+        * Create and process the request cycle using the current request and 
response information.
         * 
         * @param cycle
         */
@@ -401,21 +391,21 @@
                        // transparently
                        final MockHttpServletResponse httpResponse = 
(MockHttpServletResponse)cycle
                                        
.getWebResponse().getHttpServletResponse();
-       
+
                        if (httpResponse.isRedirect())
                        {
-                               this.lastRenderedPage = 
generateLastRenderedPage(cycle);
-       
-                               MockHttpServletRequest newHttpRequest = new 
MockHttpServletRequest(this.application,
-                                               servletSession, 
this.application.getServletContext());
+                               lastRenderedPage = 
generateLastRenderedPage(cycle);
+
+                               MockHttpServletRequest newHttpRequest = new 
MockHttpServletRequest(application,
+                                               servletSession, 
application.getServletContext());
                                
newHttpRequest.setRequestToRedirectString(httpResponse.getRedirectLocation());
-                               wicketRequest = 
this.application.newWebRequest(newHttpRequest);
-       
+                               wicketRequest = 
application.newWebRequest(newHttpRequest);
+
                                cycle = createRequestCycle();
                                cycle.request();
                        }
                }
-               this.lastRenderedPage = generateLastRenderedPage(cycle);
+               lastRenderedPage = generateLastRenderedPage(cycle);
 
                Session.set(getWicketSession());
 
@@ -453,12 +443,13 @@
                                        PageParameters parameters = 
pageClassRequestTarget.getPageParameters();
                                        if (parameters == null || 
parameters.size() == 0)
                                        {
-                                               newLastRenderedPage = new 
DefaultPageFactory().newPage(pageClass);
+                                               newLastRenderedPage = 
application.getSessionSettings().getPageFactory()
+                                                               
.newPage(pageClass);
                                        }
                                        else
                                        {
-                                               newLastRenderedPage = new 
DefaultPageFactory().newPage(pageClass,
-                                                               parameters);
+                                               newLastRenderedPage = 
application.getSessionSettings().getPageFactory()
+                                                               
.newPage(pageClass, parameters);
                                        }
                                }
                        }
@@ -466,15 +457,14 @@
 
                if (newLastRenderedPage == null)
                {
-                       newLastRenderedPage = this.lastRenderedPage;
+                       newLastRenderedPage = lastRenderedPage;
                }
 
                return newLastRenderedPage;
        }
 
        /**
-        * Create and process the request cycle using the current request and
-        * response information.
+        * Create and process the request cycle using the current request and 
response information.
         * 
         * @return A new and initialized WebRequestCyle
         */
@@ -486,7 +476,7 @@
                                wicketResponse);
 
                // Construct session
-               this.wicketSession = (WebSession)Session.findOrCreate();
+               wicketSession = (WebSession)Session.findOrCreate();
 
                // Set request cycle so it won't detach automatically and clear 
messages
                // we want to check
@@ -495,9 +485,9 @@
        }
 
        /**
-        * Reset the request and the response back to a starting state and 
recreate
-        * the necessary wicket request, response and session objects. The 
request
-        * and response objects can be accessed and initialised at this point.
+        * Reset the request and the response back to a starting state and 
recreate the necessary wicket
+        * request, response and session objects. The request and response 
objects can be accessed and
+        * initialised at this point.
         */
        public WebRequestCycle setupRequestAndResponse()
        {
@@ -505,10 +495,10 @@
                servletResponse.initialize();
                servletRequest.setParameters(parametersForNextRequest);
                parametersForNextRequest.clear();
-               this.wicketRequest = 
this.application.newWebRequest(servletRequest);
-               this.wicketResponse = 
this.application.newWebResponse(servletResponse);
+               wicketRequest = application.newWebRequest(servletRequest);
+               wicketResponse = application.newWebResponse(servletResponse);
                WebRequestCycle requestCycle = createRequestCycle();
-               this.application.getSessionStore().bind(wicketRequest, 
wicketSession);
+               application.getSessionStore().bind(wicketRequest, 
wicketSession);
                wicketResponse.setAjax(wicketRequest.isAjax());
                return requestCycle;
        }


Reply via email to