You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/12/19 12:27:18 UTC

svn commit: r892463 [3/4] - in /wicket/trunk: wicket-examples/src/main/webapp/WEB-INF/ wicket-examples/src/test/java/org/apache/wicket/examples/repeater/ wicket/src/main/java/org/apache/wicket/ wicket/src/main/java/org/apache/wicket/ng/ wicket/src/main...

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/IPageSource.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageSource.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/IPageSource.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/IPageSource.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageSource.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageSource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/IPageSource.java Sat Dec 19 11:27:15 2009
@@ -17,14 +17,14 @@
 package org.apache.wicket.ng.request.mapper;
 
 import org.apache.wicket.ng.request.component.PageParametersNg;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 
 /**
  * Interface for objects that are capable of getting and creating page instance.
  * 
  * @author Matej Knopp
  */
-public interface PageSource
+public interface IPageSource
 {
 	/**
 	 * Returns existing page instance if the page exists.
@@ -32,11 +32,11 @@
 	 * @param pageId
 	 * @return page instance or <code>null</code> if the page does not exist.
 	 */
-	public RequestablePage getPageInstance(int pageId);
+	public IRequestablePage getPageInstance(int pageId);
 
 	/**
 	 * Creates new page instance of page with given class. The page should be marked as create
-	 * bookmarkable, so subsequent calls to {@link RequestablePage#wasCreatedBookmarkable()} must
+	 * bookmarkable, so subsequent calls to {@link IRequestablePage#wasCreatedBookmarkable()} must
 	 * return <code>true</code>
 	 * 
 	 * @param pageMapName
@@ -44,7 +44,7 @@
 	 * @param pageParameters
 	 * @return new page instance
 	 */
-	public RequestablePage newPageInstance(Class<? extends RequestablePage> pageClass,
+	public IRequestablePage newPageInstance(Class<? extends IRequestablePage> pageClass,
 		PageParametersNg pageParameters);
 
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/MountedMapper.java Sat Dec 19 11:27:15 2009
@@ -21,9 +21,9 @@
 import org.apache.wicket.Request;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.ng.request.mapper.info.PageComponentInfo;
-import org.apache.wicket.ng.request.mapper.parameters.PageParametersEncoder;
+import org.apache.wicket.ng.request.mapper.parameters.IPageParametersEncoder;
 import org.apache.wicket.ng.request.mapper.parameters.SimplePageParametersEncoder;
 import org.apache.wicket.util.lang.Checks;
 
@@ -53,11 +53,11 @@
  */
 public class MountedMapper extends AbstractBookmarkableMapper
 {
-	private final PageParametersEncoder pageParametersEncoder;
+	private final IPageParametersEncoder pageParametersEncoder;
 	private final String[] mountSegments;
 
 	/** bookmarkable page class. */
-	protected final WeakReference<Class<? extends RequestablePage>> pageClass;
+	protected final WeakReference<Class<? extends IRequestablePage>> pageClass;
 
 	/**
 	 * Construct.
@@ -66,15 +66,15 @@
 	 * @param pageClass
 	 * @param pageParametersEncoder
 	 */
-	public MountedMapper(String mountPath, Class<? extends RequestablePage> pageClass,
-		PageParametersEncoder pageParametersEncoder)
+	public MountedMapper(String mountPath, Class<? extends IRequestablePage> pageClass,
+		IPageParametersEncoder pageParametersEncoder)
 	{
 		Checks.argumentNotEmpty(mountPath, "mountPath");
 		Checks.argumentNotNull(pageClass, "pageClass");
 		Checks.argumentNotNull(pageParametersEncoder, "pageParametersEncoder");
 
 		this.pageParametersEncoder = pageParametersEncoder;
-		this.pageClass = new WeakReference<Class<? extends RequestablePage>>(pageClass);
+		this.pageClass = new WeakReference<Class<? extends IRequestablePage>>(pageClass);
 		mountSegments = getMountSegments(mountPath);
 	}
 
@@ -84,7 +84,7 @@
 	 * @param mountPath
 	 * @param pageClass
 	 */
-	public MountedMapper(String mountPath, Class<? extends RequestablePage> pageClass)
+	public MountedMapper(String mountPath, Class<? extends IRequestablePage> pageClass)
 	{
 		this(mountPath, pageClass, new SimplePageParametersEncoder());
 	}
@@ -109,7 +109,7 @@
 			// try to extract page and component information from URL
 			PageComponentInfo info = getPageComponentInfo(url);
 
-			Class<? extends RequestablePage> pageClass = this.pageClass.get();
+			Class<? extends IRequestablePage> pageClass = this.pageClass.get();
 
 			// extract the PageParameters from URL if there are any
 			PageParametersNg pageParameters = extractPageParameters(request, mountSegments.length,
@@ -217,7 +217,7 @@
 	}
 
 	@Override
-	protected boolean checkPageClass(Class<? extends RequestablePage> pageClass)
+	protected boolean checkPageClass(Class<? extends IRequestablePage> pageClass)
 	{
 		return pageClass.equals(this.pageClass.get());
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageInstanceMapper.java Sat Dec 19 11:27:15 2009
@@ -17,9 +17,9 @@
 package org.apache.wicket.ng.request.mapper;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 import org.apache.wicket.ng.request.Url;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.ng.request.handler.DefaultPageProvider;
 import org.apache.wicket.ng.request.handler.PageAndComponentProvider;
 import org.apache.wicket.ng.request.handler.impl.ListenerInterfaceRequestHandler;
@@ -54,7 +54,7 @@
 	{
 	}
 
-	public RequestHandler mapRequest(Request request)
+	public IRequestHandler mapRequest(Request request)
 	{
 		Url url = request.getUrl();
 		if (urlStartsWith(url, getContext().getNamespace(), getContext().getPageIdentifier()))
@@ -94,13 +94,13 @@
 		return null;
 	}
 
-	public Url mapHandler(RequestHandler requestHandler)
+	public Url mapHandler(IRequestHandler requestHandler)
 	{
 		PageComponentInfo info = null;
 
 		if (requestHandler instanceof RenderPageRequestHandler)
 		{
-			RequestablePage page = ((RenderPageRequestHandler)requestHandler).getPage();
+			IRequestablePage page = ((RenderPageRequestHandler)requestHandler).getPage();
 
 			PageInfo i = new PageInfo(page);
 			info = new PageComponentInfo(i, null);
@@ -108,7 +108,7 @@
 		else if (requestHandler instanceof ListenerInterfaceRequestHandler)
 		{
 			ListenerInterfaceRequestHandler handler = (ListenerInterfaceRequestHandler)requestHandler;
-			RequestablePage page = handler.getPage();
+			IRequestablePage page = handler.getPage();
 			String componentPath = handler.getComponent().getPath();
 			RequestListenerInterface listenerInterface = handler.getListenerInterface();
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ResourceReferenceMapper.java Sat Dec 19 11:27:15 2009
@@ -17,14 +17,14 @@
 package org.apache.wicket.ng.request.mapper;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 import org.apache.wicket.ng.request.handler.resource.ResourceReferenceRequestHandler;
 import org.apache.wicket.ng.request.handler.resource.ResourceRequestHandler;
-import org.apache.wicket.ng.request.mapper.parameters.PageParametersEncoder;
+import org.apache.wicket.ng.request.mapper.parameters.IPageParametersEncoder;
 import org.apache.wicket.ng.request.mapper.parameters.SimplePageParametersEncoder;
-import org.apache.wicket.ng.resource.Resource;
+import org.apache.wicket.ng.resource.IResource;
 import org.apache.wicket.ng.resource.ResourceReference;
 import org.apache.wicket.util.lang.Classes;
 
@@ -45,14 +45,14 @@
  */
 public class ResourceReferenceMapper extends AbstractResourceReferenceMapper
 {
-	private final PageParametersEncoder pageParametersEncoder;
+	private final IPageParametersEncoder pageParametersEncoder;
 
 	/**
 	 * Construct.
 	 * 
 	 * @param pageParametersEncoder
 	 */
-	public ResourceReferenceMapper(PageParametersEncoder pageParametersEncoder)
+	public ResourceReferenceMapper(IPageParametersEncoder pageParametersEncoder)
 	{
 		this.pageParametersEncoder = pageParametersEncoder;
 	}
@@ -65,7 +65,7 @@
 		this(new SimplePageParametersEncoder());
 	}
 
-	public RequestHandler mapRequest(Request request)
+	public IRequestHandler mapRequest(Request request)
 	{
 		Url url = request.getUrl();
 		if (url.getSegments().size() >= 4 &&
@@ -96,7 +96,7 @@
 						attributes.style, attributes.variation, false);
 				if (res != null)
 				{
-					Resource resource = res.getResource();
+					IResource resource = res.getResource();
 					if (resource != null)
 					{
 						ResourceRequestHandler handler = new ResourceRequestHandler(resource,
@@ -120,7 +120,7 @@
 		return scope.getName();
 	}
 
-	public Url mapHandler(RequestHandler requestHandler)
+	public Url mapHandler(IRequestHandler requestHandler)
 	{
 		if (requestHandler instanceof ResourceReferenceRequestHandler)
 		{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/StalePageException.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/StalePageException.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/StalePageException.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/StalePageException.java Sat Dec 19 11:27:15 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.ng.request.mapper;
 
 import org.apache.wicket.ng.WicketRuntimeException;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 
 /**
  * Exception invoked when when stale link has been clicked. The page should then be rerendered
@@ -29,14 +29,14 @@
 {
 	private static final long serialVersionUID = 1L;
 
-	private final RequestablePage page;
+	private final IRequestablePage page;
 
 	/**
 	 * 
 	 * Construct.
 	 * @param page
 	 */
-	public StalePageException(RequestablePage page)
+	public StalePageException(IRequestablePage page)
 	{
 		this.page = page;
 	}
@@ -45,7 +45,7 @@
 	 * 
 	 * @return page instance
 	 */
-	public RequestablePage getPage()
+	public IRequestablePage getPage()
 	{
 		return page;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/SystemMapper.java Sat Dec 19 11:27:15 2009
@@ -17,8 +17,8 @@
 package org.apache.wicket.ng.request.mapper;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
-import org.apache.wicket.ng.request.RequestMapper;
+import org.apache.wicket.ng.request.IRequestHandler;
+import org.apache.wicket.ng.request.IRequestMapper;
 import org.apache.wicket.ng.request.Url;
 
 /**
@@ -27,7 +27,7 @@
  * @author igor.vaynberg
  * 
  */
-public class SystemMapper implements RequestMapper
+public class SystemMapper implements IRequestMapper
 {
 	private final ThreadsafeCompoundRequestMapper mapper = new ThreadsafeCompoundRequestMapper();
 
@@ -49,13 +49,13 @@
 	}
 
 	/** {@inheritDoc} */
-	public Url mapHandler(RequestHandler handler)
+	public Url mapHandler(IRequestHandler handler)
 	{
 		return mapper.mapHandler(handler);
 	}
 
 	/** {@inheritDoc} */
-	public RequestHandler mapRequest(Request request)
+	public IRequestHandler mapRequest(Request request)
 	{
 		return mapper.mapRequest(request);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/ThreadsafeCompoundRequestMapper.java Sat Dec 19 11:27:15 2009
@@ -22,20 +22,20 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.CompoundRequestMapper;
-import org.apache.wicket.ng.request.RequestHandler;
-import org.apache.wicket.ng.request.RequestMapper;
+import org.apache.wicket.ng.request.ICompoundRequestMapper;
+import org.apache.wicket.ng.request.IRequestHandler;
+import org.apache.wicket.ng.request.IRequestMapper;
 import org.apache.wicket.ng.request.Url;
 
 
 /**
- * Thread safe compound {@link RequestMapper}. The mappers are searched depending on their
- * compatibility score and the orders they were registered. If two or more {@link RequestMapper}s
+ * Thread safe compound {@link IRequestMapper}. The mappers are searched depending on their
+ * compatibility score and the orders they were registered. If two or more {@link IRequestMapper}s
  * have the same compatibility score, the last registered mapper has highest priority.
  * 
  * @author Matej Knopp
  */
-public class ThreadsafeCompoundRequestMapper implements CompoundRequestMapper
+public class ThreadsafeCompoundRequestMapper implements ICompoundRequestMapper
 {
 	/*
 	 * (non-Javadoc)
@@ -43,7 +43,7 @@
 	 * @seeorg.apache.wicket.request.ICompoundRequestMapper#register(org.apache.wicket.request.
 	 * IRequestMapper)
 	 */
-	public void register(RequestMapper encoder)
+	public void register(IRequestMapper encoder)
 	{
 		mappers.add(0, encoder);
 	}
@@ -54,17 +54,17 @@
 	 * @seeorg.apache.wicket.request.ICompoundRequestMapper#unregister(org.apache.wicket.request.
 	 * IRequestMapper)
 	 */
-	public void unregister(RequestMapper encoder)
+	public void unregister(IRequestMapper encoder)
 	{
 		mappers.remove(encoder);
 	}
 
 	private static class EncoderWithSegmentsCount implements Comparable<EncoderWithSegmentsCount>
 	{
-		private final RequestMapper mapper;
+		private final IRequestMapper mapper;
 		private final int compatibilityScore;
 
-		public EncoderWithSegmentsCount(RequestMapper encoder, int compatibilityScore)
+		public EncoderWithSegmentsCount(IRequestMapper encoder, int compatibilityScore)
 		{
 			mapper = encoder;
 			this.compatibilityScore = compatibilityScore;
@@ -75,15 +75,15 @@
 			return o.compatibilityScore - compatibilityScore;
 		}
 
-		public RequestMapper getMapper()
+		public IRequestMapper getMapper()
 		{
 			return mapper;
 		}
 	};
 
 	/**
-	 * Searches the registered {@link RequestMapper}s to find one that can decode the
-	 * {@link Request}. Each registered {@link RequestMapper} is asked to provide the matching
+	 * Searches the registered {@link IRequestMapper}s to find one that can decode the
+	 * {@link Request}. Each registered {@link IRequestMapper} is asked to provide the matching
 	 * segments count. Then the encoders are asked to decode the request in order depending on the
 	 * provided segments count.
 	 * <p>
@@ -93,12 +93,12 @@
 	 * @return RequestHandler for the request or <code>null</code> if no encoder for the request is
 	 *         found.
 	 */
-	public RequestHandler mapRequest(Request request)
+	public IRequestHandler mapRequest(Request request)
 	{
 		List<EncoderWithSegmentsCount> list = new ArrayList<EncoderWithSegmentsCount>(
 			mappers.size());
 
-		for (RequestMapper encoder : mappers)
+		for (IRequestMapper encoder : mappers)
 		{
 			list.add(new EncoderWithSegmentsCount(encoder, encoder.getCompatibilityScore(request)));
 		}
@@ -107,7 +107,7 @@
 
 		for (EncoderWithSegmentsCount encoder : list)
 		{
-			RequestHandler handler = encoder.getMapper().mapRequest(request);
+			IRequestHandler handler = encoder.getMapper().mapRequest(request);
 			if (handler != null)
 			{
 				return handler;
@@ -118,9 +118,9 @@
 	}
 
 	/**
-	 * Searches the registered {@link RequestMapper}s to find one that can encode the
-	 * {@link RequestHandler}. Each registered {@link RequestMapper} is asked to encode the
-	 * {@link RequestHandler} until an encoder that can encode the {@link RequestHandler} is found
+	 * Searches the registered {@link IRequestMapper}s to find one that can encode the
+	 * {@link IRequestHandler}. Each registered {@link IRequestMapper} is asked to encode the
+	 * {@link IRequestHandler} until an encoder that can encode the {@link IRequestHandler} is found
 	 * or no more encoders are left.
 	 * <p>
 	 * The handlers are searched in reverse order as they have been registered. More recently
@@ -129,9 +129,9 @@
 	 * @param handler
 	 * @return Url for the handler or <code>null</code> if no encoder for the handler is found.
 	 */
-	public Url mapHandler(RequestHandler handler)
+	public Url mapHandler(IRequestHandler handler)
 	{
-		for (RequestMapper encoder : mappers)
+		for (IRequestMapper encoder : mappers)
 		{
 			Url url = encoder.mapHandler(handler);
 			if (url != null)
@@ -142,7 +142,7 @@
 		return null;
 	}
 
-	private final List<RequestMapper> mappers = new CopyOnWriteArrayList<RequestMapper>();
+	private final List<IRequestMapper> mappers = new CopyOnWriteArrayList<IRequestMapper>();
 
 	/**
 	 * The scope of the compound mapper is the highest score of the registered mappers.
@@ -152,7 +152,7 @@
 	public int getCompatibilityScore(Request request)
 	{
 		int score = Integer.MIN_VALUE;
-		for (RequestMapper mapper : mappers)
+		for (IRequestMapper mapper : mappers)
 		{
 			score = Math.max(score, mapper.getCompatibilityScore(request));
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/info/PageInfo.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/info/PageInfo.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/info/PageInfo.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/info/PageInfo.java Sat Dec 19 11:27:15 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.request.mapper.info;
 
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.string.Strings;
 
@@ -55,7 +55,7 @@
 	 * 
 	 * @param page
 	 */
-	public PageInfo(RequestablePage page)
+	public PageInfo(IRequestablePage page)
 	{
 		Checks.argumentNotNull(page, "page");
 

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/IMountedRequestMapper.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/IMountedRequestMapper.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/IMountedRequestMapper.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountedRequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/IMountedRequestMapper.java Sat Dec 19 11:27:15 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.ng.request.mapper.mount;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 
 /**
  * TODO javadoc, explain "parameters resolved from the mount"
@@ -25,10 +25,10 @@
  * @author igor.vaynberg
  * 
  */
-public interface MountedRequestMapper
+public interface IMountedRequestMapper
 {
 	/**
-	 * Returns {@link RequestHandler} for the request or <code>null</code> if the encoder does not
+	 * Returns {@link IRequestHandler} for the request or <code>null</code> if the encoder does not
 	 * recognize the URL.
 	 * 
 	 * @param request
@@ -37,7 +37,7 @@
 	 *            parameters resolved from the mount
 	 * @return RequestHandler instance or <code>null</code>
 	 */
-	RequestHandler mapRequest(Request request, MountParameters mountParams);
+	IRequestHandler mapRequest(Request request, MountParameters mountParams);
 
 	/**
 	 * Returns the score representing how compatible this request mapper is to processing the given
@@ -59,11 +59,11 @@
 	int getCompatibilityScore(Request request);
 
 	/**
-	 * Returns the {@link Mount} for given {@link RequestHandler} or <code>null</code> if the
+	 * Returns the {@link Mount} for given {@link IRequestHandler} or <code>null</code> if the
 	 * encoder does not recognize the request handler.
 	 * 
 	 * @param requestHandler
 	 * @return Url instance or <code>null</code>.
 	 */
-	Mount mapHandler(RequestHandler requestHandler);
+	Mount mapHandler(IRequestHandler requestHandler);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/MountMapper.java Sat Dec 19 11:27:15 2009
@@ -17,24 +17,24 @@
 package org.apache.wicket.ng.request.mapper.mount;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
-import org.apache.wicket.ng.request.RequestMapper;
+import org.apache.wicket.ng.request.IRequestHandler;
+import org.apache.wicket.ng.request.IRequestMapper;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.mapper.AbstractMapper;
 import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.string.StringValue;
 
 /**
- * {@link RequestMapper} that can mount requests onto urls. TODO docs and unit test
+ * {@link IRequestMapper} that can mount requests onto urls. TODO docs and unit test
  * 
  * @author igor.vaynberg
  */
 public class MountMapper extends AbstractMapper
 {
 	private final String[] mountSegments;
-	private final MountedRequestMapper mapper;
+	private final IMountedRequestMapper mapper;
 
-	public MountMapper(String mountPath, MountedRequestMapper mapper)
+	public MountMapper(String mountPath, IMountedRequestMapper mapper)
 	{
 		Checks.argumentNotEmpty(mountPath, "mountPath");
 		Checks.argumentNotNull(mapper, "mapper");
@@ -43,7 +43,7 @@
 		this.mapper = mapper;
 	}
 
-	public MountMapper(String mountPath, RequestMapper mapper)
+	public MountMapper(String mountPath, IRequestMapper mapper)
 	{
 		Checks.argumentNotEmpty(mountPath, "mountPath");
 		Checks.argumentNotNull(mapper, "mapper");
@@ -52,7 +52,7 @@
 		this.mapper = new UnmountedMapperAdapter(mapper);
 	}
 
-	public MountMapper(String mountPath, RequestHandler handler)
+	public MountMapper(String mountPath, IRequestHandler handler)
 	{
 		Checks.argumentNotEmpty(mountPath, "mountPath");
 		Checks.argumentNotNull(handler, "handler");
@@ -81,7 +81,7 @@
 	}
 
 
-	public final RequestHandler mapRequest(Request request)
+	public final IRequestHandler mapRequest(Request request)
 	{
 		final Url url = request.getUrl();
 
@@ -103,7 +103,7 @@
 		return null;
 	}
 
-	public Url mapHandler(RequestHandler handler)
+	public Url mapHandler(IRequestHandler handler)
 	{
 		Mount mount = mapper.mapHandler(handler);
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedMapperAdapter.java Sat Dec 19 11:27:15 2009
@@ -17,23 +17,23 @@
 package org.apache.wicket.ng.request.mapper.mount;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
-import org.apache.wicket.ng.request.RequestMapper;
+import org.apache.wicket.ng.request.IRequestHandler;
+import org.apache.wicket.ng.request.IRequestMapper;
 import org.apache.wicket.ng.request.Url;
 
 /**
- * Adapts a {@link RequestMapper} to be used as a {@link MountedRequestMapper}
+ * Adapts a {@link IRequestMapper} to be used as a {@link IMountedRequestMapper}
  * 
  * TODO javadoc
  * 
  * @author igor.vaynberg
  * 
  */
-class UnmountedMapperAdapter implements MountedRequestMapper
+class UnmountedMapperAdapter implements IMountedRequestMapper
 {
-	private final RequestMapper mapper;
+	private final IRequestMapper mapper;
 
-	public UnmountedMapperAdapter(RequestMapper mapper)
+	public UnmountedMapperAdapter(IRequestMapper mapper)
 	{
 		super();
 		this.mapper = mapper;
@@ -44,7 +44,7 @@
 		return mapper.getCompatibilityScore(request);
 	}
 
-	public Mount mapHandler(RequestHandler requestHandler)
+	public Mount mapHandler(IRequestHandler requestHandler)
 	{
 		Url url = mapper.mapHandler(requestHandler);
 		if (url != null)
@@ -54,7 +54,7 @@
 		return null;
 	}
 
-	public RequestHandler mapRequest(Request request, MountParameters mountParams)
+	public IRequestHandler mapRequest(Request request, MountParameters mountParams)
 	{
 		return mapper.mapRequest(request);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/mount/UnmountedRequestHandlerAdapter.java Sat Dec 19 11:27:15 2009
@@ -17,22 +17,22 @@
 package org.apache.wicket.ng.request.mapper.mount;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 import org.apache.wicket.ng.request.Url;
 
 /**
- * Adapts a singleton {@link RequestHandler} instance to {@link MountedRequestMapper}
+ * Adapts a singleton {@link IRequestHandler} instance to {@link IMountedRequestMapper}
  * 
  * TODO javadoc
  * 
  * @author igor.vaynberg
  * 
  */
-class UnmountedRequestHandlerAdapter implements MountedRequestMapper
+class UnmountedRequestHandlerAdapter implements IMountedRequestMapper
 {
-	private final RequestHandler handler;
+	private final IRequestHandler handler;
 
-	public UnmountedRequestHandlerAdapter(RequestHandler handler)
+	public UnmountedRequestHandlerAdapter(IRequestHandler handler)
 	{
 		this.handler = handler;
 	}
@@ -42,7 +42,7 @@
 		return 0;
 	}
 
-	public Mount mapHandler(RequestHandler requestHandler)
+	public Mount mapHandler(IRequestHandler requestHandler)
 	{
 		if (requestHandler.equals(handler))
 		{
@@ -51,7 +51,7 @@
 		return null;
 	}
 
-	public RequestHandler mapRequest(Request request, MountParameters mountParams)
+	public IRequestHandler mapRequest(Request request, MountParameters mountParams)
 	{
 		return handler;
 	}

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/IPageParametersEncoder.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/IPageParametersEncoder.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/IPageParametersEncoder.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/IPageParametersEncoder.java Sat Dec 19 11:27:15 2009
@@ -17,7 +17,7 @@
 package org.apache.wicket.ng.request.mapper.parameters;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.component.PageParametersNg;
 
@@ -26,11 +26,11 @@
  * 
  * @author Matej Knopp
  */
-public interface PageParametersEncoder
+public interface IPageParametersEncoder
 {
 	/**
 	 * Encode the given {@link PageParametersNg} instance into URL. The URL will be then merged with
-	 * the URL generated for {@link RequestHandler}.
+	 * the URL generated for {@link IRequestHandler}.
 	 * 
 	 * @param pageParameters
 	 * @return Url generated from the page parameters
@@ -39,7 +39,7 @@
 
 	/**
 	 * Decodes the given URL to {@link PageParametersNg}. The URL will have all
-	 * {@link RequestHandler} specified segments/parameters stripped.
+	 * {@link IRequestHandler} specified segments/parameters stripped.
 	 * 
 	 * @param request
 	 * @return {@link PageParametersNg} instance

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/SimplePageParametersEncoder.java Sat Dec 19 11:27:15 2009
@@ -29,7 +29,7 @@
  * 
  * @author Matej Knopp
  */
-public class SimplePageParametersEncoder implements PageParametersEncoder
+public class SimplePageParametersEncoder implements IPageParametersEncoder
 {
 	/**
 	 * Construct.

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/CombinedRequestParametersAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/CombinedRequestParametersAdapter.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/CombinedRequestParametersAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/CombinedRequestParametersAdapter.java Sat Dec 19 11:27:15 2009
@@ -22,24 +22,24 @@
 import java.util.List;
 import java.util.Set;
 
-import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.IRequestParameters;
 import org.apache.wicket.util.string.StringValue;
 
 /**
- * {@link RequestParameters} implementation that combines other {@link RequestParameters}s.
+ * {@link IRequestParameters} implementation that combines other {@link IRequestParameters}s.
  * 
  * @author Matej Knopp
  */
-public class CombinedRequestParametersAdapter implements RequestParameters
+public class CombinedRequestParametersAdapter implements IRequestParameters
 {
-	private final RequestParameters parameters[];
+	private final IRequestParameters parameters[];
 
 	/**
 	 * Construct.
 	 * 
 	 * @param parameters
 	 */
-	public CombinedRequestParametersAdapter(RequestParameters... parameters)
+	public CombinedRequestParametersAdapter(IRequestParameters... parameters)
 	{
 		if (parameters == null)
 		{
@@ -51,7 +51,7 @@
 	public Set<String> getParameterNames()
 	{
 		Set<String> result = new HashSet<String>();
-		for (RequestParameters p : parameters)
+		for (IRequestParameters p : parameters)
 		{
 			result.addAll(p.getParameterNames());
 		}
@@ -60,7 +60,7 @@
 
 	public StringValue getParameterValue(String name)
 	{
-		for (RequestParameters p : parameters)
+		for (IRequestParameters p : parameters)
 		{
 			StringValue value = p.getParameterValue(name);
 			if (!value.isNull())
@@ -74,7 +74,7 @@
 	public List<StringValue> getParameterValues(String name)
 	{
 		List<StringValue> result = new ArrayList<StringValue>();
-		for (RequestParameters p : parameters)
+		for (IRequestParameters p : parameters)
 		{
 			List<StringValue> values = p.getParameterValues(name);
 			if (values != null)

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/EmptyRequestParameters.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/EmptyRequestParameters.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/EmptyRequestParameters.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/EmptyRequestParameters.java Sat Dec 19 11:27:15 2009
@@ -20,15 +20,15 @@
 import java.util.List;
 import java.util.Set;
 
-import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.IRequestParameters;
 import org.apache.wicket.util.string.StringValue;
 
 /**
- * Read only empty {@link RequestParameters}.
+ * Read only empty {@link IRequestParameters}.
  * 
  * @author Matej Knopp
  */
-public class EmptyRequestParameters implements RequestParameters
+public class EmptyRequestParameters implements IRequestParameters
 {
 
 	private EmptyRequestParameters()

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/UrlRequestParametersAdapter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/UrlRequestParametersAdapter.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/UrlRequestParametersAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/UrlRequestParametersAdapter.java Sat Dec 19 11:27:15 2009
@@ -22,7 +22,7 @@
 import java.util.List;
 import java.util.Set;
 
-import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.IRequestParameters;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.Url.QueryParameter;
 import org.apache.wicket.util.lang.Checks;
@@ -30,11 +30,11 @@
 import org.apache.wicket.util.string.StringValue;
 
 /**
- * Utility class that expresses query parameters from {@link Url} as {@link RequestParameters}.
+ * Utility class that expresses query parameters from {@link Url} as {@link IRequestParameters}.
  * 
  * @author Matej Knopp
  */
-public class UrlRequestParametersAdapter implements RequestParameters
+public class UrlRequestParametersAdapter implements IRequestParameters
 {
 	private final Url url;
 

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/IResource.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/IResource.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/IResource.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/Resource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/IResource.java Sat Dec 19 11:27:15 2009
@@ -30,10 +30,10 @@
  * 
  * @author Matej Knopp
  */
-public interface Resource extends Serializable
+public interface IResource extends Serializable
 {
 	/**
-	 * Attributes that are provided to resource in the {@link Resource#respond(Attributes)} method.
+	 * Attributes that are provided to resource in the {@link IResource#respond(Attributes)} method.
 	 * Attributes are set by the {@link ResourceRequestHandler}.
 	 * 
 	 * @author Matej Knopp

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/resource/ResourceReference.java Sat Dec 19 11:27:15 2009
@@ -138,5 +138,5 @@
 	 * 
 	 * @return new resource instance
 	 */
-	public abstract Resource getResource();
+	public abstract IResource getResource();
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/HttpSessionStore.java Sat Dec 19 11:27:15 2009
@@ -32,7 +32,6 @@
 import org.apache.wicket.ng.Session;
 import org.apache.wicket.ng.protocol.http.WebApplication;
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
-import org.apache.wicket.session.ISessionStore;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,9 +43,8 @@
  * @author Eelco Hillenius
  * @author Matej Knopp
  */
-public class HttpSessionStore implements SessionStore
+public class HttpSessionStore implements ISessionStore
 {
-
 	/**
 	 * Reacts on unbinding from the session by cleaning up the session related application data.
 	 */

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/ISessionStore.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/ISessionStore.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/ISessionStore.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/ISessionStore.java Sat Dec 19 11:27:15 2009
@@ -34,7 +34,7 @@
  * @author Johan Compagner
  * @author Matej Knopp
  */
-public interface SessionStore
+public interface ISessionStore
 {
 	/**
 	 * Gets the attribute value with the given name

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IApplicationSettings.java (from r892307, 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/IApplicationSettings.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IApplicationSettings.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/ApplicationSettings.java&r1=892307&r2=892463&rev=892463&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/IApplicationSettings.java Sat Dec 19 11:27:15 2009
@@ -18,7 +18,7 @@
 
 import org.apache.wicket.application.IClassResolver;
 
-public interface ApplicationSettings
+public interface IApplicationSettings
 {
 	/**
 	 * Gets the default resolver to use when finding classes and resources

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IRequestCycleSettings.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/RequestCycleSettings.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IRequestCycleSettings.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IRequestCycleSettings.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/RequestCycleSettings.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/RequestCycleSettings.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/settings/IRequestCycleSettings.java Sat Dec 19 11:27:15 2009
@@ -16,7 +16,7 @@
  */
 package org.apache.wicket.ng.settings;
 
-public interface RequestCycleSettings
+public interface IRequestCycleSettings
 {
 	public enum RenderStrategy {
 		ONE_PASS_RENDER, REDIRECT_TO_BUFFER, REDIRECT_TO_RENDER

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/AbstractPageManager.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/AbstractPageManager.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/AbstractPageManager.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/AbstractPageManager.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/AbstractPageManager.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/AbstractPageManager.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/AbstractPageManager.java Sat Dec 19 11:27:15 2009
@@ -14,51 +14,75 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.ng.page.common;
+package org.apache.wicket.pageManager;
 
-
-import org.apache.wicket.ng.page.ManageablePage;
-import org.apache.wicket.ng.page.PageManager;
-import org.apache.wicket.ng.page.PageManagerContext;
+import org.apache.wicket.ng.WicketRuntimeException;
+import org.apache.wicket.ng.page.IManageablePage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Convenience class for {@link PageManager} implementations. Subclass should extend
+ * Convenience class for {@link IPageManager} implementations. Subclass should extend
  * {@link RequestAdapter} and override {@link #newRequestAdater()} method to return it's
  * {@link RequestAdapter} implementation.
  * 
- * 
  * @author Matej Knopp
- * 
  */
-public abstract class AbstractPageManager implements PageManager
+public abstract class AbstractPageManager implements IPageManager
 {
-	private PageManagerContext context;
+	private static final Logger log = LoggerFactory.getLogger(AbstractPageManager.class);
+
+	private final IPageManagerContext context;
 
-	public AbstractPageManager()
+	/**
+	 * Construct.
+	 * 
+	 * @param context
+	 */
+	public AbstractPageManager(IPageManagerContext context)
 	{
+		if (context == null)
+		{
+			throw new WicketRuntimeException("Paramater 'context' must not be null");
+		}
+		this.context = context;
 	}
 
-	protected abstract RequestAdapter newRequestAdapter(PageManagerContext context);
-
+	/**
+	 * 
+	 * @param context
+	 * @return a new request adapter
+	 */
+	protected abstract RequestAdapter newRequestAdapter(IPageManagerContext context);
+
+	/**
+	 * 
+	 * @see org.apache.wicket.pageManager.IPageManager#supportsVersioning()
+	 */
 	public abstract boolean supportsVersioning();
 
+	/**
+	 * 
+	 * @see org.apache.wicket.pageManager.IPageManager#sessionExpired(java.lang.String)
+	 */
 	public abstract void sessionExpired(String sessionId);
 
-	public void setContext(PageManagerContext context)
-	{
-		this.context = context;
-	}
-
-	public PageManagerContext getContext()
+	/**
+	 * @return The page manager context
+	 */
+	public IPageManagerContext getContext()
 	{
 		return context;
-	};
+	}
 
+	/**
+	 * @see #newRequestAdapter(IPageManagerContext)
+	 * 
+	 * @return the request adapter
+	 */
 	protected RequestAdapter getRequestAdapter()
 	{
-		RequestAdapter adapter = (RequestAdapter)getContext().getRequestData();
+		RequestAdapter adapter = getContext().getRequestData();
 		if (adapter == null)
 		{
 			adapter = newRequestAdapter(getContext());
@@ -67,16 +91,20 @@
 		return adapter;
 	}
 
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManager#commitRequest()
+	 */
 	public void commitRequest()
 	{
-		RequestAdapter adapter = getRequestAdapter();
-		adapter.commitRequest();
+		getRequestAdapter().commitRequest();
 	}
 
-	public ManageablePage getPage(int id)
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManager#getPage(int)
+	 */
+	public IManageablePage getPage(int id)
 	{
-		RequestAdapter adapter = getRequestAdapter();
-		ManageablePage page = adapter.getPage(id);
+		IManageablePage page = getRequestAdapter().getPage(id);
 		if (page != null)
 		{
 			touchPage(page);
@@ -84,21 +112,23 @@
 		return page;
 	}
 
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManager#newSessionCreated()
+	 */
 	public void newSessionCreated()
 	{
-		RequestAdapter adapter = getRequestAdapter();
-		adapter.newSessionCreated();
+		getRequestAdapter().newSessionCreated();
 	}
 
-	public void touchPage(ManageablePage page)
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManager#touchPage(org.apache.wicket.ng.page.IManageablePage)
+	 */
+	public void touchPage(IManageablePage page)
 	{
 		if (!page.isPageStateless())
 		{
 			getContext().bind();
 		}
-		RequestAdapter adapter = getRequestAdapter();
-		adapter.touch(page);
+		getRequestAdapter().touch(page);
 	}
-
-	static Logger logger = LoggerFactory.getLogger(AbstractPageManager.class);
 }

Added: wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/DefaultPageManagerContext.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/DefaultPageManagerContext.java?rev=892463&view=auto
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/DefaultPageManagerContext.java (added)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/DefaultPageManagerContext.java Sat Dec 19 11:27:15 2009
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.pageManager;
+
+import java.io.Serializable;
+
+import org.apache.wicket.MetaDataKey;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.Session;
+
+/**
+ * Wicket's default page manager context
+ * 
+ * @author Juergen Donnerstag
+ */
+public class DefaultPageManagerContext implements IPageManagerContext
+{
+	private final MetaDataKey<RequestAdapter> requestCycleMetaDataKey = new MetaDataKey<RequestAdapter>()
+	{
+		private static final long serialVersionUID = 1L;
+	};
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#bind()
+	 */
+	public void bind()
+	{
+		Session.get().bind();
+	}
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#getRequestData()
+	 */
+	public RequestAdapter getRequestData()
+	{
+		RequestCycle requestCycle = RequestCycle.get();
+		if (requestCycle == null)
+		{
+			throw new IllegalStateException("Not a request thread.");
+		}
+		return requestCycle.getMetaData(requestCycleMetaDataKey);
+	}
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#getSessionAttribute(java.lang.String)
+	 */
+	public Serializable getSessionAttribute(final String key)
+	{
+		return Session.get().getAttribute(key);
+	}
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#getSessionId()
+	 */
+	public String getSessionId()
+	{
+		return Session.get().getId();
+	}
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#setRequestData(RequestAdapter)
+	 */
+	public void setRequestData(final RequestAdapter data)
+	{
+		RequestCycle requestCycle = RequestCycle.get();
+		if (requestCycle == null)
+		{
+			throw new IllegalStateException("Not a request thread.");
+		}
+		requestCycle.setMetaData(requestCycleMetaDataKey, data);
+	}
+
+	/**
+	 * @see org.apache.wicket.pageManager.IPageManagerContext#setSessionAttribute(java.lang.String,
+	 *      java.io.Serializable)
+	 */
+	public void setSessionAttribute(String key, Serializable value)
+	{
+		Session.get().setAttribute(key, value);
+	}
+}

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManager.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManager.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManager.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManager.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManager.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManager.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManager.java Sat Dec 19 11:27:15 2009
@@ -14,42 +14,41 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.ng.page;
-
+package org.apache.wicket.pageManager;
 
+import org.apache.wicket.ng.page.IManageablePage;
 
 /**
  * Page manager.
  * 
  * @author Matej Knopp
  */
-public interface PageManager
+public interface IPageManager
 {
 	/**
-	 * This method is guaranteed to be called before any other methods are invoked.
 	 * 
-	 * @param context
+	 * @return the page manager context
 	 */
-	public void setContext(PageManagerContext context);
-	
+	IPageManagerContext getContext();
+
 	/**
 	 * Retrieve page instance with given id.
 	 * 
 	 * @param id
 	 * @return page instance or <code>null</code>
 	 */
-	public ManageablePage getPage(int id);
+	public IManageablePage getPage(int id);
 
 	/**
 	 * Marks page as changed.
 	 * 
 	 * @param page
 	 */
-	public void touchPage(ManageablePage page);
+	public void touchPage(IManageablePage page);
 
 	/**
-	 * Returns whether this manager supports versioning. Managers that support versioning must
-	 * store page snapshots.
+	 * Returns whether this manager supports versioning. Managers that support versioning must store
+	 * page snapshots.
 	 * 
 	 * @return whether this page manager supports versioning
 	 */

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManagerContext.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManagerContext.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManagerContext.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManagerContext.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManagerContext.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/PageManagerContext.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/IPageManagerContext.java Sat Dec 19 11:27:15 2009
@@ -14,28 +14,52 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.ng.page;
+package org.apache.wicket.pageManager;
 
 import java.io.Serializable;
 
 /**
- * Context object for {@link PageManager}. This decouples the {@link PageManager} from request cycle
- * and session.
+ * Context object for {@link IPageManager}. This decouples the {@link IPageManager} from request
+ * cycle and session.
  * 
  * @author Matej Knopp
- * 
  */
-public interface PageManagerContext
+public interface IPageManagerContext
 {
-	public void setRequestData(Object data);
-
-	public Object getRequestData();
-
-	public void setSessionAttribute(String key, Serializable value);
-
-	public Serializable getSessionAttribute(String key);
-
-	public void bind();
-
-	public String getSessionId();
+	/**
+	 * 
+	 * @param data
+	 */
+	void setRequestData(RequestAdapter data);
+
+	/**
+	 * 
+	 * @return request data
+	 */
+	RequestAdapter getRequestData();
+
+	/**
+	 * 
+	 * @param key
+	 * @param value
+	 */
+	void setSessionAttribute(String key, Serializable value);
+
+	/**
+	 * 
+	 * @param key
+	 * @return The session attribute associate with the key
+	 */
+	Serializable getSessionAttribute(String key);
+
+	/**
+	 * 
+	 */
+	void bind();
+
+	/**
+	 * 
+	 * @return session id
+	 */
+	String getSessionId();
 }
\ No newline at end of file

Copied: wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/RequestAdapter.java (from r892307, wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/RequestAdapter.java)
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/RequestAdapter.java?p2=wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/RequestAdapter.java&p1=wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/RequestAdapter.java&r1=892307&r2=892463&rev=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/page/common/RequestAdapter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/pageManager/RequestAdapter.java Sat Dec 19 11:27:15 2009
@@ -14,26 +14,38 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.ng.page.common;
+package org.apache.wicket.pageManager;
 
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.wicket.ng.page.ManageablePage;
-import org.apache.wicket.ng.page.PageManager;
-import org.apache.wicket.ng.page.PageManagerContext;
+import org.apache.wicket.ng.page.IManageablePage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * Request scoped helper class for {@link PageManager}.
+ * Request scoped helper class for {@link IPageManager}.
  * 
  * @author Matej Knopp
  */
 public abstract class RequestAdapter
 {
-	private final PageManagerContext context;
+	private static final Logger log = LoggerFactory.getLogger(RequestAdapter.class);
 
-	public RequestAdapter(PageManagerContext context)
+	private final IPageManagerContext context;
+
+	private final List<IManageablePage> touchedPages = new ArrayList<IManageablePage>();
+
+	private final List<IManageablePage> pages = new ArrayList<IManageablePage>();
+
+	/**
+	 * Construct.
+	 * 
+	 * @param context
+	 *            The page manager context
+	 */
+	public RequestAdapter(final IPageManagerContext context)
 	{
 		this.context = context;
 	}
@@ -45,14 +57,14 @@
 	 * @param id
 	 * @return page instance or <code>null</code> if the page does not exist.
 	 */
-	protected abstract ManageablePage getPage(int id);
+	protected abstract IManageablePage getPage(int id);
 
 	/**
 	 * Store the list of pages.
 	 * 
 	 * @param touchedPages
 	 */
-	protected abstract void storeTouchedPages(List<ManageablePage> touchedPages);
+	protected abstract void storeTouchedPages(List<IManageablePage> touchedPages);
 
 	/**
 	 * Notification on new session being created.
@@ -61,44 +73,54 @@
 
 	/**
 	 * Bind the session
+	 * 
+	 * @see IPageManagerContext#bind()
 	 */
 	protected void bind()
 	{
 		context.bind();
 	}
 
+	/**
+	 * @see IPageManagerContext#setSessionAttribute(String, Serializable)
+	 * 
+	 * @param key
+	 * @param value
+	 */
 	public void setSessionAttribute(String key, Serializable value)
 	{
 		context.setSessionAttribute(key, value);
 	}
 
-	public Serializable getSessionAttribute(String key)
+	/**
+	 * @see IPageManagerContext#getSessionAttribute(String)
+	 * 
+	 * @param key
+	 * @return the session attribute
+	 */
+	public Serializable getSessionAttribute(final String key)
 	{
 		return context.getSessionAttribute(key);
 	}
 
+	/**
+	 * @see IPageManagerContext#getSessionId()
+	 * 
+	 * @return session id
+	 */
 	public String getSessionId()
 	{
 		return context.getSessionId();
 	}
 
-	protected final ManageablePage getPageInternal(int id)
-	{
-		ManageablePage page = findPage(id);
-		if (page == null)
-		{
-			page = getPage(id);
-		}
-		if (page != null)
-		{
-			pages.add(page);
-		}
-		return page;
-	}
-
-	private ManageablePage findPage(int id)
+	/**
+	 * 
+	 * @param id
+	 * @return null, if not found
+	 */
+	private IManageablePage findPage(final int id)
 	{
-		for (ManageablePage page : pages)
+		for (IManageablePage page : pages)
 		{
 			if (page.getPageId() == id)
 			{
@@ -108,13 +130,18 @@
 		return null;
 	}
 
-	protected void touch(ManageablePage page)
+	/**
+	 * 
+	 * @param page
+	 */
+	protected void touch(final IManageablePage page)
 	{
 		if (findPage(page.getPageId()) == null)
 		{
 			pages.add(page);
 		}
-		for (ManageablePage p : touchedPages)
+
+		for (IManageablePage p : touchedPages)
 		{
 			if (p.getPageId() == page.getPageId())
 			{
@@ -124,9 +151,12 @@
 		touchedPages.add(page);
 	}
 
+	/**
+	 * 
+	 */
 	protected void commitRequest()
 	{
-		for (ManageablePage page : pages)
+		for (IManageablePage page : pages)
 		{
 			try
 			{
@@ -134,22 +164,27 @@
 			}
 			catch (Exception e)
 			{
-				AbstractPageManager.logger.error("Error detaching page", e);
+				log.error("Error detaching page", e);
 			}
 		}
 
 		// store pages that are not stateless
-		List<ManageablePage> statefulPages = new ArrayList<ManageablePage>(touchedPages.size());
-		for (ManageablePage page : touchedPages)
+		if (touchedPages.isEmpty() == false)
 		{
-			if (!page.isPageStateless())
+			List<IManageablePage> statefulPages = new ArrayList<IManageablePage>(
+				touchedPages.size());
+			for (IManageablePage page : touchedPages)
 			{
-				statefulPages.add(page);
+				if (!page.isPageStateless())
+				{
+					statefulPages.add(page);
+				}
+			}
+
+			if (statefulPages.isEmpty() == false)
+			{
+				storeTouchedPages(statefulPages);
 			}
 		}
-		storeTouchedPages(statefulPages);
 	}
-
-	List<ManageablePage> touchedPages = new ArrayList<ManageablePage>();
-	List<ManageablePage> pages = new ArrayList<ManageablePage>();
 }
\ No newline at end of file

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/BufferedWebResponse.java Sat Dec 19 11:27:15 2009
@@ -16,19 +16,9 @@
  */
 package org.apache.wicket.protocol.http;
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.util.lang.Checks;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 
 
@@ -39,230 +29,112 @@
  */
 public class BufferedWebResponse extends WebResponse
 {
+	/** URL to redirect to when response is flushed, if any */
+	private String redirectURL;
+
+	/** Buffer to hold page */
+	private AppendingStringBuffer buffer = new AppendingStringBuffer(4096);
+
 	/**
-	 * Construct.
+	 * Constructor for testing harness.
 	 */
-	public BufferedWebResponse()
+	protected BufferedWebResponse()
 	{
 	}
 
-	public BufferedWebResponse(HttpServletResponse httpServletResponse)
+	/**
+	 * Package private constructor.
+	 * 
+	 * @param httpServletResponse
+	 *            The servlet response object
+	 */
+	public BufferedWebResponse(final HttpServletResponse httpServletResponse)
 	{
 		super(httpServletResponse);
 	}
 
-
-	private static class CookieEntry
-	{
-		Cookie cookie;
-		boolean add;
-	}
-
-	private final List<CookieEntry> cookieEntries = new ArrayList<CookieEntry>();
-
-	@Override
-	public void addCookie(Cookie cookie)
-	{
-		CookieEntry entry = new CookieEntry();
-		entry.cookie = cookie;
-		entry.add = true;
-		cookieEntries.add(entry);
-	}
-
-	@Override
-	public void clearCookie(Cookie cookie)
-	{
-		CookieEntry entry = new CookieEntry();
-		entry.cookie = cookie;
-		entry.add = false;
-		cookieEntries.add(entry);
-	}
-
-	private Long contentLength = null;
-
-	@Override
-	public void setContentLength(long length)
-	{
-		contentLength = length;
-	}
-
-	private String contentType = null;
-
-	@Override
-	public void setContentType(String mimeType)
-	{
-		contentType = mimeType;
-	}
-
-	private final Map<String, Long> dateHeaders = new HashMap<String, Long>();
-
-	@Override
-	public void setDateHeader(String name, long date)
-	{
-		dateHeaders.put(name, date);
-	}
-
-	private final Map<String, String> headers = new HashMap<String, String>();
-
-	@Override
-	public void setHeader(String name, String value)
-	{
-		headers.put(name, value);
-	}
-
-	private StringBuilder builder;
-	private ByteArrayOutputStream stream;
-
+	/**
+	 * Flushes the response buffer by doing a redirect or writing out the buffer. NOTE: The servlet
+	 * container will close the response output stream.
+	 */
 	@Override
-	public void write(CharSequence sequence)
+	public void close()
 	{
-		if (stream != null)
+		// If a redirection was specified
+		if (redirectURL != null)
 		{
-			throw new IllegalStateException(
-				"Can't call write(CharSequence) after write(byte[]) has been called.");
+			// actually redirect
+			super.redirect(redirectURL);
 		}
-
-		if (builder == null)
+		else
 		{
-			builder = new StringBuilder(4096);
+			// Write the buffer to the response stream
+			if (buffer.length() != 0)
+			{
+				super.write(buffer);
+			}
 		}
-
-		builder.append(sequence);
 	}
 
+	/**
+	 * @see org.apache.wicket.Response#reset()
+	 */
 	@Override
-	public void write(byte[] array)
+	public void reset()
 	{
-		if (builder != null)
-		{
-			throw new IllegalStateException(
-				"Can't call write(byte[]) after write(CharSequence) has been called.");
-		}
-		if (stream == null)
-		{
-			stream = new ByteArrayOutputStream(array.length);
-		}
-		try
-		{
-			stream.write(array);
-		}
-		catch (IOException e)
-		{
-			throw new WicketRuntimeException(e);
-		}
+		redirectURL = null;
+		buffer.clear();
 	}
 
-	private String redirectUrl = null;
-
+	/**
+	 * Saves url to redirect to when buffered response is flushed. Implementations should encode the
+	 * URL to make sure cookie-less operation is supported in case clients forgot.
+	 * 
+	 * @param url
+	 *            The URL to redirect to
+	 */
 	@Override
-	public void redirect(String url)
+	public final void redirect(final String url)
 	{
-		redirectUrl = url;
+		if (redirectURL != null)
+		{
+			throw new WicketRuntimeException("Already redirecting to '" + redirectURL +
+				"'. Cannot redirect more than once");
+		}
+		// encode to make sure no caller forgot this
+		redirectURL = encodeURL(url).toString();
 	}
 
-	private Integer statusCode = null;
-
+	/**
+	 * Writes string to response output.
+	 * 
+	 * @param string
+	 *            The string to write
+	 */
 	@Override
-	public void setStatus(int sc)
+	public void write(final CharSequence string)
 	{
-		statusCode = sc;
+		buffer.append(string);
 	}
 
 	/**
-	 * Writes the content of the buffer to the specified response. Also sets the properties and and
-	 * headers.
-	 * 
-	 * @param response
+	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
 	 */
-	public void writeTo(final WebResponse response)
+	public final void filter()
 	{
-		Checks.argumentNotNull(response, "response");
-
-		for (CookieEntry e : cookieEntries)
+		if (redirectURL == null && buffer.length() != 0)
 		{
-			if (e.add)
-			{
-				response.addCookie(e.cookie);
-			}
-			else
-			{
-				response.clearCookie(e.cookie);
-			}
-		}
-		if (contentLength != null)
-		{
-			response.setContentLength(contentLength);
-		}
-		if (contentType != null)
-		{
-			response.setContentType(contentType);
-		}
-		for (String s : dateHeaders.keySet())
-		{
-			response.setDateHeader(s, dateHeaders.get(s));
-		}
-		for (String s : headers.keySet())
-		{
-			response.setHeader(s, headers.get(s));
-		}
-		if (statusCode != null)
-		{
-			response.setStatus(statusCode);
-		}
-		if (redirectUrl != null)
-		{
-			response.redirect(redirectUrl);
-		}
-		if (builder != null)
-		{
-			response.write(builder);
-		}
-		else if (stream != null)
-		{
-			final boolean copied[] = { false };
-			try
-			{
-				// try to avoid copying the array
-				stream.writeTo(new OutputStream()
-				{
-					@Override
-					public void write(int b) throws IOException
-					{
-
-					}
-
-					@Override
-					public void write(byte[] b, int off, int len) throws IOException
-					{
-						if (off == 0 && len == b.length)
-						{
-							response.write(b);
-							copied[0] = true;
-						}
-					}
-				});
-			}
-			catch (IOException e1)
-			{
-				throw new WicketRuntimeException(e1);
-			}
-			if (copied[0] == false)
-			{
-				response.write(stream.toByteArray());
-			}
+			buffer = filter(buffer);
 		}
 	}
 
 	/**
-	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API.
+	 * 
+	 * @see java.lang.Object#toString()
 	 */
-	public final void filter()
+	@Override
+	public String toString()
 	{
-		if (redirectUrl == null && builder.length() != 0)
-		{ // TODO WICKET-NG clean up this conversion
-			builder = new StringBuilder(
-				filter(new AppendingStringBuffer(builder.toString())).toString());
-		}
+		return buffer.toString();
 	}
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequest.java Sat Dec 19 11:27:15 2009
@@ -25,7 +25,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.wicket.Request;
-import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.IRequestParameters;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.util.lang.Bytes;
 
@@ -214,7 +214,7 @@
 			}
 
 			@Override
-			public RequestParameters getPostRequestParameters()
+			public IRequestParameters getPostRequestParameters()
 			{
 				return WebRequest.this.getPostRequestParameters();
 			}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebRequestCycle.java Sat Dec 19 11:27:15 2009
@@ -315,10 +315,4 @@
 			return super.isRedirect();
 		}
 	}
-
-	void unset()
-	{
-		set(null);
-	}
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebResponse.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebResponse.java Sat Dec 19 11:27:15 2009
@@ -330,7 +330,9 @@
 		}
 	}
 
-
+	/**
+	 * @see org.apache.wicket.Response#write(byte[])
+	 */
 	@Override
 	public void write(byte[] array)
 	{
@@ -490,5 +492,4 @@
 	{
 		httpServletResponse.setStatus(sc);
 	}
-
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java Sat Dec 19 11:27:15 2009
@@ -287,7 +287,6 @@
 			}
 		}
 
-
 		if (isWicketRequest(relativePath))
 		{
 			Application previous = null;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java Sat Dec 19 11:27:15 2009
@@ -33,7 +33,7 @@
 import org.apache.wicket.Application;
 import org.apache.wicket.RequestContext;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.ng.request.RequestParameters;
+import org.apache.wicket.ng.request.IRequestParameters;
 import org.apache.wicket.ng.request.Url;
 import org.apache.wicket.ng.request.Url.QueryParameter;
 import org.apache.wicket.protocol.http.WebApplication;
@@ -677,7 +677,7 @@
 		return postParameters;
 	}
 
-	private final RequestParameters postRequestParameters = new RequestParameters()
+	private final IRequestParameters postRequestParameters = new IRequestParameters()
 	{
 		public Set<String> getParameterNames()
 		{
@@ -709,7 +709,7 @@
 	};
 
 	@Override
-	public RequestParameters getPostRequestParameters()
+	public IRequestParameters getPostRequestParameters()
 	{
 		return postRequestParameters;
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/session/DefaultPageFactory.java Sat Dec 19 11:27:15 2009
@@ -28,7 +28,7 @@
 import org.apache.wicket.authorization.AuthorizationException;
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.ng.request.component.PageParametersNg;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.util.lang.Generics;
 
 
@@ -236,7 +236,7 @@
 		}
 	}
 
-	public <C extends Page> RequestablePage newPage(Class<C> pageClass, PageParametersNg parameters)
+	public <C extends Page> IRequestablePage newPage(Class<C> pageClass, PageParametersNg parameters)
 	{
 		// If no parameters are provided, try the default constructor first, than the PageParameter
 		// constructor with empty parameter list.

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockComponent.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockComponent.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockComponent.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockComponent.java Sat Dec 19 11:27:15 2009
@@ -20,23 +20,23 @@
 import java.util.List;
 
 import org.apache.wicket.behavior.IBehavior;
-import org.apache.wicket.ng.request.component.RequestableComponent;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestableComponent;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.util.string.Strings;
 
 /**
- * Simple {@link RequestableComponent} implementation for testing purposes
+ * Simple {@link IRequestableComponent} implementation for testing purposes
  * 
  * @author Matej Knopp
  */
-public class MockComponent implements RequestableComponent
+public class MockComponent implements IRequestableComponent
 {
 
 	private static final long serialVersionUID = 1L;
 
 	private String markupId;
 	private String id;
-	private RequestablePage page;
+	private IRequestablePage page;
 	private String path;
 	
 	/**
@@ -46,7 +46,7 @@
 	{
 	}
 	
-	public RequestableComponent get(String path)
+	public IRequestableComponent get(String path)
 	{
 		MockComponent c = new MockComponent();
 		if (Strings.isEmpty(getPath()))
@@ -96,7 +96,7 @@
 		return markupId;
 	}
 
-	public RequestablePage getPage()
+	public IRequestablePage getPage()
 	{
 		return page;
 	}
@@ -107,7 +107,7 @@
 	 * @param page
 	 * @return <code>this</code>
 	 */
-	public MockComponent setPage(RequestablePage page)
+	public MockComponent setPage(IRequestablePage page)
 	{
 		this.page = page;
 		return this;

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/MockPage.java Sat Dec 19 11:27:15 2009
@@ -17,14 +17,14 @@
 package org.apache.wicket.ng;
 
 import org.apache.wicket.ng.request.component.PageParametersNg;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 
 /**
- * Simple {@link RequestablePage} implementation for testing purposes
+ * Simple {@link IRequestablePage} implementation for testing purposes
  * 
  * @author Matej Knopp
  */
-public class MockPage extends MockComponent implements RequestablePage
+public class MockPage extends MockComponent implements IRequestablePage
 {
 	
 	private static final long serialVersionUID = 1L;
@@ -65,7 +65,7 @@
 	}
 	
 	@Override
-	public RequestablePage getPage()
+	public IRequestablePage getPage()
 	{
 		return this;
 	}
@@ -134,7 +134,7 @@
 	/**
 	 * Sets the createdBookmarkable flag.
 	 * 
-	 * @see RequestablePage#wasCreatedBookmarkable()
+	 * @see IRequestablePage#wasCreatedBookmarkable()
 	 * 
 	 * @param createdBookmarkable
 	 * @return <code>this</code>

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/page/persistent/disk/DiskDataStoreTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/page/persistent/disk/DiskDataStoreTest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/page/persistent/disk/DiskDataStoreTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/page/persistent/disk/DiskDataStoreTest.java Sat Dec 19 11:27:15 2009
@@ -29,7 +29,7 @@
 import junit.framework.TestCase;
 
 import org.apache.wicket.ng.page.persistent.AsynchronousDataStore;
-import org.apache.wicket.ng.page.persistent.DataStore;
+import org.apache.wicket.ng.page.persistent.IDataStore;
 import org.apache.wicket.util.lang.Checks;
 
 public class DiskDataStoreTest extends TestCase
@@ -155,7 +155,7 @@
 
 	}
 
-	private DataStore dataStore;
+	private IDataStore dataStore;
 
 	private class SaveRunnable implements Runnable
 	{

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/cycle/RequestHandlerStackTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/cycle/RequestHandlerStackTest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/cycle/RequestHandlerStackTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/cycle/RequestHandlerStackTest.java Sat Dec 19 11:27:15 2009
@@ -21,7 +21,7 @@
 import junit.framework.TestCase;
 
 import org.apache.wicket.Response;
-import org.apache.wicket.ng.request.RequestHandler;
+import org.apache.wicket.ng.request.IRequestHandler;
 
 /**
  * 
@@ -111,7 +111,7 @@
 
 		final RequestHandlerStack stack = newStack(originalResponse);
 
-		final RequestHandler handler3 = new RequestHandler()
+		final IRequestHandler handler3 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -124,7 +124,7 @@
 			}
 		};
 
-		final RequestHandler handler2 = new RequestHandler()
+		final IRequestHandler handler2 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -142,7 +142,7 @@
 			}
 		};
 
-		final RequestHandler handler1 = new RequestHandler()
+		final IRequestHandler handler1 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -188,7 +188,7 @@
 		final Response originalResponse = newResponse();
 		final RequestHandlerStack stack = newStack(originalResponse);
 
-		final RequestHandler handler4 = new RequestHandler()
+		final IRequestHandler handler4 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -205,7 +205,7 @@
 			}
 		};
 
-		final RequestHandler handler3 = new RequestHandler()
+		final IRequestHandler handler3 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -222,7 +222,7 @@
 			}
 		};
 
-		final RequestHandler handler2 = new RequestHandler()
+		final IRequestHandler handler2 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -239,7 +239,7 @@
 			}
 		};
 
-		RequestHandler handler1 = new RequestHandler()
+		IRequestHandler handler1 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -285,7 +285,7 @@
 		final Response originalResponse = newResponse();
 		final RequestHandlerStack stack = newStack(originalResponse);
 
-		final RequestHandler handler4 = new RequestHandler()
+		final IRequestHandler handler4 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -300,7 +300,7 @@
 			}
 		};
 
-		final RequestHandler handler3 = new RequestHandler()
+		final IRequestHandler handler3 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -321,7 +321,7 @@
 			}
 		};
 
-		final RequestHandler handler2 = new RequestHandler()
+		final IRequestHandler handler2 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{
@@ -337,7 +337,7 @@
 			}
 		};
 
-		RequestHandler handler1 = new RequestHandler()
+		IRequestHandler handler1 = new IRequestHandler()
 		{
 			public void respond(RequestCycle requestCycle)
 			{

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractEncoderTest.java Sat Dec 19 11:27:15 2009
@@ -24,7 +24,7 @@
 import org.apache.wicket.Request;
 import org.apache.wicket.ng.markup.html.link.ILinkListener;
 import org.apache.wicket.ng.request.Url;
-import org.apache.wicket.ng.request.component.RequestablePage;
+import org.apache.wicket.ng.request.component.IRequestablePage;
 import org.apache.wicket.ng.request.listener.RequestListenerInterface;
 
 /**
@@ -110,7 +110,7 @@
 		};
 	}
 
-	protected void checkPage(RequestablePage page, int id)
+	protected void checkPage(IRequestablePage page, int id)
 	{
 		assertEquals(id, page.getPageId());
 	}

Modified: wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java?rev=892463&r1=892462&r2=892463&view=diff
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java (original)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ng/request/mapper/AbstractResourceReferenceEncoderTest.java Sat Dec 19 11:27:15 2009
@@ -18,7 +18,7 @@
 
 import java.util.Locale;
 
-import org.apache.wicket.ng.resource.Resource;
+import org.apache.wicket.ng.resource.IResource;
 import org.apache.wicket.ng.resource.ResourceReference;
 
 /**
@@ -34,7 +34,7 @@
 	{
 	}
 
-	protected final Resource resource1 = new Resource()
+	protected final IResource resource1 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -43,7 +43,7 @@
 		}
 	};
 	
-	protected final Resource resource2 = new Resource()
+	protected final IResource resource2 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -52,7 +52,7 @@
 		}
 	};
 	
-	protected final Resource resource3 = new Resource()
+	protected final IResource resource3 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -61,7 +61,7 @@
 		}
 	};
 	
-	protected final Resource resource4 = new Resource()
+	protected final IResource resource4 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -70,7 +70,7 @@
 		}
 	};
 	
-	protected final Resource resource5 = new Resource()
+	protected final IResource resource5 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -79,7 +79,7 @@
 		}
 	};
 
-	protected final Resource resource6 = new Resource()
+	protected final IResource resource6 = new IResource()
 	{
 		private static final long serialVersionUID = 1L;
 
@@ -96,7 +96,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource1;
 		};
@@ -109,7 +109,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource2;
 		};
@@ -121,7 +121,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource3;
 		};
@@ -133,7 +133,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource4;
 		};
@@ -145,7 +145,7 @@
 		private static final long serialVersionUID = 1L;
 
 	@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource5;
 		};
@@ -158,7 +158,7 @@
 		private static final long serialVersionUID = 1L;
 
 		@Override
-		public Resource getResource()
+		public IResource getResource()
 		{
 			return resource6;
 		};