Author: jonl
Date: Thu Apr 12 21:27:24 2007
New Revision: 528350

URL: http://svn.apache.org/viewvc?view=rev&rev=528350
Log:
Moved call to session factory to Session.get(), removed session setting on 
PageMaps, moved session factory to Application and removed 
getDefaultSessionFactory. 

Modified:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IPageMap.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IRequestCycleFactory.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-examples/src/test/java/org/apache/wicket/examples/panels/signin/CookieTest.java

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/AccessStackPageMap.java
 Thu Apr 12 21:27:24 2007
@@ -124,12 +124,10 @@
         * 
         * @param name
         *            The name of this page map
-        * @param session
-        *            The session holding this page map
         */
-       public AccessStackPageMap(final String name, final Session session)
+       public AccessStackPageMap(final String name)
        {
-               super(name, session);
+               super(name);
        }
 
        /**

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
 Thu Apr 12 21:27:24 2007
@@ -536,6 +536,11 @@
        }
 
        /**
+        * @return Request cycle factory for this kind of session.
+        */
+       protected abstract IRequestCycleFactory getRequestCycleFactory();
+
+       /**
         * Gets the [EMAIL PROTECTED] RequestLogger}.
         * 
         * @return The RequestLogger

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IPageMap.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IPageMap.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IPageMap.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IPageMap.java
 Thu Apr 12 21:27:24 2007
@@ -72,11 +72,6 @@
        String getName();
 
        /**
-        * @return The session that this PageMap is in.
-        */
-       Session getSession();
-
-       /**
         * @return Size of this page map in bytes, including a sum of the sizes 
of
         *         all the pages it contains.
         */
@@ -143,11 +138,4 @@
         *            The entry to remove
         */
        void removeEntry(final IPageMapEntry entry);
-
-       /**
-        * @param session
-        *            Session to set
-        */
-       void setSession(final Session session);
-
 }

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IRequestCycleFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IRequestCycleFactory.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IRequestCycleFactory.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/IRequestCycleFactory.java
 Thu Apr 12 21:27:24 2007
@@ -19,22 +19,22 @@
 
 /**
  * Factory for creating request cycles for a session.
- *
+ * 
  * @author Jonathan Locke
  */
 public interface IRequestCycleFactory extends IClusterable
 {
        /**
         * Creates a new RequestCycle object.
-        *
-        * @param session
-        *            The session
+        * 
+        * @param application
+        *            The application
         * @param request
         *            The request
         * @param response
         *            The response
         * @return The cycle
         */
-       RequestCycle newRequestCycle(final Session session, final Request 
request,
+       RequestCycle newRequestCycle(final Application application, final 
Request request,
                        final Response response);
 }

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/PageMap.java
 Thu Apr 12 21:27:24 2007
@@ -24,8 +24,8 @@
 import org.apache.wicket.session.pagemap.IPageMapEntry;
 import org.apache.wicket.util.lang.Objects;
 
-
 /**
+ * @author Jonathan Locke
  * @author jcompagner
  */
 public abstract class PageMap implements IClusterable, IPageMap
@@ -74,10 +74,6 @@
        /** Next available page identifier in this page map. */
        private int pageId = 0;
 
-       /** The session where this PageMap resides */
-       private transient Session session;
-
-
        /**
         * Constructor
         * 
@@ -86,17 +82,11 @@
         * @param session
         *            The session holding this page map
         */
-       public PageMap(String name, Session session)
+       public PageMap(String name)
        {
                this.name = name;
-               if (session == null)
-               {
-                       throw new IllegalArgumentException("session must be not 
null");
-               }
-               this.session = session;
        }
 
-
        /**
         * @see org.apache.wicket.IPageMap#attributeForId(int)
         */
@@ -157,7 +147,7 @@
         */
        public final IPageMapEntry getEntry(final int id)
        {
-               return (IPageMapEntry)session.getAttribute(attributeForId(id));
+               return 
(IPageMapEntry)Session.get().getAttribute(attributeForId(id));
        }
 
        /**
@@ -169,11 +159,11 @@
        }
 
        /**
-        * @see org.apache.wicket.IPageMap#getSession()
+        * @return Session this page map is in
         */
        public final Session getSession()
        {
-               return session;
+               return Session.get();
        }
 
        /**
@@ -293,7 +283,7 @@
                clear();
 
                // Then remove the pagemap itself
-               session.removePageMap(this);
+               Session.get().removePageMap(this);
        }
 
        /**
@@ -311,14 +301,6 @@
        public abstract void removeEntry(final IPageMapEntry entry);
 
        /**
-        * @see org.apache.wicket.IPageMap#setSession(org.apache.wicket.Session)
-        */
-       public final void setSession(final Session session)
-       {
-               this.session = session;
-       }
-
-       /**
         * @see java.lang.Object#toString()
         */
        public String toString()
@@ -326,12 +308,12 @@
                return "[PageMap name=" + name + "]";
        }
 
-
        /**
         * @return List of entries in this page map
         */
        private final List getEntries()
        {
+               final Session session = Session.get();
                final List attributes = session.getAttributeNames();
                final List list = new ArrayList();
                for (final Iterator iterator = attributes.iterator(); 
iterator.hasNext();)
@@ -347,7 +329,7 @@
 
        protected final void dirty()
        {
-               session.dirtyPageMap(this);
+               Session.get().dirtyPageMap(this);
        }
 
        /**
@@ -356,6 +338,7 @@
         */
        protected final void visitEntries(final IVisitor visitor)
        {
+               final Session session = Session.get();
                final List attributes = session.getAttributeNames();
                for (final Iterator iterator = attributes.iterator(); 
iterator.hasNext();)
                {
@@ -366,7 +349,6 @@
                        }
                }
        }
-
 
        /**
         * @return The attribute prefix for this page map

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
 Thu Apr 12 21:27:24 2007
@@ -259,7 +259,6 @@
        /** The processor for this request. */
        protected final IRequestCycleProcessor processor;
 
-
        /** The current request. */
        protected Request request;
 
@@ -267,23 +266,23 @@
        protected Response response;
 
        /** The session object. */
-       protected final Session session;
+       protected Session session;
 
        /**
         * Constructor. This instance will be set as the current one for this
         * thread.
         * 
-        * @param session
-        *            The session
+        * @param application
+        *            The application
         * @param request
         *            The request
         * @param response
         *            The response
         */
-       protected RequestCycle(final Session session, final Request request, 
final Response response)
+       protected RequestCycle(final Application application, final Request 
request,
+                       final Response response)
        {
-               this.application = session.getApplication();
-               this.session = session;
+               this.application = application;
                this.request = request;
                this.response = response;
                this.originalResponse = response;
@@ -293,7 +292,6 @@
                current.set(this);
        }
 
-
        /**
         * Gets the application object.
         * 
@@ -415,12 +413,24 @@
        }
 
        /**
+        * @return True if a session exists for the calling thread
+        */
+       private boolean sessionExists()
+       {
+               return Session.exists();
+       }
+
+       /**
         * Gets the session.
         * 
         * @return Session object
         */
        public final Session getSession()
        {
+               if (session == null)
+               {
+                       session = Session.get();
+               }
                return session;
        }
 
@@ -723,10 +733,10 @@
                }
                else
                {
-
                        page.setPageStateless(Boolean.FALSE);
+
                        // make session non-volatile if not already so
-                       Session session = Session.get();
+                       final Session session = getSession();
                        if (session.isTemporary())
                        {
                                session.bind();
@@ -791,7 +801,7 @@
        public final CharSequence urlFor(final Page page)
        {
                IRequestTarget target = new PageRequestTarget(page);
-               Session.get().touch(((IPageRequestTarget)target).getPage());
+               getSession().touch(((IPageRequestTarget)target).getPage());
                return urlFor(target);
        }
 
@@ -872,7 +882,10 @@
                        // the session
                        try
                        {
-                               session.cleanupFeedbackMessages();
+                               if (sessionExists())
+                               {
+                                       getSession().cleanupFeedbackMessages();
+                               }
                        }
                        catch (RuntimeException re)
                        {
@@ -881,13 +894,16 @@
                }
 
                // At the end of our response, let the session do some book 
keeping
-               try
+               if (sessionExists())
                {
-                       session.update();
-               }
-               catch (RuntimeException re)
-               {
-                       log.error("there was an error updating the session " + 
session + ".", re);
+                       try
+                       {
+                               getSession().update();
+                       }
+                       catch (RuntimeException re)
+                       {
+                               log.error("there was an error updating the 
session " + session + ".", re);
+                       }
                }
 
                try
@@ -904,14 +920,17 @@
                }
 
                // clear the used pagemap for this thread,
-               try
-               {
-                       session.requestDetached();
-               }
-               catch (RuntimeException re)
+               if (sessionExists())
                {
-                       log.error("there was an error detaching the request 
from the session " + session + ".",
-                                       re);
+                       try
+                       {
+                               getSession().requestDetached();
+                       }
+                       catch (RuntimeException re)
+                       {
+                               log.error("there was an error detaching the 
request from the session " + session
+                                               + ".", re);
+                       }
                }
 
                if (getResponse() instanceof BufferedWebResponse)
@@ -953,9 +972,6 @@
         */
        private void prepare()
        {
-               // Prepare session for request
-               session.init();
-
                // Event callback
                onBeginRequest();
        }
@@ -1153,7 +1169,10 @@
        private final void threadDetach()
        {
                // Detach from session
-               session.detach();
+               if (sessionExists())
+               {
+                       getSession().detach();
+               }
 
                if (getRedirect())
                {

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/Session.java
 Thu Apr 12 21:27:24 2007
@@ -235,11 +235,13 @@
         */
        public static Session get()
        {
-               final Session session = (Session)current.get();
+               Session session = (Session)current.get();
                if (session == null)
                {
-                       throw new WicketRuntimeException("there is no session 
attached to current thread "
-                                       + Thread.currentThread().getName());
+                       final RequestCycle cycle = RequestCycle.get();
+                       session = 
Application.get().getSessionFactory().newSession(cycle.getRequest(),
+                                       cycle.getResponse());
+                       set(session);
                }
                return session;
        }
@@ -397,8 +399,7 @@
         */
        public void cleanupFeedbackMessages()
        {
-
-               // if session scoped, rendered messages got indeed cleaned up, 
mark the
+               // If session scoped, rendered messages got indeed cleaned up, 
mark the
                // session as dirty
                if (feedbackMessages.clear(RENDERED_SESSION_SCOPED_MESSAGES) > 
0)
                {
@@ -753,25 +754,6 @@
        }
 
        /**
-        * Set the session for each PageMap
-        */
-       public final void init()
-       {
-               // Set session on each page map
-               visitPageMaps(new IPageMapVisitor()
-               {
-                       public void pageMap(IPageMap pageMap)
-                       {
-                               if (log.isDebugEnabled())
-                               {
-                                       log.debug("updateSession(): Attaching 
session to PageMap " + pageMap);
-                               }
-                               pageMap.setSession(Session.this);
-                       }
-               });
-       }
-
-       /**
         * Invalidates this session.
         */
        public void invalidate()
@@ -810,30 +792,13 @@
                }
 
                // Create new page map
-               final IPageMap pageMap = getSessionStore().createPageMap(name, 
this);
+               final IPageMap pageMap = getSessionStore().createPageMap(name);
                setAttribute(attributeForPageMapName(name), pageMap);
                dirty();
                return pageMap;
        }
 
        /**
-        * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL IT.
-        * 
-        * Creates a new RequestCycle for the given request and response using 
the
-        * session's request cycle factory.
-        * 
-        * @param request
-        *            The request
-        * @param response
-        *            The response
-        * @return The new request cycle.
-        */
-       public final RequestCycle newRequestCycle(final Request request, final 
Response response)
-       {
-               return getRequestCycleFactory().newRequestCycle(this, request, 
response);
-       }
-
-       /**
         * Gets a page map for the given name, automatically creating it if 
need be.
         * 
         * @param pageMapName
@@ -1088,11 +1053,6 @@
                }
                return Collections.EMPTY_LIST;
        }
-
-       /**
-        * @return Request cycle factory for this kind of session.
-        */
-       protected abstract IRequestCycleFactory getRequestCycleFactory();
 
        /**
         * Gets the session store.

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
 Thu Apr 12 21:27:24 2007
@@ -49,14 +49,12 @@
        }
 
        /**
-        * @see 
org.apache.wicket.session.ISessionStore#createPageMap(java.lang.String,
-        *      org.apache.wicket.Session)
+        * @see 
org.apache.wicket.session.ISessionStore#createPageMap(java.lang.String)
         */
-       public IPageMap createPageMap(String name, Session session)
+       public IPageMap createPageMap(String name)
        {
-               return new AccessStackPageMap(name, session);
+               return new AccessStackPageMap(name);
        }
-
 
        /**
         * @see 
org.apache.wicket.session.ISessionStore#getAttribute(org.apache.wicket.Request,

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
 Thu Apr 12 21:27:24 2007
@@ -201,13 +201,15 @@
                                this.context);
                this.servletResponse = new MockHttpServletResponse();
 
-               // Construct request, response and session using factories
+               // Get request cycle factory
+               this.requestCycleFactory = 
this.application.getRequestCycleFactory();
+
+               // Construct request and response using factories
                this.wicketRequest = 
this.application.newWebRequest(this.servletRequest);
                this.wicketResponse = 
this.application.newWebResponse(this.servletResponse);
-               this.wicketSession = 
this.application.getSession(this.wicketRequest, this.wicketResponse);
 
-               // Get request cycle factory
-               this.requestCycleFactory = 
this.wicketSession.getRequestCycleFactory();
+               // Create request cycle
+               createRequestCycle();
 
                // Set the default context path
                
this.application.getApplicationSettings().setContextPath(context.getServletContextName());
@@ -227,8 +229,6 @@
                // watcher still runs, taking up file handles and memory, 
leading
                // to "Too many files opened" or a regular OutOfMemoryException
                
this.application.getResourceSettings().setResourcePollFrequency(null);
-
-               createRequestCycle();
        }
 
        /**
@@ -421,7 +421,6 @@
                                        servletSession, 
this.application.getServletContext());
                        
newHttpRequest.setRequestToRedirectString(httpResponse.getRedirectLocation());
                        wicketRequest = 
this.application.newWebRequest(newHttpRequest);
-                       wicketSession = 
this.application.getSession(wicketRequest, wicketResponse);
 
                        cycle = createRequestCycle();
                        cycle.request();
@@ -443,8 +442,8 @@
         */
        private Page generateLastRenderedPage(WebRequestCycle cycle)
        {
-               Page lastRenderedPage = cycle.getResponsePage();
-               if (lastRenderedPage == null)
+               Page newLastRenderedPage = cycle.getResponsePage();
+               if (newLastRenderedPage == null)
                {
                        Class responseClass = cycle.getResponsePageClass();
                        if (responseClass != null)
@@ -453,7 +452,7 @@
                                IRequestTarget target = 
cycle.getRequestTarget();
                                if (target instanceof IPageRequestTarget)
                                {
-                                       lastRenderedPage = 
((IPageRequestTarget)target).getPage();
+                                       newLastRenderedPage = 
((IPageRequestTarget)target).getPage();
                                }
                                else if (target instanceof 
IBookmarkablePageRequestTarget)
                                {
@@ -464,22 +463,23 @@
                                        PageParameters parameters = 
pageClassRequestTarget.getPageParameters();
                                        if (parameters == null || 
parameters.size() == 0)
                                        {
-                                               lastRenderedPage = new 
DefaultPageFactory().newPage(pageClass);
+                                               newLastRenderedPage = new 
DefaultPageFactory().newPage(pageClass);
                                        }
                                        else
                                        {
-                                               lastRenderedPage = new 
DefaultPageFactory().newPage(pageClass, parameters);
+                                               newLastRenderedPage = new 
DefaultPageFactory().newPage(pageClass,
+                                                               parameters);
                                        }
                                }
                        }
                }
 
-               if (lastRenderedPage == null)
+               if (newLastRenderedPage == null)
                {
-                       lastRenderedPage = this.lastRenderedPage;
+                       newLastRenderedPage = this.lastRenderedPage;
                }
 
-               return lastRenderedPage;
+               return newLastRenderedPage;
        }
 
        /**
@@ -492,7 +492,10 @@
        {
                // Create a web request cycle using factory
                final WebRequestCycle cycle = 
(WebRequestCycle)requestCycleFactory.newRequestCycle(
-                               wicketSession, wicketRequest, wicketResponse);
+                               application, wicketRequest, wicketResponse);
+
+               // Construct session
+               this.wicketSession = 
this.application.getSession(this.wicketRequest, this.wicketResponse);
 
                // Set request cycle so it won't detach automatically and clear 
messages
                // we want to check
@@ -513,6 +516,7 @@
                parametersForNextRequest.clear();
                this.wicketRequest = 
this.application.newWebRequest(servletRequest);
                this.wicketResponse = 
this.application.newWebResponse(servletResponse);
+               createRequestCycle();
                this.wicketSession = this.application.getSession(wicketRequest, 
wicketResponse);
                this.application.getSessionStore().bind(wicketRequest, 
wicketSession);
                wicketResponse.setAjax(wicketRequest.isAjax());

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
 Thu Apr 12 21:27:24 2007
@@ -24,7 +24,6 @@
 import org.apache.wicket.Page;
 import org.apache.wicket.PageMap;
 import org.apache.wicket.Request;
-import org.apache.wicket.Session;
 import org.apache.wicket.session.pagemap.IPageMapEntry;
 import org.apache.wicket.version.IPageVersionManager;
 import org.apache.wicket.version.undo.Change;
@@ -112,11 +111,10 @@
                 * Construct.
                 * 
                 * @param name
-                * @param session
                 */
-               private SecondLevelCachePageMap(String name, Session session)
+               private SecondLevelCachePageMap(String name)
                {
-                       super(name, session);
+                       super(name);
                }
 
                public Page get(int id, int versionNumber)
@@ -413,9 +411,9 @@
         * @see 
org.apache.wicket.protocol.http.HttpSessionStore#createPageMap(java.lang.String,
         *      org.apache.wicket.Session)
         */
-       public IPageMap createPageMap(String name, Session session)
+       public IPageMap createPageMap(String name)
        {
-               return new SecondLevelCachePageMap(name, session);
+               return new SecondLevelCachePageMap(name);
        }
 
        /**

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
 Thu Apr 12 21:27:24 2007
@@ -377,7 +377,8 @@
        }
 
        /**
-        * @see 
org.apache.wicket.ISessionFactory#newSession(org.apache.wicket.Request, 
org.apache.wicket.Response)
+        * @see 
org.apache.wicket.ISessionFactory#newSession(org.apache.wicket.Request,
+        *      org.apache.wicket.Response)
         */
        public Session newSession(Request request, Response response)
        {
@@ -455,6 +456,26 @@
        }
 
        /**
+        * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL IT.
+        * 
+        * Creates a new RequestCycle for the given request and response using 
the
+        * session's request cycle factory.
+        * 
+        * @param application
+        *            The application
+        * @param request
+        *            The request
+        * @param response
+        *            The response
+        * @return The new request cycle.
+        */
+       public final RequestCycle newRequestCycle(final Application 
application, final Request request,
+                       final Response response)
+       {
+               return getRequestCycleFactory().newRequestCycle(application, 
request, response);
+       }
+
+       /**
         * Create a request cycle factory which is used by default by 
WebSession.
         * You may provide your own default factory by subclassing 
WebApplication
         * and overriding this method or your may subclass WebSession to create 
a
@@ -465,16 +486,17 @@
         * 
         * @return Request cycle factory
         */
-       protected IRequestCycleFactory getDefaultRequestCycleFactory()
+       protected IRequestCycleFactory getRequestCycleFactory()
        {
                return new IRequestCycleFactory()
                {
                        private static final long serialVersionUID = 1L;
 
-                       public RequestCycle newRequestCycle(Session session, 
Request request, Response response)
+                       public RequestCycle newRequestCycle(final Application 
application,
+                                       final Request request, final Response 
response)
                        {
                                // Respond to request
-                               return new WebRequestCycle((WebSession)session, 
(WebRequest)request,
+                               return new 
WebRequestCycle((WebApplication)application, (WebRequest)request,
                                                (WebResponse)response);
                        }
                };

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
 Thu Apr 12 21:27:24 2007
@@ -32,7 +32,6 @@
 import org.apache.wicket.request.IRequestCycleProcessor;
 import org.apache.wicket.settings.IRequestCycleSettings;
 
-
 /**
  * RequestCycle implementation for HTTP protocol. Holds the application,
  * session, request and response objects for a given HTTP request. Contains
@@ -61,17 +60,17 @@
         * Constructor which simply passes arguments to superclass for storage
         * there. This instance will be set as the current one for this thread.
         * 
-        * @param session
-        *            The session
+        * @param application
+        *            The applicaiton
         * @param request
         *            The request
         * @param response
         *            The response
         */
-       public WebRequestCycle(final WebSession session, final WebRequest 
request,
+       public WebRequestCycle(final WebApplication application, final 
WebRequest request,
                        final Response response)
        {
-               super(session, request, response);
+               super(application, request, response);
        }
 
        /**
@@ -195,10 +194,10 @@
                                setResponse(currentResponse);
                                if (ex instanceof AbortException)
                                        throw ex;
-                               
+
                                if (!(ex instanceof PageExpiredException))
                                        logRuntimeException(ex);
-                               
+
                                IRequestCycleProcessor processor = 
getProcessor();
                                processor.respond(ex, this);
                                return;

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WebSession.java
 Thu Apr 12 21:27:24 2007
@@ -17,7 +17,6 @@
 package org.apache.wicket.protocol.http;
 
 import org.apache.wicket.Application;
-import org.apache.wicket.IRequestCycleFactory;
 import org.apache.wicket.Request;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Session;
@@ -33,9 +32,6 @@
        // private static final Log log = LogFactory.getLog(WebSession.class);
        private static final long serialVersionUID = 1L;
 
-       /** The request cycle factory for the session */
-       private transient IRequestCycleFactory requestCycleFactory;
-
        /** True, if session has been invalidated */
        private transient boolean sessionInvalidated = false;
 
@@ -133,20 +129,6 @@
                {
                        invalidateNow();
                }
-       }
-
-       /**
-        * @see org.apache.wicket.Session#getRequestCycleFactory()
-        */
-       protected IRequestCycleFactory getRequestCycleFactory()
-       {
-               if (requestCycleFactory == null)
-               {
-                       this.requestCycleFactory = 
((WebApplication)getApplication())
-                                       .getDefaultRequestCycleFactory();
-               }
-
-               return this.requestCycleFactory;
        }
 
        /**

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
 Thu Apr 12 21:27:24 2007
@@ -159,12 +159,13 @@
                        final HttpServletResponse servletResponse) throws 
ServletException, IOException
        {
                String relativePath = getRelativePath(servletRequest);
+
                // Special-case for home page - we redirect to add a trailing 
slash.
                if (relativePath.length() == 0
                                && 
!Strings.stripJSessionId(servletRequest.getRequestURI()).endsWith("/"))
                {
-                       String foo = servletRequest.getRequestURI() + "/";
-                       servletResponse.sendRedirect(foo);
+                       final String redirectUrl = 
servletRequest.getRequestURI() + "/";
+                       servletResponse.sendRedirect(redirectUrl);
                        return;
                }
 
@@ -236,12 +237,12 @@
                        
response.setCharacterEncoding(webApplication.getRequestCycleSettings()
                                        .getResponseRequestEncoding());
 
-                       // Get session for request
-                       final WebSession session = 
webApplication.getSession(request, response);
-
                        try
                        {
-                               RequestCycle cycle = 
session.newRequestCycle(request, response);
+                               // Create request cycle
+                               RequestCycle cycle = 
webApplication.newRequestCycle(webApplication, request,
+                                               response);
+
                                try
                                {
                                        // Process request

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
 Thu Apr 12 21:27:24 2007
@@ -111,8 +111,7 @@
        public void respond(RuntimeException e, RequestCycle requestCycle)
        {
                // If application doesn't want debug info showing up for users
-               final Session session = requestCycle.getSession();
-               final Application application = session.getApplication();
+               final Application application = Application.get();
                final IExceptionSettings settings = 
application.getExceptionSettings();
                final Page responsePage = requestCycle.getResponsePage();
 

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/session/ISessionStore.java
 Thu Apr 12 21:27:24 2007
@@ -28,8 +28,8 @@
 
 
 /**
- * The actual store that is used by [EMAIL PROTECTED] 
org.apache.wicket.Session} to store its
- * attributes.
+ * The actual store that is used by [EMAIL PROTECTED] 
org.apache.wicket.Session} to store
+ * its attributes.
  * 
  * @author Eelco Hillenius
  * @author Johan Compagner
@@ -154,13 +154,13 @@
 
        /**
         * @param name
-        * @param session
-        * @return The pagemap instances for the session
+        * @return The pagemap instance
         */
-       IPageMap createPageMap(String name, Session session);
+       IPageMap createPageMap(String name);
 
        /**
-        * @param page The page for which this version manager must be created
+        * @param page
+        *            The page for which this version manager must be created
         * @return A instance of a IPageVersionManager that the page will use.
         */
        IPageVersionManager newVersionManager(Page page);

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/tester/WicketTesterHelper.java
 Thu Apr 12 21:27:24 2007
@@ -64,38 +64,40 @@
        {
                final List data = new ArrayList();
 
-               page.visitChildren(new IVisitor()
+               if (page != null)
                {
-                       public Object component(final Component component)
+                       page.visitChildren(new IVisitor()
                        {
-                               final ComponentData object = new 
ComponentData();
-
-                               // anonymous class? Get the parent's class name
-                               String name = component.getClass().getName();
-                               if (name.indexOf("$") > 0)
+                               public Object component(final Component 
component)
                                {
-                                       name = 
component.getClass().getSuperclass().getName();
-                               }
+                                       final ComponentData object = new 
ComponentData();
 
-                               // remove the path component
-                               name = Strings.lastPathComponent(name, 
Component.PATH_SEPARATOR);
+                                       // anonymous class? Get the parent's 
class name
+                                       String name = 
component.getClass().getName();
+                                       if (name.indexOf("$") > 0)
+                                       {
+                                               name = 
component.getClass().getSuperclass().getName();
+                                       }
 
-                               object.path = component.getPageRelativePath();
-                               object.type = name;
-                               try
-                               {
-                                       object.value = 
component.getModelObjectAsString();
-                               }
-                               catch (Exception e)
-                               {
-                                       object.value = e.getMessage();
-                               }
+                                       // remove the path component
+                                       name = Strings.lastPathComponent(name, 
Component.PATH_SEPARATOR);
 
-                               data.add(object);
-                               return IVisitor.CONTINUE_TRAVERSAL;
-                       }
-               });
+                                       object.path = 
component.getPageRelativePath();
+                                       object.type = name;
+                                       try
+                                       {
+                                               object.value = 
component.getModelObjectAsString();
+                                       }
+                                       catch (Exception e)
+                                       {
+                                               object.value = e.getMessage();
+                                       }
 
+                                       data.add(object);
+                                       return IVisitor.CONTINUE_TRAVERSAL;
+                               }
+                       });
+               }
                return data;
        }
 

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
 Thu Apr 12 21:27:24 2007
@@ -32,12 +32,12 @@
 
 /**
  * Test cases for the <code>StringResourceModel</code> class.
+ * 
  * @author Chris Turner
  */
 public class StringResourceModelTest extends TestCase
 {
-
-       private WicketTester application;
+       private WicketTester tester;
 
        private WebPage page;
 
@@ -47,7 +47,9 @@
 
        /**
         * Create the test case.
-        * @param name The test name
+        * 
+        * @param name
+        *            The test name
         */
        public StringResourceModelTest(String name)
        {
@@ -56,21 +58,22 @@
 
        protected void setUp() throws Exception
        {
-               application = new WicketTester();
-               
application.getApplication().getResourceSettings().addStringResourceLoader(
+               tester = new WicketTester();
+               
tester.getApplication().getResourceSettings().addStringResourceLoader(
                                new 
BundleStringResourceLoader("org.apache.wicket.model.StringResourceModelTest"));
                page = new MockPage();
                ws = new WeatherStation();
                wsModel = new Model(ws);
        }
+
        protected void tearDown() throws Exception
        {
-               application.destroy();
+               tester.destroy();
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testGetSimpleResource()
        {
@@ -81,8 +84,8 @@
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testNullResourceKey()
        {
@@ -98,8 +101,8 @@
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testGetSimpleResourceWithKeySubstitution()
        {
@@ -113,8 +116,8 @@
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testGetPropertySubstitutedResource()
        {
@@ -127,8 +130,8 @@
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testSubstitutionParametersResource()
        {
@@ -138,22 +141,22 @@
                                "The report for {0,date,medium}, shows the 
temparature as {2,number,###.##} {3} and the weather to be {1}",
                                page.getLocale());
                StringResourceModel model = new 
StringResourceModel("weather.detail", page, wsModel,
-                               new Object[] {cal.getTime(), "${currentStatus}",
+                               new Object[] { cal.getTime(), 
"${currentStatus}",
                                                new PropertyModel(wsModel, 
"currentTemperature"),
-                                               new PropertyModel(wsModel, 
"units")});
-               String expected = format.format(new Object[] {cal.getTime(), 
"sunny", new Double(25.7),
-                               "\u00B0C"});
+                                               new PropertyModel(wsModel, 
"units") });
+               String expected = format.format(new Object[] { cal.getTime(), 
"sunny", new Double(25.7),
+                               "\u00B0C" });
                Assert.assertEquals("Text should be as expected", expected, 
model.getString());
                ws.setCurrentStatus("raining");
                ws.setCurrentTemperature(11.568);
-               expected = format.format(new Object[] {cal.getTime(), 
"raining", new Double(11.568),
-                               "\u00B0C"});
+               expected = format.format(new Object[] { cal.getTime(), 
"raining", new Double(11.568),
+                               "\u00B0C" });
                Assert.assertEquals("Text should be as expected", expected, 
model.getString());
        }
 
        /**
-        *
-        *
+        * 
+        * 
         */
        public void testUninitialisedLocalizer()
        {
@@ -170,7 +173,7 @@
        }
 
        /**
-        *
+        * 
         */
        public void testSetObject()
        {
@@ -196,9 +199,9 @@
        public void testDetachAttachNormalModel() throws Exception
        {
                StringResourceModel model = new 
StringResourceModel("simple.text", page, wsModel);
-               application.setupRequestAndResponse();
-               RequestCycle cycle = new 
WebRequestCycle(application.getWicketSession(),
-                               application.getWicketRequest(), 
application.getWicketResponse());
+               tester.setupRequestAndResponse();
+               RequestCycle cycle = new 
WebRequestCycle(tester.getApplication(),
+                               tester.getWicketRequest(), 
tester.getWicketResponse());
                model.getObject();
                Assert.assertNotNull(model.getLocalizer());
                model.detach();
@@ -224,9 +227,9 @@
 
                };
                StringResourceModel model = new 
StringResourceModel("simple.text", page, wsDetachModel);
-               application.setupRequestAndResponse();
-               RequestCycle cycle = new 
WebRequestCycle(application.getWicketSession(),
-                               application.getWicketRequest(), 
application.getWicketResponse());
+               tester.setupRequestAndResponse();
+               RequestCycle cycle = new 
WebRequestCycle(tester.getApplication(),
+                               tester.getWicketRequest(), 
tester.getWicketResponse());
                model.getObject();
                Assert.assertNotNull(model.getLocalizer());
                model.detach();

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-examples/src/test/java/org/apache/wicket/examples/panels/signin/CookieTest.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-examples/src/test/java/org/apache/wicket/examples/panels/signin/CookieTest.java?view=diff&rev=528350&r1=528349&r2=528350
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-examples/src/test/java/org/apache/wicket/examples/panels/signin/CookieTest.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.5/wicket-examples/src/test/java/org/apache/wicket/examples/panels/signin/CookieTest.java
 Thu Apr 12 21:27:24 2007
@@ -39,7 +39,6 @@
 import org.apache.wicket.util.tester.WicketTester;
 
 
-
 /**
  * Test cases for Cookie handling
  * 
@@ -49,7 +48,7 @@
 {
        private static final Log log = LogFactory.getLog(CookieTest.class);
 
-       private WicketTester application;
+       private WicketTester tester;
        private SignInPanel panel;
        private Form form;
        private Cookie cookieUsername;
@@ -73,10 +72,10 @@
        {
                super.setUp();
 
-               application = new WicketTester(MockPage.class);
-               application.setupRequestAndResponse();
+               tester = new WicketTester(MockPage.class);
+               tester.setupRequestAndResponse();
 
-               final ISecuritySettings settings = 
application.getApplication().getSecuritySettings();
+               final ISecuritySettings settings = 
tester.getApplication().getSecuritySettings();
                settings.setCryptFactory(new NoCryptFactory());
 
                this.panel = new SignInPanel("panel")
@@ -90,23 +89,24 @@
                this.panel.setPersistent(true);
                this.form = (Form)panel.get("signInForm");
 
-               final ICrypt crypt = 
application.getApplication().getSecuritySettings().getCryptFactory().newCrypt();
+               final ICrypt crypt = 
tester.getApplication().getSecuritySettings().getCryptFactory()
+                               .newCrypt();
                final String encryptedPassword = crypt.encryptUrlSafe("test");
                assertNotNull(encryptedPassword);
                this.cookieUsername = new Cookie("panel:signInForm:username", 
"juergen");
                this.cookiePassword = new Cookie("panel:signInForm:password", 
encryptedPassword);
                this.cookies = new Cookie[] { cookieUsername, cookiePassword };
 
-               application.getServletRequest().setCookies(cookies);
+               tester.getServletRequest().setCookies(cookies);
 
-               cycle = new WebRequestCycle(application.getWicketSession(), 
application.getWicketRequest(),
-                               application.getWicketResponse());
+               cycle = new WebRequestCycle(tester.getApplication(), 
tester.getWicketRequest(), tester
+                               .getWicketResponse());
 
                this.page = new MockPage(null);
                page.add(this.panel);
 
-               WebRequestCycle cycle = new 
WebRequestCycle(application.getWicketSession(), application
-                               .getWicketRequest(), 
application.getWicketResponse());
+               WebRequestCycle cycle = new 
WebRequestCycle(tester.getApplication(), tester
+                               .getWicketRequest(), 
tester.getWicketResponse());
        }
 
        /**
@@ -144,7 +144,7 @@
                this.form.onFormSubmitted();
 
                // validate
-               Collection cookies = 
application.getServletResponse().getCookies();
+               Collection cookies = tester.getServletResponse().getCookies();
                Iterator iter = cookies.iterator();
                while (iter.hasNext())
                {
@@ -165,7 +165,7 @@
                this.form.onFormSubmitted();
 
                // validate
-               Collection cookies = 
application.getServletResponse().getCookies();
+               Collection cookies = tester.getServletResponse().getCookies();
                Assert.assertEquals(2, cookies.size());
                Iterator iter = cookies.iterator();
                while (iter.hasNext())
@@ -194,7 +194,7 @@
                page.removePersistedFormData(SignInPanel.SignInForm.class, 
true);
 
                // validate
-               Collection cookieCollection = 
application.getServletResponse().getCookies();
+               Collection cookieCollection = 
tester.getServletResponse().getCookies();
                // Cookies are remove by setting maxAge == 0
                Assert.assertEquals(2, cookieCollection.size());
 
@@ -203,13 +203,13 @@
                final Cookie cookiePassword = new 
Cookie("panel:signInForm:password", "test");
                final Cookie[] cookies = new Cookie[] { cookieUsername, 
cookiePassword };
 
-               application.getServletRequest().setCookies(cookies);
+               tester.getServletRequest().setCookies(cookies);
 
                // test
                page.removePersistedFormData(SignInPanel.SignInForm.class, 
true);
 
                // validate
-               cookieCollection = 
application.getServletResponse().getCookies();
+               cookieCollection = tester.getServletResponse().getCookies();
                Assert.assertEquals(4, cookieCollection.size());
                Iterator iter = cookieCollection.iterator();
                while (iter.hasNext())


Reply via email to