You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/10/13 08:42:21 UTC

svn commit: r824605 [2/3] - in /wicket/trunk: wicket-auth-roles/src/main/java/org/apache/wicket/authentication/pages/ wicket-auth-roles/src/main/java/org/apache/wicket/authentication/panel/ wicket-devutils/src/main/java/org/apache/wicket/devutils/ wick...

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Session.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Session.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Session.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Session.java Tue Oct 13 06:42:17 2009
@@ -33,7 +33,6 @@
 import org.apache.wicket.authorization.IAuthorizationStrategy;
 import org.apache.wicket.feedback.FeedbackMessage;
 import org.apache.wicket.feedback.FeedbackMessages;
-import org.apache.wicket.ng.ThreadContext;
 import org.apache.wicket.protocol.http.IgnoreAjaxRequestException;
 import org.apache.wicket.request.ClientInfo;
 import org.apache.wicket.session.ISessionStore;
@@ -162,6 +161,9 @@
 	/** Name of session attribute under which this session is stored */
 	public static final String SESSION_ATTRIBUTE_NAME = "session";
 
+	/** Thread-local current session. */
+	private static final ThreadLocal<Session> current = new ThreadLocal<Session>();
+
 	/** A store for dirty objects for one request */
 	private static final ThreadLocal<List<IClusterable>> dirtyObjects = new ThreadLocal<List<IClusterable>>();
 
@@ -187,7 +189,7 @@
 	 */
 	public static boolean exists()
 	{
-		return ThreadContext.getSession() != null;
+		return current.get() != null;
 	}
 
 	/**
@@ -244,7 +246,7 @@
 	 */
 	public static Session get()
 	{
-		Session session = ThreadContext.getSession();
+		Session session = current.get();
 		if (session == null)
 		{
 			session = findOrCreate();
@@ -267,7 +269,7 @@
 			throw new IllegalArgumentException("Argument session can not be null");
 		}
 
-		ThreadContext.setSession(session);
+		current.set(session);
 
 		// execute any attach logic now
 		session.attach();
@@ -281,7 +283,7 @@
 	 */
 	public static void unset()
 	{
-		ThreadContext.setSession(null);
+		current.set(null);
 	}
 
 	/** A number to generate names for auto create pagemaps */
@@ -340,7 +342,7 @@
 	 * instance).
 	 * </p>
 	 */
-	private transient Map<String, Serializable> temporarySessionAttributes;
+	private transient Map<String, Object> temporarySessionAttributes;
 
 	/** A linked list for last used pagemap queue */
 	private final LinkedList/* <IPageMap> */<IPageMap> usedPageMaps = new LinkedList<IPageMap>();
@@ -398,7 +400,7 @@
 
 			if (temporarySessionAttributes != null)
 			{
-				for (Entry<String, Serializable> entry : temporarySessionAttributes.entrySet())
+				for (Entry<String, Object> entry : temporarySessionAttributes.entrySet())
 				{
 					store.setAttribute(request, String.valueOf(entry.getKey()), entry.getValue());
 				}
@@ -1258,7 +1260,7 @@
 	 * @param value
 	 *            The value of the attribute
 	 */
-	protected final void setAttribute(String name, Serializable value)
+	protected final void setAttribute(String name, Object value)
 	{
 		if (!isTemporary())
 		{
@@ -1297,7 +1299,7 @@
 			// session instance gets shared across threads
 			if (temporarySessionAttributes == null)
 			{
-				temporarySessionAttributes = new HashMap<String, Serializable>(3);
+				temporarySessionAttributes = new HashMap<String, Object>(3);
 			}
 			temporarySessionAttributes.put(name, value);
 		}
@@ -1394,7 +1396,7 @@
 		List<IClusterable> dirtyObjects = Session.dirtyObjects.get();
 		Session.dirtyObjects.set(null);
 
-		Map<String, Serializable> tempMap = new HashMap<String, Serializable>();
+		Map<String, Object> tempMap = new HashMap<String, Object>();
 
 		// Go through all dirty entries, replicating any dirty objects
 		if (dirtyObjects != null)
@@ -1402,7 +1404,7 @@
 			for (final Iterator<IClusterable> iterator = dirtyObjects.iterator(); iterator.hasNext();)
 			{
 				String attribute = null;
-				IClusterable object = iterator.next();
+				Object object = iterator.next();
 				if (object instanceof Page)
 				{
 					final Page page = (Page)object;
@@ -1435,7 +1437,7 @@
 		// in case we have dirty attributes, set them to session
 		if (tempMap.isEmpty() == false)
 		{
-			for (Entry<String, Serializable> entry : tempMap.entrySet())
+			for (Entry<String, Object> entry : tempMap.entrySet())
 			{
 				setAttribute(entry.getKey(), entry.getValue());
 			}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/WebPage.java Tue Oct 13 06:42:17 2009
@@ -21,6 +21,7 @@
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.Response;
@@ -30,7 +31,6 @@
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
 import org.apache.wicket.model.IModel;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.WebRequestCycle;
 import org.apache.wicket.protocol.http.WebResponse;
 import org.apache.wicket.protocol.http.request.urlcompressing.UrlCompressingWebRequestProcessor;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/Form.java Tue Oct 13 06:42:17 2009
@@ -27,6 +27,7 @@
 import org.apache.wicket.Component;
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.Request;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Response;
@@ -38,7 +39,6 @@
 import org.apache.wicket.markup.html.form.validation.IFormValidator;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.WicketURLDecoder;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/BookmarkablePageLink.java Tue Oct 13 06:42:17 2009
@@ -23,8 +23,8 @@
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.Page;
 import org.apache.wicket.PageMap;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.util.collections.MiniMap;
 import org.apache.wicket.util.lang.Classes;
 
@@ -68,8 +68,8 @@
 	{
 		if (parameters != null)
 		{
-			MiniMap<String, Object> map = new MiniMap<String, Object>(
-				parameters.getNamedParametersMap(), parameters.keySet().size());
+			MiniMap<String, Object> map = new MiniMap<String, Object>(parameters,
+				parameters.keySet().size());
 			return map;
 		}
 		else

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/link/InlineFrame.java Tue Oct 13 06:42:17 2009
@@ -19,11 +19,11 @@
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.Page;
 import org.apache.wicket.PageMap;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.util.string.Strings;
 
@@ -94,13 +94,11 @@
 				if (params == null)
 				{
 					// Create page using page factory
-					// FIXME NG MIGRATION, REQUESTABLEPAGE->PAGE
-					return (Page)Session.get().getPageFactory().newPage(c);
+					return Session.get().getPageFactory().newPage(c);
 				}
 				else
 				{
-					// FIXME NG MIGRATION, REQUESTABLEPAGE->PAGE
-					return (Page)Session.get().getPageFactory().newPage(c, params);
+					return Session.get().getPageFactory().newPage(c, params);
 				}
 			}
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java Tue Oct 13 06:42:17 2009
@@ -19,12 +19,12 @@
 import java.io.Serializable;
 
 import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.markup.html.WebComponent;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.ClientProperties;
 import org.apache.wicket.protocol.http.WebRequestCycle;
 import org.apache.wicket.protocol.http.WebSession;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/resolver/AutoLinkResolver.java Tue Oct 13 06:42:17 2009
@@ -24,6 +24,7 @@
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.ResourceReference;
 import org.apache.wicket.application.IClassResolver;
 import org.apache.wicket.markup.ComponentTag;
@@ -33,7 +34,6 @@
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.markup.html.link.ExternalLink;
 import org.apache.wicket.markup.parser.filter.WicketLinkTagHandler;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.util.lang.Packages;
 import org.apache.wicket.util.string.Strings;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/ThreadContext.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/ThreadContext.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/ThreadContext.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/ThreadContext.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.ng;
 
-import org.apache.wicket.Session;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 
 public class ThreadContext

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/form/Form.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.markup.html.form;
 
-import org.apache.wicket.ng.Component2;
+import org.apache.wicket.ng.Component;
 import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
@@ -25,7 +25,7 @@
 import org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
 import org.apache.wicket.ng.request.response.Response;
 
-public class Form extends Component2 implements IFormSubmitListener
+public class Form extends Component implements IFormSubmitListener
 {
 	private static final long serialVersionUID = 1L;
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/link/Link.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/link/Link.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/link/Link.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/markup/html/link/Link.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.markup.html.link;
 
-import org.apache.wicket.ng.Component2;
+import org.apache.wicket.ng.Component;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
@@ -27,7 +27,7 @@
 
 @SuppressWarnings("serial")
 // Very simple and naive link component
-public abstract class Link extends Component2 implements ILinkListener
+public abstract class Link extends Component implements ILinkListener
 {
 	public Link(String id)
 	{

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=824605&r1=824604&r2=824605&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 Tue Oct 13 06:42:17 2009
@@ -25,7 +25,7 @@
 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.session.ISessionStore;
+import org.apache.wicket.ng.session.SessionStore;
 
 public class MockApplication extends Application
 {
@@ -68,7 +68,7 @@
 	}
 
 	@Override
-	public ISessionStore newSessionStore()
+	protected SessionStore newSessionStore()
 	{
 		return new MockSessionStore();
 	}

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=824605&r1=824604&r2=824605&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 Tue Oct 13 06:42:17 2009
@@ -17,28 +17,23 @@
 package org.apache.wicket.ng.mock;
 
 import java.io.Serializable;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArraySet;
 
-import org.apache.wicket.IPageMap;
-import org.apache.wicket.Page;
-import org.apache.wicket.Session;
+import org.apache.wicket.ng.Session;
 import org.apache.wicket.ng.request.Request;
-import org.apache.wicket.session.ISessionStore;
-import org.apache.wicket.version.IPageVersionManager;
+import org.apache.wicket.ng.session.SessionStore;
 
 /**
  * Session store that holds one session.
  * 
  * @author Matej Knopp
  */
-public class MockSessionStore implements ISessionStore
+public class MockSessionStore implements SessionStore
 {
 
 	public MockSessionStore()
@@ -123,70 +118,4 @@
 		unboundListeners.remove(listener);
 	}
 
-	// EVERYTHING BELOW WAS AUTOMATICALLY STUBBED OUT////////////////////////////////
-
-	public void bind(org.apache.wicket.Request request, Session newSession)
-	{
-	}
-
-	public IPageMap createPageMap(String name)
-	{
-		return null;
-	}
-
-	public Serializable getAttribute(org.apache.wicket.Request request, String name)
-	{
-		return null;
-	}
-
-	public List<String> getAttributeNames(org.apache.wicket.Request request)
-	{
-		return null;
-	}
-
-	public String getSessionId(org.apache.wicket.Request request, boolean create)
-	{
-		return null;
-	}
-
-	public Collection<UnboundListener> getUnboundListeners()
-	{
-		return null;
-	}
-
-	public void invalidate(org.apache.wicket.Request request)
-	{
-	}
-
-	public Session lookup(org.apache.wicket.Request request)
-	{
-		return null;
-	}
-
-	public IPageVersionManager newVersionManager(Page page)
-	{
-		return null;
-	}
-
-	public void onBeginRequest(org.apache.wicket.Request request)
-	{
-	}
-
-	public void onEndRequest(org.apache.wicket.Request request)
-	{
-	}
-
-	public void removeAttribute(org.apache.wicket.Request request, String name)
-	{
-	}
-
-	public void setAttribute(org.apache.wicket.Request request, String name, Serializable value)
-	{
-	}
-
-	public void unbind(String sessionId)
-	{
-	}
-
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/persistent/DefaultPageStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/persistent/DefaultPageStore.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/persistent/DefaultPageStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/persistent/DefaultPageStore.java Tue Oct 13 06:42:17 2009
@@ -22,7 +22,7 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.wicket.ng.Page2;
+import org.apache.wicket.ng.Page;
 import org.apache.wicket.ng.page.ManageablePage;
 import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.lang.Objects;
@@ -214,7 +214,7 @@
 
 	public Object restoreAfterSerialization(Serializable serializable)
 	{
-		if (!storeAfterSessionReplication() || serializable instanceof Page2)
+		if (!storeAfterSessionReplication() || serializable instanceof Page)
 		{
 			return serializable;
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WebApplication.java Tue Oct 13 06:42:17 2009
@@ -29,8 +29,8 @@
 import org.apache.wicket.ng.request.handler.impl.render.WebRenderPageRequestHandlerDelegate;
 import org.apache.wicket.ng.request.mapper.SystemMapper;
 import org.apache.wicket.ng.request.response.BufferedWebResponse;
-import org.apache.wicket.protocol.http.HttpSessionStore;
-import org.apache.wicket.session.ISessionStore;
+import org.apache.wicket.ng.session.HttpSessionStore;
+import org.apache.wicket.ng.session.SessionStore;
 
 /**
  * 
@@ -40,82 +40,82 @@
 public abstract class WebApplication extends Application
 {
 
-	public WebApplication()
-	{
-		super();
-	}
-
-	@Override
-	protected void registerDefaultEncoders()
-	{
-		registerEncoder(new SystemMapper());
-	}
-
-	public void mount(RequestMapper encoder)
-	{
-		registerEncoder(encoder);
-	}
-
-	// TODO: Do this properly
-	private final Map<String, BufferedWebResponse> storedResponses = new ConcurrentHashMap<String, BufferedWebResponse>();
-
-	public boolean hasBufferedResponse(String sessionId, Url url)
-	{
-		String key = sessionId + url.toString();
-		return storedResponses.containsKey(key);
-	}
-
-	public BufferedWebResponse getAndRemoveBufferedResponse(String sessionId, Url url)
-	{
-		String key = sessionId + url.toString();
-		return storedResponses.remove(key);
-	}
-
-	public void storeBufferedResponse(String sessionId, Url url, BufferedWebResponse response)
-	{
-		String key = sessionId + url.toString();
-		storedResponses.put(key, response);
-	}
-
-	@Override
-	protected ISessionStore newSessionStore()
-	{
-		return new HttpSessionStore(this);
-	}
-
-	/**
-	 * Gets the servlet context for this application. Use this to get references to absolute paths,
-	 * global web.xml parameters (&lt;context-param&gt;), etc.
-	 * 
-	 * @return The servlet context for this application
-	 */
-	public ServletContext getServletContext()
-	{
-		if (wicketFilter != null)
-		{
-			return wicketFilter.getFilterConfig().getServletContext();
-		}
-		throw new IllegalStateException("servletContext is not set yet. Any code in your"
-			+ " Application object that uses the wicket filter instance should be put"
-			+ " in the init() method instead of your constructor");
-	}
-
-	public void setWicketFilter(WicketFilter wicketFilter)
-	{
-		this.wicketFilter = wicketFilter;
-	}
-
-	private WicketFilter wicketFilter;
-
-	@Override
-	public RenderPageRequestHandlerDelegate getRenderPageRequestHandlerDelegate(
-		RenderPageRequestHandler renderPageRequestHandler)
-	{
-		return new WebRenderPageRequestHandlerDelegate(renderPageRequestHandler);
-	}
-
-	public static WebApplication get()
-	{
-		return (WebApplication)Application.get();
-	}
+    public WebApplication()
+    {
+        super();
+    }
+
+    @Override
+    protected void registerDefaultEncoders()
+    {
+        registerEncoder(new SystemMapper());
+    }
+
+    public void mount(RequestMapper encoder)
+    {
+        registerEncoder(encoder);
+    }
+
+    // TODO: Do this properly
+    private Map<String, BufferedWebResponse> storedResponses = new ConcurrentHashMap<String, BufferedWebResponse>();
+
+    public boolean hasBufferedResponse(String sessionId, Url url)
+    {
+        String key = sessionId + url.toString();
+        return storedResponses.containsKey(key);
+    }
+
+    public BufferedWebResponse getAndRemoveBufferedResponse(String sessionId, Url url)
+    {
+        String key = sessionId + url.toString();
+        return storedResponses.remove(key);
+    }
+
+    public void storeBufferedResponse(String sessionId, Url url, BufferedWebResponse response)
+    {
+        String key = sessionId + url.toString();
+        storedResponses.put(key, response);
+    }
+
+    @Override
+    protected SessionStore newSessionStore()
+    {
+        return new HttpSessionStore(this);
+    }
+
+    /**
+     * Gets the servlet context for this application. Use this to get references to absolute paths,
+     * global web.xml parameters (&lt;context-param&gt;), etc.
+     * 
+     * @return The servlet context for this application
+     */
+    public ServletContext getServletContext()
+    {
+        if (wicketFilter != null)
+        {
+            return wicketFilter.getFilterConfig().getServletContext();
+        }
+        throw new IllegalStateException("servletContext is not set yet. Any code in your"
+                + " Application object that uses the wicket filter instance should be put"
+                + " in the init() method instead of your constructor");
+    }
+
+    public void setWicketFilter(WicketFilter wicketFilter)
+    {
+        this.wicketFilter = wicketFilter;
+    }
+
+    private WicketFilter wicketFilter;
+
+    @Override
+    public RenderPageRequestHandlerDelegate getRenderPageRequestHandlerDelegate(
+            RenderPageRequestHandler renderPageRequestHandler)
+    {
+        return new WebRenderPageRequestHandlerDelegate(renderPageRequestHandler);
+    }
+
+    public static WebApplication get()
+    {
+        return (WebApplication)Application.get();
+    }
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/PageParameters.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/PageParameters.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/PageParameters.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/PageParameters.java Tue Oct 13 06:42:17 2009
@@ -19,22 +19,15 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import org.apache.wicket.RequestCycle;
 import org.apache.wicket.ng.request.RequestMapper;
 import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.lang.Objects;
-import org.apache.wicket.util.string.IStringIterator;
-import org.apache.wicket.util.string.StringList;
 import org.apache.wicket.util.string.StringValue;
-import org.apache.wicket.util.value.ValueMap;
 
 /**
  * Mutable class that holds parameters of a Page. Page parameters consist of indexed parameters and
@@ -44,7 +37,6 @@
  * How those parameters are populated depends on the {@link RequestMapper}s
  * 
  * @author Matej Knopp
- * @author Igor Vaynberg
  */
 public class PageParameters implements Serializable
 {
@@ -75,7 +67,6 @@
 			namedParameters = new ArrayList<Entry>(copy.namedParameters);
 	}
 
-
 	private List<String> indexedParameters = null;
 
 	private static class Entry implements Serializable
@@ -413,390 +404,4 @@
 	{
 		return getIndexedParamsCount() == 0 && getNamedParameterKeys().isEmpty();
 	}
-
-
-	/**
-	 * Removes a named parameter
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * @param parameterName
-	 * @return old value if any or <code>null</code>
-	 */
-	@Deprecated
-	public String put(String parameterName, Object value)
-	{
-		String old = getNamedParameter(parameterName).toString();
-		if (old != null)
-		{
-			removeNamedParameter(parameterName);
-		}
-		setNamedParameter(parameterName, value);
-		return old;
-	}
-
-	/**
-	 * Removes a named parameter
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * @param parameterName
-	 * @return old value if any or <code>null</code>
-	 */
-	@Deprecated
-	public String remove(String parameterName)
-	{
-		String old = getNamedParameter(parameterName).toString();
-		removeNamedParameter(parameterName);
-		return old;
-	}
-
-	/**
-	 * Constructor
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * @param params
-	 */
-	@Deprecated
-	public PageParameters(Map<String, ?> parameters)
-	{
-		this(new ValueMap(parameters));
-	}
-
-
-	/**
-	 * Constructor
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * @param params
-	 */
-	@Deprecated
-	public PageParameters(ValueMap params)
-	{
-		for (Map.Entry<String, Object> param : params.entrySet())
-		{
-			if (param.getValue() instanceof String[])
-			{
-				for (String value : (String[])param.getValue())
-				{
-					addNamedParameter(param.getKey(), value);
-				}
-			}
-			else
-			{
-				addNamedParameter(param.getKey(), param.getValue());
-			}
-		}
-	}
-
-
-	public PageParameters(String string)
-	{
-		setOnRequestCycle();
-
-		// We can not use ValueMaps constructor as it uses
-		// VariableAssignmentParser which is more suitable for markup
-		// attributes, rather than URL parameters. URL param keys for
-		// examples are allowed to start with a digit (e.g. 0=xxx)
-		// and quotes are not "quotes".
-
-		// Get list of strings separated by the delimiter
-		final StringList pairs = StringList.tokenize(string, ",");
-
-		// Go through each string in the list
-		for (IStringIterator iterator = pairs.iterator(); iterator.hasNext();)
-		{
-			// Get the next key value pair
-			final String pair = iterator.next();
-
-			final int pos = pair.indexOf('=');
-			if (pos == 0)
-			{
-				throw new IllegalArgumentException("URL parameter is missing the lvalue: " + pair);
-			}
-			else if (pos != -1)
-			{
-				final String key = pair.substring(0, pos).trim();
-				final String value = pair.substring(pos + 1).trim();
-
-				add(key, value);
-			}
-			else
-			{
-				final String key = pair.trim();
-				final String value = null;
-
-				add(key, value);
-			}
-		}
-	}
-
-	/**
-	 * Creates a named-parameter map
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public Map<String, String[]> getNamedParametersMap()
-	{
-		Map<String, String[]> map = new HashMap<String, String[]>();
-		for (String name : getNamedParameterKeys())
-		{
-			List<String> vals = new ArrayList<String>();
-			for (StringValue sv : getNamedParameters(name))
-			{
-				vals.add(sv.toString());
-			}
-			map.put(name, vals.toArray(new String[0]));
-		}
-		return map;
-	}
-
-	/**
-	 * Adds named parameter
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public void add(String name, Object value)
-	{
-		addNamedParameter(name, value);
-	}
-
-
-	/**
-	 * Gets keyset of named parameters
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public Set<String> keySet()
-	{
-		return new HashSet<String>(getNamedParameterKeys());
-	}
-
-	/**
-	 * Gets named parameter
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public Object get(String name)
-	{
-		return getNamedParameter(name).toString();
-	}
-
-	/**
-	 * Gets named parameter value array
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public String[] getStringArray(String name)
-	{
-		List<String> vals = new ArrayList<String>();
-		for (StringValue value : getNamedParameters(name))
-		{
-			vals.add(value.toString());
-		}
-		return vals.toArray(new String[0]);
-	}
-
-	/**
-	 * Gets number of named parameters
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public int size()
-	{
-		return getNamedParameterKeys().size();
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public boolean containsKey(String key)
-	{
-		return getNamedParameterKeys().contains(key);
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public String getString(String uri)
-	{
-		return getNamedParameter(uri).toString();
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 */
-	@Deprecated
-	public ValueMap toValueMap()
-	{
-		return new ValueMap(getNamedParametersMap());
-	}
-
-	public void putAll(Map<String, ?> urlParameters)
-	{
-		for (Map.Entry<String, ?> param : urlParameters.entrySet())
-		{
-			add(param.getKey(), param.getValue());
-		}
-	}
-
-	/**
-	 * Converts page parameters to servlet request parameters
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * @return request parameters map
-	 */
-	@Deprecated
-	public Map<String, String[]> toRequestParameters()
-	{
-		Map<String, String[]> params = new HashMap<String, String[]>(size());
-		for (Map.Entry<String, Object> entry : toValueMap().entrySet())
-		{
-			if (entry.getValue() == null)
-			{
-				params.put(entry.getKey(), null);
-			}
-			else if (entry.getValue().getClass().isArray())
-			{
-				final Object[] arr = (Object[])entry.getValue();
-				final String[] str = new String[arr.length];
-				for (int i = 0; i < arr.length; i++)
-				{
-					str[i] = arr[i].toString();
-				}
-				params.put(entry.getKey(), str);
-			}
-			else
-			{
-				params.put(entry.getKey(), new String[] { entry.getValue().toString() });
-			}
-		}
-		return params;
-	}
-
-	/**
-	 * Set this on request cycle. The RequestCycle will decide whether to keep it as a reference or
-	 * not.
-	 * 
-	 * @see RequestCycle#setPageParameters(PageParameters)
-	 */
-	private void setOnRequestCycle()
-	{
-		RequestCycle cycle = RequestCycle.get();
-		if (cycle != null)
-		{
-			cycle.setPageParameters(this);
-		}
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * 
-	 * @param string
-	 * @param b
-	 * @return
-	 */
-	@Deprecated
-	public boolean getAsBoolean(String string, boolean def)
-	{
-		return getNamedParameter(string).toBoolean();
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * 
-	 * @param string
-	 * @param b
-	 * @return
-	 */
-	@Deprecated
-	public boolean getBoolean(String string)
-	{
-		return getNamedParameter(string).toBoolean();
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * 
-	 * @param string
-	 * @param b
-	 * @return
-	 */
-	@Deprecated
-	public int getInt(String string)
-	{
-		return getNamedParameter(string).toInt();
-	}
-
-	/**
-	 * TODO NG MIGRATION
-	 * 
-	 * @deprecated compatibility with old pageparameters
-	 * 
-	 * 
-	 * @param string
-	 * @param b
-	 * @return
-	 */
-	@Deprecated
-	public long getLong(String string)
-	{
-		return getNamedParameter(string).toLong();
-	}
-
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/component/RequestablePage.java Tue Oct 13 06:42:17 2009
@@ -28,50 +28,47 @@
 public interface RequestablePage extends RequestableComponent, ManageablePage
 {
 
-	/**
-	 * Renders the page
-	 */
-	public void renderPage();
-
-	/**
-	 * Bookmarkable page can be instantiated using a bookmarkable URL.
-	 * 
-	 * @return Returns true if the page is bookmarkable.
-	 */
-	public boolean isBookmarkable();
-
-	/**
-	 * Returns the number of times this page has been rendered. The number will be appended to
-	 * listener interface links in order to prevent invoking listeners from staled page version.
-	 * <p>
-	 * For example a same page might have been rendered in two separate tabs. Page render doesn't
-	 * change page id but it can modify component hierarchy. Listener interface links on such page
-	 * should only work in tab where the page was rendered most recently.
-	 * 
-	 * @return render count
-	 */
-	public int getRenderCount();
-
-	/**
-	 * Returns whether the page instance was created by a bookmarkable URL. Non mounted pages have
-	 * to be created using bookmarkable URL in order to have hybrid URLs later. Otherwise it would
-	 * be a potential security risk.
-	 * 
-	 * @return <code>true</code> if this page has been created by a bookmarkable URL,
-	 *         <code>false</code> otherwise.
-	 */
-	public boolean wasCreatedBookmarkable();
-
-
-	/**
-	 * Returns the {@link PageParameters} for the page. Each bookmarkable page instance should have
-	 * {@link PageParameters} associated with it. The page parameters are initialized from URL when
-	 * page is created and are updated on every page render request.
-	 * 
-	 * @return page parameters or <code>null</code>
-	 */
-	public PageParameters getPageParameters();
-
-	/** TODO javadoc */
-	public void setWasCreatedBookmarkable(boolean b);
+    /**
+     * Renders the page
+     */
+    public void renderPage();
+
+    /**
+     * Bookmarkable page can be instantiated using a bookmarkable URL.
+     * 
+     * @return Returns true if the page is bookmarkable.
+     */
+    public boolean isBookmarkable();
+
+    /**
+     * Returns the number of times this page has been rendered. The number will be appended to
+     * listener interface links in order to prevent invoking listeners from staled page version.
+     * <p>
+     * For example a same page might have been rendered in two separate tabs. Page render doesn't
+     * change page id but it can modify component hierarchy. Listener interface links on such page
+     * should only work in tab where the page was rendered most recently.
+     * 
+     * @return render count
+     */
+    public int getRenderCount();
+
+    /**
+     * Returns whether the page instance was created by a bookmarkable URL. Non mounted pages have
+     * to be created using bookmarkable URL in order to have hybrid URLs later. Otherwise it would
+     * be a potential security risk.
+     * 
+     * @return <code>true</code> if this page has been created by a bookmarkable URL,
+     *         <code>false</code> otherwise.
+     */
+    public boolean wasCreatedBookmarkable();
+
+
+    /**
+     * Returns the {@link PageParameters} for the page. Each bookmarkable page instance should have
+     * {@link PageParameters} associated with it. The page parameters are initialized from URL when
+     * page is created and are updated on every page render request.
+     * 
+     * @return page parameters or <code>null</code>
+     */
+    public PageParameters getPageParameters();
 }

Modified: 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=824605&r1=824604&r2=824605&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/PageProvider.java Tue Oct 13 06:42:17 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.ng.request.handler;
 
 import org.apache.wicket.ng.Application;
-import org.apache.wicket.ng.Page2;
+import org.apache.wicket.ng.Page;
 import org.apache.wicket.ng.page.PageManager;
 import org.apache.wicket.ng.request.RequestHandler;
 import org.apache.wicket.ng.request.RequestMapper;
@@ -246,9 +246,9 @@
 			{
 				page = getPageSource().newPageInstance(pageClass, pageParameters);
 				freshCreated = true;
-				if (prepareForRenderNewPage() && page instanceof Page2)
+				if (prepareForRenderNewPage() && page instanceof Page)
 				{
-					((Page2)page).prepareForRender(false);
+					((Page)page).prepareForRender(false);
 				}
 			}
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/WebRenderPageRequestHandlerDelegate.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/WebRenderPageRequestHandlerDelegate.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/WebRenderPageRequestHandlerDelegate.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/WebRenderPageRequestHandlerDelegate.java Tue Oct 13 06:42:17 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.ng.request.handler.impl.render;
 
 import org.apache.wicket.ng.Application;
-import org.apache.wicket.ng.ThreadContext;
+import org.apache.wicket.ng.Session;
 import org.apache.wicket.ng.protocol.http.WebApplication;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.RequestablePage;
@@ -66,12 +66,12 @@
 
 	protected String getSessionId()
 	{
-		return ThreadContext.getSession().getId();
+		return Session.get().getId();
 	}
 
 	protected boolean isSessionTemporary()
 	{
-		return ThreadContext.getSession().isTemporary();
+		return Session.get().isTemporary();
 	}
 
 	protected BufferedWebResponse getAndRemoveBufferedResponse(Url url)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper;
 
-import org.apache.wicket.ng.ThreadContext;
+import org.apache.wicket.ng.Session;
 import org.apache.wicket.ng.protocol.http.WebApplication;
 import org.apache.wicket.ng.request.Request;
 import org.apache.wicket.ng.request.RequestHandler;
@@ -40,7 +40,7 @@
 
 	protected String getSessionId()
 	{
-		return ThreadContext.getSession().getId();
+		return Session.get().getId();
 	}
 
 	protected boolean hasBufferedResponse(Url url)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/ApplicationSettings.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/ApplicationSettings.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/ApplicationSettings.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/ApplicationSettings.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.settings;
 
-import org.apache.wicket.application.IClassResolver;
+import org.apache.wicket.ng.application.ClassResolver;
 
 public interface ApplicationSettings
 {
@@ -25,7 +25,7 @@
 	 * 
 	 * @return Default class resolver
 	 */
-	IClassResolver getClassResolver();
+	ClassResolver getClassResolver();
 
 	/**
 	 * Sets the default class resolver to use when finding classes and resources
@@ -33,5 +33,5 @@
 	 * @param defaultClassResolver
 	 *            The default class resolver
 	 */
-	void setClassResolver(final IClassResolver defaultClassResolver);
+	void setClassResolver(final ClassResolver defaultClassResolver);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/AbstractHttpSessionStore.java Tue Oct 13 06:42:17 2009
@@ -17,10 +17,6 @@
 package org.apache.wicket.protocol.http;
 
 import java.io.Serializable;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
 
 import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpSessionBindingEvent;
@@ -98,13 +94,7 @@
 				Application application = Application.get(applicationKey);
 				if (application != null)
 				{
-					ISessionStore sessionStore = application.getSessionStore();
-					sessionStore.unbind(sessionId);
-
-					for (UnboundListener listener : sessionStore.getUnboundListeners())
-					{
-						listener.sessionUnbound(sessionId);
-					}
+					application.getSessionStore().unbind(sessionId);
 				}
 			}
 		}
@@ -339,25 +329,4 @@
 		}
 		return (WebRequest)request;
 	}
-
-	/** TODO javadoc */
-	private final Set<UnboundListener> unboundListeners = new CopyOnWriteArraySet<UnboundListener>();
-
-	/** TODO javadoc */
-	public void registerUnboundListener(UnboundListener listener)
-	{
-		unboundListeners.add(listener);
-	}
-
-	/** TODO javadoc */
-	public void unregisterUnboundListener(UnboundListener listener)
-	{
-		unboundListeners.remove(listener);
-	}
-
-	/** TODO javadoc */
-	public Collection<org.apache.wicket.session.ISessionStore.UnboundListener> getUnboundListeners()
-	{
-		return Collections.unmodifiableCollection(unboundListeners);
-	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HttpSessionStore.java Tue Oct 13 06:42:17 2009
@@ -16,7 +16,6 @@
  */
 package org.apache.wicket.protocol.http;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.List;
@@ -28,8 +27,6 @@
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.Request;
 import org.apache.wicket.Session;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 
 /**
@@ -37,15 +34,9 @@
  * {@link javax.servlet.http.HttpSession} to store its attributes.
  * 
  * @author Eelco Hillenius
- * @author Matej Knopp
- * @author Igor Vaynberg
  */
 public class HttpSessionStore extends AbstractHttpSessionStore
 {
-
-	/** log. */
-	private static Logger logger = LoggerFactory.getLogger(HttpSessionStore.class);
-
 	/**
 	 * Construct.
 	 * 
@@ -66,16 +57,16 @@
 	}
 
 	/**
-	 * @{inheritDoc
+	 * @see org.apache.wicket.session.ISessionStore#getAttribute(org.apache.wicket.Request,
+	 *      java.lang.String)
 	 */
-	public Serializable getAttribute(Request request, String name)
+	public Object getAttribute(Request request, String name)
 	{
 		WebRequest webRequest = toWebRequest(request);
 		HttpSession httpSession = getHttpSession(webRequest);
 		if (httpSession != null)
 		{
-			return (Serializable)httpSession.getAttribute(getSessionAttributePrefix(webRequest) +
-				name);
+			return httpSession.getAttribute(getSessionAttributePrefix(webRequest) + name);
 		}
 		return null;
 	}
@@ -138,7 +129,7 @@
 	 * @see org.apache.wicket.session.ISessionStore#setAttribute(Request,java.lang.String,
 	 *      java.lang.Object)
 	 */
-	public void setAttribute(Request request, String name, Serializable value)
+	public void setAttribute(Request request, String name, Object value)
 	{
 		// ignore call if the session was marked invalid
 		if (!isSessionValid())
@@ -199,6 +190,4 @@
 		return true; // we simply don't know, so play safe and rely on
 		// servlet container's code to check availability
 	}
-
-
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/MockWebApplication.java Tue Oct 13 06:42:17 2009
@@ -35,9 +35,9 @@
 import org.apache.wicket.IPageMap;
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.html.pages.ExceptionErrorPage;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.request.WebErrorCodeResponseTarget;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.request.target.coding.WebRequestEncoder;
@@ -595,15 +595,13 @@
 					PageParameters parameters = pageClassRequestTarget.getPageParameters();
 					if (parameters == null || parameters.size() == 0)
 					{
-						// FIXME NG MIGRATION, REQUESTABLEPAGE->PAGE
-						newLastRenderedPage = (Page)application.getSessionSettings()
+						newLastRenderedPage = application.getSessionSettings()
 							.getPageFactory()
 							.newPage(pageClass);
 					}
 					else
 					{
-						// FIXME NG MIGRATION, REQUESTABLEPAGE->PAGE
-						newLastRenderedPage = (Page)application.getSessionSettings()
+						newLastRenderedPage = application.getSessionSettings()
 							.getPageFactory()
 							.newPage(pageClass, parameters);
 					}
@@ -764,6 +762,4 @@
 	{
 		this.createAjaxRequest = createAjaxRequest;
 	}
-
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/RequestUtils.java Tue Oct 13 06:42:17 2009
@@ -25,7 +25,6 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.RequestCycle;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.value.ValueMap;
 
@@ -63,41 +62,6 @@
 	}
 
 	/**
-	 * Decode the provided queryString as a series of key/ value pairs and set them in the provided
-	 * value map.
-	 * 
-	 * TODO NG MIGRATION
-	 * 
-	 * @param queryString
-	 *            string to decode, uses '&' to separate parameters and '=' to separate key from
-	 *            value
-	 * @param params
-	 *            parameters map to write the found key/ value pairs to
-	 * 
-	 * 
-	 * @deprecated
-	 * 
-	 */
-	@Deprecated
-	public static void decodeParameters(String queryString, PageParameters params)
-	{
-		final String[] paramTuples = queryString.split("&");
-		for (int t = 0; t < paramTuples.length; t++)
-		{
-			final String[] bits = paramTuples[t].split("=");
-			if (bits.length == 2)
-			{
-				params.add(WicketURLDecoder.QUERY_INSTANCE.decode(bits[0]),
-					WicketURLDecoder.QUERY_INSTANCE.decode(bits[1]));
-			}
-			else
-			{
-				params.add(WicketURLDecoder.QUERY_INSTANCE.decode(bits[0]), "");
-			}
-		}
-	}
-
-	/**
 	 * decores url parameters form <code>queryString</code> into <code>parameters</code> map
 	 * 
 	 * @param queryString

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/SecondLevelCacheSessionStore.java Tue Oct 13 06:42:17 2009
@@ -747,7 +747,7 @@
 	 *      java.lang.String, java.lang.Object)
 	 */
 	@Override
-	public void setAttribute(Request request, String name, Serializable value)
+	public void setAttribute(Request request, String name, Object value)
 	{
 		// ignore all pages, they are stored through the pagemap
 		if (!(value instanceof Page))

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/request/WebRequestCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -32,6 +32,7 @@
 import org.apache.wicket.IResourceListener;
 import org.apache.wicket.Page;
 import org.apache.wicket.PageMap;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.Request;
 import org.apache.wicket.RequestContext;
@@ -43,7 +44,6 @@
 import org.apache.wicket.behavior.IActivePageBehaviorListener;
 import org.apache.wicket.behavior.IBehavior;
 import org.apache.wicket.behavior.IBehaviorListener;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.WebRequestCycle;
 import org.apache.wicket.protocol.http.portlet.PortletRequestContext;
 import org.apache.wicket.request.IRequestCodingStrategy;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/AbstractRequestCycleProcessor.java Tue Oct 13 06:42:17 2009
@@ -23,6 +23,7 @@
 import org.apache.wicket.IRedirectListener;
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestContext;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RequestListenerInterface;
@@ -35,7 +36,6 @@
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.html.INewBrowserWindowListener;
 import org.apache.wicket.markup.html.pages.ExceptionErrorPage;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.WebResponse;
 import org.apache.wicket.protocol.http.request.WebErrorCodeResponseTarget;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/basic/URIRequestTargetUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -23,7 +23,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.IRequestTarget;
-import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/AbstractRequestTargetUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -20,7 +20,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.WicketURLDecoder;
 import org.apache.wicket.protocol.http.WicketURLEncoder;
 import org.apache.wicket.protocol.http.servlet.AbortWithWebErrorCodeException;
@@ -111,24 +110,6 @@
 		}
 	}
 
-	/**
-	 * Encodes PageParameters into a url fragment and append that to the provided url buffer.
-	 * 
-	 * @param url
-	 *            url so far
-	 * 
-	 * @param parameters
-	 *            Map object to be encoded
-	 * 
-	 * @deprecated NG MIGRATION
-	 */
-	@Deprecated
-	protected void appendParameters(AppendingStringBuffer url, PageParameters parameters)
-	{
-		appendParameters(url, parameters.getNamedParametersMap());
-	}
-
-
 	private void appendValue(AppendingStringBuffer url, String key, String value)
 	{
 		String escapedValue = urlEncodePathComponent(value);

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/BookmarkablePageRequestTargetUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -20,7 +20,7 @@
 
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.Page;
-import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/HybridUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -23,9 +23,9 @@
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.MetaDataKey;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.Session;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedHybridUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -18,8 +18,8 @@
 
 import java.util.Map;
 
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.value.ValueMap;
@@ -87,7 +87,7 @@
 		PageParameters params = new PageParameters();
 		if (urlFragment == null)
 		{
-			return params.toValueMap();
+			return params;
 		}
 		if (urlFragment.startsWith("/"))
 		{
@@ -115,7 +115,7 @@
 				}
 			}
 		}
-		return params.toValueMap();
+		return params;
 	}
 
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedParamUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedParamUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedParamUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/IndexedParamUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -19,8 +19,8 @@
 import java.util.Map;
 
 import org.apache.wicket.PageMap;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.value.ValueMap;
@@ -132,7 +132,7 @@
 		PageParameters params = new PageParameters();
 		if (urlFragment == null)
 		{
-			return params.toValueMap();
+			return params;
 		}
 		if (urlFragment.startsWith("/"))
 		{
@@ -167,7 +167,7 @@
 				}
 			}
 		}
-		return params.toValueMap();
+		return params;
 	}
 
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamHybridUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamHybridUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamHybridUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamHybridUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -23,8 +23,8 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.Strings;
@@ -34,8 +34,8 @@
 
 /**
  * Url coding strategy for bookmarkable pages with Ajax components that encodes a set of given
- * parameters in the url's path and the rest in the query-string. In addition, the page version is
- * added to the end of the url's path.
+ * parameters in the url's path and the rest in the query-string. In addition, the page version
+ * is added to the end of the url's path.
  * <p/>
  * Strategy looks for path-parameters whose name is read from an array of names e.g. ["param0",
  * "param1"]. Found parameters will be appended to the url in the form
@@ -48,195 +48,179 @@
  * encode. For example, the names for the path parameters are: "a", "b" and "c". When "b" is not
  * specified upon encoding, but "c" is, upon a decode "b" will get the empty string as value. When
  * both "b" and "c" are missing on encode, the will not get a value during decode.
- * 
+ *
  * @author erik.van.oosten
  * @see MixedParamUrlCodingStrategy
  */
 public class MixedParamHybridUrlCodingStrategy extends HybridUrlCodingStrategy
 {
-	private static Logger logger = LoggerFactory.getLogger(MixedParamHybridUrlCodingStrategy.class);
+    private static Logger logger = LoggerFactory.getLogger(MixedParamHybridUrlCodingStrategy.class);
 
-	private final String[] parameterNames;
-	private boolean ignoreUndeclaredParameters = true;
+    private final String[] parameterNames;
+    private boolean ignoreUndeclaredParameters = true;
 
-	/**
-	 * Construct.
-	 * 
-	 * @param mountPath
-	 *            mount path
-	 * @param pageClass
-	 *            class of mounted page
-	 * @param redirectOnBookmarkableRequest
-	 *            whether after hitting the page with URL in bookmarkable form it should be
-	 *            redirected to hybrid URL - needed for ajax to work properly after page refresh
-	 * @param parameterNames
-	 *            the parameter names (not null)
-	 */
-	public MixedParamHybridUrlCodingStrategy(String mountPath, Class<? extends Page> pageClass,
-		boolean redirectOnBookmarkableRequest, String[] parameterNames)
-	{
-		super(mountPath, pageClass, redirectOnBookmarkableRequest);
-		this.parameterNames = parameterNames;
-	}
-
-	/**
-	 * Construct.
-	 * 
-	 * @param mountPath
-	 *            mount path
-	 * @param pageClass
-	 *            class of mounted page
-	 * @param parameterNames
-	 *            the parameter names (not null)
-	 */
-	public MixedParamHybridUrlCodingStrategy(String mountPath, Class<? extends Page> pageClass,
-		String[] parameterNames)
-	{
-		super(mountPath, pageClass);
-		this.parameterNames = parameterNames;
-	}
-
-	/**
-	 * @param ignoreUndeclaredParameters
-	 *            true to ignore undeclared parameters in the URL (still logged), false to throw an
-	 *            exception when this happens (default is true)
-	 * @return this
-	 */
-	public MixedParamHybridUrlCodingStrategy setIgnoreUndeclaredParameters(
-		boolean ignoreUndeclaredParameters)
-	{
-		this.ignoreUndeclaredParameters = ignoreUndeclaredParameters;
-		return this;
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	protected void appendParameters(AppendingStringBuffer url, Map<String, ?> parameters)
-	{
-		if (!url.endsWith("/"))
-		{
-			url.append("/");
-		}
-
-		Set<String> parameterNamesToAdd = new HashSet<String>(parameters.keySet());
-
-		// Find index of last specified parameter
-		boolean foundParameter = false;
-		int lastSpecifiedParameter = parameterNames.length;
-		while (lastSpecifiedParameter != 0 && !foundParameter)
-		{
-			foundParameter = parameters.containsKey(parameterNames[--lastSpecifiedParameter]);
-		}
-
-		if (foundParameter)
-		{
-			for (int i = 0; i <= lastSpecifiedParameter; i++)
-			{
-				String parameterName = parameterNames[i];
-				final Object param = parameters.get(parameterName);
-				String value = param instanceof String[] ? ((String[])param)[0] : (String)param;
-				if (value == null)
-				{
-					value = "";
-				}
-				if (!url.endsWith("/"))
-				{
-					url.append("/");
-				}
-				url.append(urlEncodePathComponent(value));
-				parameterNamesToAdd.remove(parameterName);
-			}
-		}
-
-		if (!parameterNamesToAdd.isEmpty())
-		{
-			boolean first = true;
-			for (String parameterName : parameterNamesToAdd)
-			{
-				url.append(first ? '?' : '&');
-				final Object param = parameters.get(parameterName);
-				String value = param instanceof String[] ? ((String[])param)[0]
-					: String.valueOf(param);
-				url.append(urlEncodeQueryComponent(parameterName)).append("=").append(
-					urlEncodeQueryComponent(value));
-				first = false;
-			}
-		}
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	protected String addPageInfo(String url, PageInfo pageInfo)
-	{
-		if (pageInfo == null)
-		{
-			return url;
-		}
-		else
-		{
-			// Insert the page info at the and of the path and before the querystring.
-			if (url.indexOf('?') == -1)
-			{
-				return url + getBeginSeparator() + pageInfo.toString() + getEndSeparator();
-			}
-			else
-			{
-				return Strings.firstPathComponent(url, '?') + getBeginSeparator() +
-					pageInfo.toString() + getEndSeparator() + '?' +
-					Strings.afterFirstPathComponent(url, '?');
-			}
-		}
-	}
-
-	/** {@inheritDoc} */
-	@Override
-	protected ValueMap decodeParameters(String urlFragment, Map<String, ?> urlParameters)
-	{
-		PageParameters params = new PageParameters();
-		// Add all url parameters
-		params.putAll(urlParameters);
-		String urlPath = urlFragment;
-		if (urlPath.startsWith("/"))
-		{
-			urlPath = urlPath.substring(1);
-		}
-
-		if (urlPath.length() > 0)
-		{
-			String[] pathParts = urlPath.split("/");
-			if (pathParts.length > parameterNames.length)
-			{
-				// Some known causes of this situation:
-				// - user edits the URL manually
-				// - a javascript requests resources relative to the current page instead of to the
-				// web context
-				String msg = String.format(
-					"Found more URL path parts then expected, these will be ignored. Url: '%s', mountpath: '%s', urlPath: '%s', expected %d parameters was %d",
-					getRequestUrl(), getMountPath(), urlPath, parameterNames.length,
-					pathParts.length);
-				if (ignoreUndeclaredParameters)
-				{
-					logger.info(msg);
-				}
-				else
-				{
-					throw new IllegalArgumentException(msg);
-				}
-			}
-
-			int actualParameterCount = Math.min(pathParts.length, parameterNames.length);
-			for (int i = 0; i < actualParameterCount; i++)
-			{
-				params.put(parameterNames[i], urlDecodePathComponent(pathParts[i]));
-			}
-		}
-
-		return params.toValueMap();
-	}
-
-	private String getRequestUrl()
-	{
-		HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
-		return request.getRequestURL().toString();
-	}
+    /**
+     * Construct.
+     *
+     * @param mountPath mount path
+     * @param pageClass class of mounted page
+     * @param redirectOnBookmarkableRequest
+     *            whether after hitting the page with URL in bookmarkable form it should be
+     *            redirected to hybrid URL - needed for ajax to work properly after page refresh
+     * @param parameterNames the parameter names (not null)
+     */
+    public MixedParamHybridUrlCodingStrategy(
+            String mountPath, Class<? extends Page> pageClass,
+            boolean redirectOnBookmarkableRequest, String[] parameterNames)
+    {
+        super(mountPath, pageClass, redirectOnBookmarkableRequest);
+        this.parameterNames = parameterNames;
+    }
+
+    /**
+     * Construct.
+     *
+     * @param mountPath mount path
+     * @param pageClass class of mounted page
+     * @param parameterNames the parameter names (not null)
+     */
+    public MixedParamHybridUrlCodingStrategy(String mountPath, Class<? extends Page> pageClass, String[] parameterNames)
+    {
+        super(mountPath, pageClass);
+        this.parameterNames = parameterNames;
+    }
+
+    /**
+     * @param ignoreUndeclaredParameters true to ignore undeclared parameters in
+     *            the URL (still logged), false to throw an exception when this
+     *            happens (default is true)
+     * @return this
+     */
+    public MixedParamHybridUrlCodingStrategy setIgnoreUndeclaredParameters(boolean ignoreUndeclaredParameters)
+    {
+        this.ignoreUndeclaredParameters = ignoreUndeclaredParameters;
+        return this;
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected void appendParameters(AppendingStringBuffer url, Map<String, ?> parameters)
+    {
+        if (!url.endsWith("/"))
+        {
+            url.append("/");
+        }
+
+        Set<String> parameterNamesToAdd = new HashSet<String>(parameters.keySet());
+
+        // Find index of last specified parameter
+        boolean foundParameter = false;
+        int lastSpecifiedParameter = parameterNames.length;
+        while (lastSpecifiedParameter != 0 && !foundParameter)
+        {
+            foundParameter = parameters.containsKey(parameterNames[--lastSpecifiedParameter]);
+        }
+
+        if (foundParameter) {
+            for (int i = 0; i <= lastSpecifiedParameter; i++)
+            {
+                String parameterName = parameterNames[i];
+                final Object param = parameters.get(parameterName);
+                String value = param instanceof String[] ? ((String[])param)[0] : (String)param;
+                if (value == null)
+                {
+                    value = "";
+                }
+                if (!url.endsWith("/"))
+                {
+                    url.append("/");
+                }
+                url.append(urlEncodePathComponent(value));
+                parameterNamesToAdd.remove(parameterName);
+            }
+        }
+
+        if (!parameterNamesToAdd.isEmpty())
+        {
+            boolean first = true;
+            for (String parameterName : parameterNamesToAdd)
+            {
+                url.append(first ? '?' : '&');
+                 final Object param = parameters.get(parameterName);
+                String value = param instanceof String[] ? ((String[])param)[0] : String.valueOf(param);
+                url.append(urlEncodeQueryComponent(parameterName)).append("=").append(urlEncodeQueryComponent(value));
+                first = false;
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected String addPageInfo(String url, PageInfo pageInfo)
+    {
+        if (pageInfo == null)
+        {
+            return url;
+        }
+        else
+        {
+            // Insert the page info at the and of the path and before the querystring.
+            if (url.indexOf('?') == -1)
+            {
+                return url + getBeginSeparator() + pageInfo.toString() + getEndSeparator();
+            }
+            else
+            {
+                return Strings.firstPathComponent(url, '?') + getBeginSeparator() + pageInfo.toString() + getEndSeparator() + '?' + Strings.afterFirstPathComponent(url, '?');
+            }
+        }
+    }
+
+    /** {@inheritDoc} */
+    @Override
+    protected ValueMap decodeParameters(String urlFragment, Map<String, ?> urlParameters)
+    {
+        PageParameters params = new PageParameters();
+        // Add all url parameters
+        params.putAll(urlParameters);
+        String urlPath = urlFragment;
+        if (urlPath.startsWith("/"))
+        {
+            urlPath = urlPath.substring(1);
+        }
+
+        if (urlPath.length() > 0)
+        {
+            String[] pathParts = urlPath.split("/");
+            if (pathParts.length > parameterNames.length)
+            {
+                // Some known causes of this situation:
+                // - user edits the URL manually
+                // - a javascript requests resources relative to the current page instead of to the web context
+                String msg = String.format("Found more URL path parts then expected, these will be ignored. Url: '%s', mountpath: '%s', urlPath: '%s', expected %d parameters was %d", getRequestUrl(), getMountPath(), urlPath, parameterNames.length, pathParts.length);
+                if (ignoreUndeclaredParameters)
+                {
+                    logger.info(msg);
+                }
+                else
+                {
+                    throw new IllegalArgumentException(msg);
+                }
+            }
+
+            int actualParameterCount = Math.min(pathParts.length, parameterNames.length);
+            for (int i = 0; i < actualParameterCount; i++)
+            {
+                params.put(parameterNames[i], urlDecodePathComponent(pathParts[i]));
+            }
+        }
+
+        return params;
+    }
+
+    private String getRequestUrl()
+    {
+        HttpServletRequest request = ((WebRequest) RequestCycle.get().getRequest()).getHttpServletRequest();
+        return request.getRequestURL().toString();
+    }
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/MixedParamUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -24,8 +24,8 @@
 
 import org.apache.wicket.Page;
 import org.apache.wicket.PageMap;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.WebRequest;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.value.ValueMap;
@@ -52,10 +52,10 @@
  */
 public class MixedParamUrlCodingStrategy extends BookmarkablePageRequestTargetUrlCodingStrategy
 {
-	private static Logger logger = LoggerFactory.getLogger(MixedParamUrlCodingStrategy.class);
+    private static Logger logger = LoggerFactory.getLogger(MixedParamUrlCodingStrategy.class);
 
-	private final String[] parameterNames;
-	private boolean ignoreUndeclaredParameters = true;
+    private final String[] parameterNames;
+    private boolean ignoreUndeclaredParameters = true;
 
 	/**
 	 * Construct.
@@ -95,18 +95,17 @@
 		this.parameterNames = parameterNames;
 	}
 
-	/**
-	 * @param ignoreUndeclaredParameters
-	 *            true to ignore undeclared parameters in the URL (still logged), false to throw an
-	 *            exception when this happens (default is true)
-	 * @return this
-	 */
-	public MixedParamUrlCodingStrategy setIgnoreUndeclaredParameters(
-		boolean ignoreUndeclaredParameters)
-	{
-		this.ignoreUndeclaredParameters = ignoreUndeclaredParameters;
-		return this;
-	}
+    /**
+     * @param ignoreUndeclaredParameters true to ignore undeclared parameters in
+     *            the URL (still logged), false to throw an exception when this
+     *            happens (default is true)
+     * @return this
+     */
+    public MixedParamUrlCodingStrategy setIgnoreUndeclaredParameters(boolean ignoreUndeclaredParameters)
+    {
+        this.ignoreUndeclaredParameters = ignoreUndeclaredParameters;
+        return this;
+    }
 
 	/**
 	 * @see org.apache.wicket.request.target.coding.AbstractRequestTargetUrlCodingStrategy#appendParameters(org.apache.wicket.util.string.AppendingStringBuffer,
@@ -157,8 +156,7 @@
 			{
 				url.append(first ? '?' : '&');
 				final Object param = parameters.get(parameterName);
-				String value = param instanceof String[] ? ((String[])param)[0]
-					: String.valueOf(param);
+				String value = param instanceof String[] ? ((String[])param)[0] : String.valueOf(param);
 				url.append(urlEncodeQueryComponent(parameterName)).append("=").append(
 					urlEncodeQueryComponent(value));
 				first = false;
@@ -187,37 +185,29 @@
 			String[] pathParts = urlPath.split("/");
 			if (pathParts.length > parameterNames.length)
 			{
-				// Some known causes of this situation:
-				// - user edits the URL manually
-				// - a javascript requests resources relative to the current page instead of to the
-				// web context
-				String msg = String.format(
-					"Found more URL path parts then expected, these will be ignored. Url: '%s', mountpath: '%s', urlPath: '%s', expected %d parameters was %d",
-					getRequestUrl(), getMountPath(), urlPath, parameterNames.length,
-					pathParts.length);
-				if (ignoreUndeclaredParameters)
-				{
-					logger.info(msg);
-				}
-				else
-				{
-					throw new IllegalArgumentException(msg);
-				}
+                // Some known causes of this situation:
+                // - user edits the URL manually
+                // - a javascript requests resources relative to the current page instead of to the web context
+                String msg = String.format("Found more URL path parts then expected, these will be ignored. Url: '%s', mountpath: '%s', urlPath: '%s', expected %d parameters was %d", getRequestUrl(), getMountPath(), urlPath, parameterNames.length, pathParts.length);
+                if (ignoreUndeclaredParameters) {
+                    logger.info(msg);
+                } else {
+                    throw new IllegalArgumentException(msg);
+                }
 			}
 
-			int actualParameterCount = Math.min(pathParts.length, parameterNames.length);
-			for (int i = 0; i < actualParameterCount; i++)
-			{
-				params.put(parameterNames[i], urlDecodePathComponent(pathParts[i]));
-			}
+            int actualParameterCount = Math.min(pathParts.length, parameterNames.length);
+            for (int i = 0; i < actualParameterCount; i++) {
+                params.put(parameterNames[i], urlDecodePathComponent(pathParts[i]));
+            }
 		}
 
-		return params.toValueMap();
+		return params;
 	}
 
-	private String getRequestUrl()
-	{
-		HttpServletRequest request = ((WebRequest)RequestCycle.get().getRequest()).getHttpServletRequest();
-		return request.getRequestURL().toString();
-	}
+    private String getRequestUrl()
+    {
+        HttpServletRequest request = ((WebRequest) RequestCycle.get().getRequest()).getHttpServletRequest();
+        return request.getRequestURL().toString();
+    }
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/PackageRequestTargetUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -17,8 +17,8 @@
 package org.apache.wicket.request.target.coding;
 
 import org.apache.wicket.IRequestTarget;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.Session;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java Tue Oct 13 06:42:17 2009
@@ -22,7 +22,7 @@
 
 import org.apache.wicket.IRequestTarget;
 import org.apache.wicket.PageMap;
-import org.apache.wicket.ng.request.component.PageParameters;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
 import org.apache.wicket.request.target.component.BookmarkablePageRequestTarget;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkableListenerInterfaceRequestTarget.java Tue Oct 13 06:42:17 2009
@@ -18,11 +18,11 @@
 
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RequestListenerInterface;
 import org.apache.wicket.Session;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.protocol.http.PageExpiredException;
 import org.apache.wicket.protocol.http.request.WebRequestCodingStrategy;
 import org.apache.wicket.util.string.AppendingStringBuffer;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java?rev=824605&r1=824604&r2=824605&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/component/BookmarkablePageRequestTarget.java Tue Oct 13 06:42:17 2009
@@ -21,8 +21,8 @@
 
 import org.apache.wicket.IPageFactory;
 import org.apache.wicket.Page;
+import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
-import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.request.IRequestCycleProcessor;
 import org.apache.wicket.settings.IRequestCycleSettings;
 
@@ -296,14 +296,14 @@
 
 		if (pageParameters == null || pageParameters.size() == 0)
 		{
-			return (Page)pageFactory.newPage(pageClass);
+			return pageFactory.newPage(pageClass);
 		}
 		else
 		{
 			// Add bookmarkable params in for WICKET-400.
 			final Map<String, String[]> requestMap = requestCycle.getRequest().getParameterMap();
 			requestMap.putAll(pageParameters.toRequestParameters());
-			return (Page)pageFactory.newPage(pageClass, pageParameters);
+			return pageFactory.newPage(pageClass, pageParameters);
 		}
 	}