You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2009/11/14 03:23:32 UTC

svn commit: r836094 - in /wicket/trunk/wicket/src/main/java/org/apache/wicket/ng: ./ mock/ protocol/http/ request/ request/cycle/ request/handler/ request/handler/impl/ request/handler/impl/render/ request/mapper/ request/mapper/parameters/ request/par...

Author: knopp
Date: Sat Nov 14 02:23:31 2009
New Revision: 836094

URL: http://svn.apache.org/viewvc?rev=836094&view=rev
Log:
javadoc

Added:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java   (with props)
Removed:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFindException.java
Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/ThreadContext.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/CompoundRequestMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/ExceptionMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestHandlerStack.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFoundException.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/BufferedResponseRequestHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/RenderPageRequestHandler.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/RenderPageRequestHandlerDelegate.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/WebRenderPageRequestHandlerDelegate.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/BufferedResponseMapper.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/PageSource.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/mapper/parameters/PageParametersEncoder.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/CombinedRequestParametersAdapter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/parameter/EmptyRequestParameters.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/response/StringResponse.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/session/SessionStore.java

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=836094&r1=836093&r2=836094&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 Sat Nov 14 02:23:31 2009
@@ -18,6 +18,11 @@
 
 import org.apache.wicket.ng.request.cycle.RequestCycle;
 
+/**
+ * Holds thread local state for Wicket data.
+ * 
+ * @author Matej Knopp
+ */
 public class ThreadContext
 {
 	private ThreadContext()
@@ -44,47 +49,79 @@
 		return context;
 	}
 
+	/**
+	 * @return {@link Application} bound to current thread
+	 */
 	public static Application getApplication()
 	{
 		ThreadContext context = get(false);
 		return context != null ? context.application : null;
 	}
 
+	/**
+	 * Binds the specified application to current thread.
+	 * 
+	 * @param application
+	 */
 	public static void setApplication(Application application)
 	{
 		ThreadContext context = get(true);
 		context.application = application;
 	}
 
+	/**
+	 * @return {@link RequestCycle} bound to current thrad
+	 */
 	public static RequestCycle getRequestCycle()
 	{
 		ThreadContext context = get(false);
 		return context != null ? context.requestCycle : null;
 	}
 
+	/**
+	 * Binds the {@link RequestCycle} to current thread.
+	 * 
+	 * @param requestCycle
+	 */
 	public static void setRequestCycle(RequestCycle requestCycle)
 	{
 		ThreadContext context = get(true);
 		context.requestCycle = requestCycle;
 	}
 
+	/**
+	 * @return {@link Session} bound to current thread
+	 */
 	public static Session getSession()
 	{
 		ThreadContext context = get(false);
 		return context != null ? context.session : null;
 	}
 
+	/**
+	 * Binds the session to current thread.
+	 * 
+	 * @param session
+	 */
 	public static void setSession(Session session)
 	{
 		ThreadContext context = get(true);
 		context.session = session;
 	}
 
+	/**
+	 * Cleans the thread local state.
+	 */
 	public static void detach()
 	{
 		threadLocal.remove();
 	}
 
+	/**
+	 * Cleans the {@link ThreadContext} and returns previous context.
+	 * 
+	 * @return old {@link ThreadContext}
+	 */
 	public static ThreadContext getAndClean()
 	{
 		ThreadContext value = threadLocal.get();
@@ -92,6 +129,12 @@
 		return value;
 	}
 
+	/**
+	 * Restores the context
+	 * 
+	 * @param threadContext
+	 * @see #getAndClean()
+	 */
 	public static void restore(ThreadContext threadContext)
 	{
 		threadLocal.set(threadContext);

Added: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java?rev=836094&view=auto
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java (added)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/mock/MockWebRequest.java Sat Nov 14 02:23:31 2009
@@ -0,0 +1,184 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.ng.mock;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.http.Cookie;
+
+import org.apache.wicket.ng.WicketRuntimeException;
+import org.apache.wicket.ng.protocol.http.WebRequest;
+import org.apache.wicket.ng.request.Url;
+
+public class MockWebRequest extends WebRequest
+{
+	private final Url url;
+
+	public MockWebRequest(Url url)
+	{
+		this.url = url;
+	}
+
+	@Override
+	public WebRequest requestWithUrl(Url url)
+	{
+		return new MockWebRequest(url);
+	}
+
+	@Override
+	public Url getUrl()
+	{
+		return url;
+	}
+
+	@Override
+	public int hashCode()
+	{
+		final int prime = 31;
+		int result = 1;
+		result = prime * result + ((url == null) ? 0 : url.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(Object obj)
+	{
+		if (this == obj)
+			return true;
+		if (obj == null)
+			return false;
+		if (getClass() != obj.getClass())
+			return false;
+		MockWebRequest other = (MockWebRequest)obj;
+		if (url == null)
+		{
+			if (other.url != null)
+				return false;
+		}
+		else if (!url.equals(other.url))
+			return false;
+		return true;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "MockRequest [url=" + url + "]";
+	}
+
+	private Cookie cookies[];
+
+	public void setCookies(Cookie[] cookies)
+	{
+		this.cookies = cookies;
+	}
+
+	@Override
+	public Cookie[] getCookies()
+	{
+		return cookies;
+	}
+
+	private final Map<String, List<Object>> headers = new HashMap<String, List<Object>>();
+
+	@Override
+	public long getDateHeader(String name)
+	{
+		List<Object> dates = headers.get(name);
+		if (dates == null || dates.isEmpty())
+		{
+			throw new WicketRuntimeException("Date header with name '" + name + "' does not exist.");
+		}
+
+		Object date = dates.get(0);
+
+		if (date instanceof Long == false)
+		{
+			throw new WicketRuntimeException("Date header with name '" + name +
+				"' is not a valid long.");
+		}
+		return (Long)date;
+	}
+
+	private void addHeaderObject(String name, Object value)
+	{
+		List<Object> values = headers.get(name);
+		if (values == null)
+		{
+			values = new ArrayList<Object>();
+			headers.put(name, values);
+		}
+		values.add(value);
+	}
+
+	public void addDateHeader(String name, long value)
+	{
+		addHeaderObject(name, value);
+	}
+
+	@Override
+	public String getHeader(String name)
+	{
+		List<Object> h = headers.get(name);
+		return (h == null || h.isEmpty()) ? null : h.get(0).toString();
+	}
+
+	public void setHeader(String name, String value)
+	{
+		addHeaderObject(name, value);
+	}
+
+	private Locale locale = Locale.getDefault();
+
+	public void setLocale(Locale locale)
+	{
+		this.locale = locale;
+	}
+
+	@Override
+	public Locale getLocale()
+	{
+		return locale;
+	}
+
+	@Override
+	public List<String> getHeaders(String name)
+	{
+		List<String> res = new ArrayList<String>();
+		List<Object> values = headers.get(name);
+		if (values != null)
+		{
+			for (Object value : values)
+			{
+				if (value != null)
+				{
+					res.add(value.toString());
+				}
+			}
+		}
+		return res;
+	}
+
+	public void removeHeader(String header)
+	{
+		headers.remove(header);
+	}
+}

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

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/ServletWebRequest.java Sat Nov 14 02:23:31 2009
@@ -50,7 +50,7 @@
 	private final HttpServletRequest httpServletRequest;
 
 	private final Url url;
-	
+
 	/**
 	 * Construct.
 	 * 
@@ -63,11 +63,11 @@
 	{
 		Checks.argumentNotNull(httpServletRequest, "httpServletRequest");
 		Checks.argumentNotNull(filterPrefix, "filterPrefix");
-		
-		this.url = getUrl(httpServletRequest, filterPrefix);
+
+		url = getUrl(httpServletRequest, filterPrefix);
 		this.httpServletRequest = httpServletRequest;
 	}
-	
+
 	private Url getUrl(HttpServletRequest request, String filterPrefix)
 	{
 		if (filterPrefix.length() > 0 && !filterPrefix.endsWith("/"))
@@ -76,15 +76,16 @@
 		}
 		StringBuilder url = new StringBuilder();
 		String uri = request.getRequestURI();
-		url.append(Strings.stripJSessionId(uri.substring(request.getContextPath().length() + filterPrefix.length() + 1)));		
-		
+		url.append(Strings.stripJSessionId(uri.substring(request.getContextPath().length() +
+			filterPrefix.length() + 1)));
+
 		String query = request.getQueryString();
 		if (!Strings.isEmpty(query))
 		{
 			url.append("?");
 			url.append(query);
 		}
-						
+
 		return Url.parse(Strings.stripJSessionId(url.toString()));
 	}
 
@@ -104,12 +105,13 @@
 		return httpServletRequest.getCookies();
 	}
 
-	
+
 	@Override
 	public Locale getLocale()
 	{
 		return httpServletRequest.getLocale();
 	}
+
 	@Override
 	public long getDateHeader(String name)
 	{
@@ -136,9 +138,9 @@
 	}
 
 	private Map<String, List<StringValue>> postParameters = null;
-	
+
 	@SuppressWarnings("unchecked")
-	public Map<String, List<StringValue>> getPostParameters()
+	private Map<String, List<StringValue>> getPostParameters()
 	{
 		if (postParameters == null)
 		{
@@ -147,7 +149,7 @@
 			{
 				BufferedReader reader = getHttpServletRequest().getReader();
 				String value = Streams.readString(reader);
-				
+
 				if (!Strings.isEmpty(value))
 				{
 					Url url = Url.parse("?" + value);
@@ -165,7 +167,9 @@
 			}
 			catch (IOException e)
 			{
-				logger.warn("Error parsing request body for post parameters; Fallback to ServletRequest#getParameters().", e);
+				logger.warn(
+					"Error parsing request body for post parameters; Fallback to ServletRequest#getParameters().",
+					e);
 				for (String name : (List<String>)Collections.list(getHttpServletRequest().getParameterNames()))
 				{
 					List<StringValue> list = postParameters.get(name);
@@ -180,18 +184,18 @@
 					}
 				}
 			}
-			
+
 		}
 		return postParameters;
 	}
-	
-	private RequestParameters postRequestParameters = new RequestParameters()
+
+	private final RequestParameters postRequestParameters = new RequestParameters()
 	{
 		public Set<String> getParameterNames()
 		{
 			return Collections.unmodifiableSet(getPostParameters().keySet());
 		}
-		
+
 		public StringValue getParameterValue(String name)
 		{
 			List<StringValue> values = getPostParameters().get(name);
@@ -204,6 +208,7 @@
 				return values.iterator().next();
 			}
 		}
+
 		public List<StringValue> getParameterValues(String name)
 		{
 			List<StringValue> values = getPostParameters().get(name);
@@ -214,11 +219,11 @@
 			return values;
 		}
 	};
-	
+
 	@Override
 	public RequestParameters getPostRequestParameters()
 	{
-		return postRequestParameters; 
+		return postRequestParameters;
 	}
 
 	@Override

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/protocol/http/WicketFilter.java Sat Nov 14 02:23:31 2009
@@ -84,7 +84,8 @@
 	 * @return <code>true</code> if there is a trailing slash, <code>false</code> if redirect was
 	 *         necessary.
 	 */
-	private boolean checkForTrailingSlash(HttpServletRequest request, HttpServletResponse response, String filterPath)
+	private boolean checkForTrailingSlash(HttpServletRequest request, HttpServletResponse response,
+		String filterPath)
 	{
 		// current URI
 		String uri = Strings.stripJSessionId(request.getRequestURI());
@@ -120,13 +121,13 @@
 		return true;
 	}
 
-	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
-			ServletException
+	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
+		throws IOException, ServletException
 	{
 		try
 		{
-			HttpServletRequest httpServletRequest = (HttpServletRequest) request;
-			HttpServletResponse httpServletResponse = (HttpServletResponse) response;
+			HttpServletRequest httpServletRequest = (HttpServletRequest)request;
+			HttpServletResponse httpServletResponse = (HttpServletResponse)response;
 
 			String filterPath = getFilterPath(httpServletRequest);
 
@@ -139,7 +140,7 @@
 
 				RequestCycle requestCycle = webApplication.createRequestCycle(req, resp);
 
-				
+
 				if (!requestCycle.processRequestAndDetach())
 				{
 					chain.doFilter(request, response);
@@ -178,16 +179,17 @@
 			try
 			{
 				// Try to find the specified factory class
-				final Class<?> factoryClass = Thread.currentThread().getContextClassLoader().loadClass(
-						appFactoryClassName);
+				final Class<?> factoryClass = Thread.currentThread()
+					.getContextClassLoader()
+					.loadClass(appFactoryClassName);
 
 				// Instantiate the factory
-				return (IWebApplicationFactory) factoryClass.newInstance();
+				return (IWebApplicationFactory)factoryClass.newInstance();
 			}
 			catch (ClassCastException e)
 			{
-				throw new WicketRuntimeException("Application factory class " + appFactoryClassName
-						+ " must implement IWebApplicationFactory");
+				throw new WicketRuntimeException("Application factory class " +
+					appFactoryClassName + " must implement IWebApplicationFactory");
 			}
 			catch (ClassNotFoundException e)
 			{
@@ -229,6 +231,9 @@
 		}
 	}
 
+	/**
+	 * @return filter config
+	 */
 	public FilterConfig getFilterConfig()
 	{
 		return filterConfig;
@@ -250,12 +255,14 @@
 			catch (SecurityException e)
 			{
 				// Swallow this at INFO.
-				log.info("Couldn't read web.xml to automatically pick up servlet/filter path: " + e.getMessage());
+				log.info("Couldn't read web.xml to automatically pick up servlet/filter path: " +
+					e.getMessage());
 			}
 			if (filterPath == null)
 			{
-				log.info("Unable to parse filter mapping web.xml for " + filterConfig.getFilterName() + ". "
-						+ "Configure with init-param " + FILTER_MAPPING_PARAM + " if it is not \"/*\".");
+				log.info("Unable to parse filter mapping web.xml for " +
+					filterConfig.getFilterName() + ". " + "Configure with init-param " +
+					FILTER_MAPPING_PARAM + " if it is not \"/*\".");
 			}
 		}
 	};
@@ -263,7 +270,7 @@
 	private FilterConfig filterConfig;
 	private String filterPath;
 
-	private boolean servletMode = false;
+	private final boolean servletMode = false;
 
 	// private String getFilterPath(String filterName, InputStream is) throws ServletException
 	// {
@@ -462,8 +469,8 @@
 		}
 		else if (!result.startsWith("/") || !result.endsWith("/*"))
 		{
-			throw new WicketRuntimeException("Your " + FILTER_MAPPING_PARAM
-					+ " must start with \"/\" and end with \"/*\". It is: " + result);
+			throw new WicketRuntimeException("Your " + FILTER_MAPPING_PARAM +
+				" must start with \"/\" and end with \"/*\". It is: " + result);
 		}
 		return filterPath = stripWildcard(result);
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/CompoundRequestMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/CompoundRequestMapper.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/CompoundRequestMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/CompoundRequestMapper.java Sat Nov 14 02:23:31 2009
@@ -16,7 +16,9 @@
  */
 package org.apache.wicket.ng.request;
 
-
+/**
+ * Mapper that delegates the mapping to other {@link RequestMapper}s.
+ */
 public interface CompoundRequestMapper extends RequestMapper
 {
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/ExceptionMapper.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/ExceptionMapper.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/ExceptionMapper.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/ExceptionMapper.java Sat Nov 14 02:23:31 2009
@@ -18,7 +18,15 @@
 
 import org.apache.wicket.ng.request.RequestHandler;
 
+/**
+ * Maps exception to {@link RequestHandler}.
+ */
 public interface ExceptionMapper
 {
+	/**
+	 * @param e
+	 * 
+	 * @return {@link RequestHandler} for given exception
+	 */
 	RequestHandler map(Exception e);
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycle.java Sat Nov 14 02:23:31 2009
@@ -53,348 +53,359 @@
  */
 public class RequestCycle extends RequestHandlerStack
 {
-    private final Request request;
+	private final Request request;
 
-    private UrlRenderer urlRenderer;
+	private UrlRenderer urlRenderer;
 
-    private final Response originalResponse;
+	private final Response originalResponse;
 
-    private final RequestMapper requestMapper;
-    private final ExceptionMapper exceptionMapper;
+	private final RequestMapper requestMapper;
+	private final ExceptionMapper exceptionMapper;
 
-    /**
-     * Construct.
-     * 
-     * @param context
-     */
-    public RequestCycle(RequestCycleContext context)
-    {
-        super(context.getResponse());
-
-        Checks.argumentNotNull(context, "context");
-
-        Checks.argumentNotNull(context.getRequest(), "context.request");
-        Checks.argumentNotNull(context.getResponse(), "context.response");
-        Checks.argumentNotNull(context.getRequestMapper(), "context.requestMapper");
-        Checks.argumentNotNull(context.getExceptionMapper(), "context.exceptionMapper");
-
-        this.request = context.getRequest();
-        this.originalResponse = context.getResponse();
-        this.requestMapper = context.getRequestMapper();
-        this.exceptionMapper = context.getExceptionMapper();
-    }
-
-    protected UrlRenderer newUrlRenderer()
-    {
-        // All URLs will be rendered relative to current request (can be overriden afterwards)
-        return new UrlRenderer(getRequest().getUrl());
-    }
-
-    /**
-     * Get the original response the request was created with. Access to the original response may
-     * be necessary if the response has been temporarily replaced but the components require methods
-     * from original response (i.e. cookie methods of WebResponse, etc).
-     * 
-     * @return The original response object.
-     */
-    public Response getOriginalResponse()
-    {
-        return originalResponse;
-    }
-
-    /**
-     * Returns {@link UrlRenderer} for this {@link RequestCycle}.
-     * 
-     * @return UrlRenderer instance.
-     */
-    public final UrlRenderer getUrlRenderer()
-    {
-        if (urlRenderer == null)
-        {
-            urlRenderer = newUrlRenderer();
-        }
-        return urlRenderer;
-    }
-
-    /**
-     * Resolves current request to a {@link RequestHandler}.
-     * 
-     * @return RequestHandler instance
-     */
-    protected RequestHandler resolveRequestHandler()
-    {
-        RequestHandler handler = requestMapper.mapRequest(request);
-        return handler;
-    }
-
-    /**
-     * @return How many times will Wicket attempt to render the exception request handler before
-     *         giving up.
-     */
-    protected int getExceptionRetryCount()
-    {
-        return 10;
-    }
-
-    /**
-     * Processes the request.
-     * 
-     * @return <code>true</code> if the request resolved to a Wicket request, <code>false</code>
-     *         otherwise.
-     */
-    public boolean processRequest()
-    {
-        try
-        {
-            set(this);
-            RequestHandler handler = resolveRequestHandler();
-            if (handler != null)
-            {
-                executeRequestHandler(handler);
-                return true;
-            }
-
-        }
-        catch (Exception e)
-        {
-            RequestHandler handler = handleException(e);
-            if (handler != null)
-            {
-                executeExceptionRequestHandler(handler, getExceptionRetryCount());
-            }
-            else
-            {
-                log.error("Error during request processing", e);
-            }
-        }
-        finally
-        {
-            set(null);
-        }
-        return false;
-    }
-
-    /**
-     * Convenience method that processes the request and detaches the {@link RequestCycle}.
-     * 
-     * @return <code>true</code> if the request resolved to a Wicket request, <code>false</code>
-     *         otherwise.
-     */
-    public boolean processRequestAndDetach()
-    {
-        boolean result;
-        try
-        {
-            result = processRequest();
-        }
-        finally
-        {
-            detach();
-        }
-        return result;
-    }
-
-    private void executeExceptionRequestHandler(RequestHandler handler, int retryCount)
-    {
-        try
-        {
-            executeRequestHandler(handler);
-        }
-        catch (Exception e)
-        {
-            if (retryCount > 0)
-            {
-                RequestHandler next = handleException(e);
-                if (handler != null)
-                {
-                    executeExceptionRequestHandler(next, retryCount - 1);
-                    return;
-                }
-            }
-            log.error("Error during processing error message", e);
-        }
-    }
-
-    /**
-     * Return {@link RequestHandler} for the given exception.
-     * 
-     * @param e
-     * @return RequestHandler instance
-     */
-    protected RequestHandler handleException(Exception e)
-    {
-        return exceptionMapper.map(e);
-    }
-
-    /**
-     * @return current request
-     */
-    public Request getRequest()
-    {
-        return request;
-    }
-
-    @Override
-    protected RequestCycle getRequestCycle()
-    {
-        return this;
-    }
-
-    /** MetaDataEntry array. */
-    private MetaDataEntry< ? >[] metaData;
-
-    /**
-     * Sets the metadata for this request cycle using the given key. If the metadata object is not
-     * of the correct type for the metadata key, an IllegalArgumentException will be thrown. For
-     * information on creating MetaDataKeys, see {@link MetaDataKey}.
-     * 
-     * @param key
-     *            The singleton key for the metadata
-     * @param object
-     *            The metadata object
-     * @param <T>
-     * @throws IllegalArgumentException
-     * @see MetaDataKey
-     */
-    public final <T> void setMetaData(final MetaDataKey<T> key, final T object)
-    {
-        metaData = key.set(metaData, object);
-    }
-
-    /**
-     * Gets metadata for this request cycle using the given key.
-     * 
-     * @param <T>
-     *            The type of the metadata
-     * 
-     * @param key
-     *            The key for the data
-     * @return The metadata or null if no metadata was found for the given key
-     * @see MetaDataKey
-     */
-    public final <T> T getMetaData(final MetaDataKey<T> key)
-    {
-        return key.get(metaData);
-    }
-
-    private static final Logger log = LoggerFactory.getLogger(RequestCycle.class);
-
-    /**
-     * Returns URL for the request handler or <code>null</code> if the handler couldn't have been
-     * encoded.
-     * 
-     * @param handler
-     * @return Url instance or <code>null</code>
-     */
-    public Url urlFor(RequestHandler handler)
-    {
-        return requestMapper.mapHandler(handler);
-    }
-
-    /**
-     * Returns the rendered URL for the request handler or <code>null</code> if the handler couldn't
-     * have been rendered.
-     * <p>
-     * The resulting URL will be relative to current page.
-     * 
-     * @param handler
-     * @return Url String or <code>null</code>
-     */
-    public String renderUrlFor(RequestHandler handler)
-    {
-        Url url = urlFor(handler);
-        if (url != null)
-        {
-            return getUrlRenderer().renderUrl(url);
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    @Override
-    public void detach()
-    {
-        set(this);
-        try
-        {
-            super.detach();
-        }
-        finally
-        {
-            for (DetachCallback c : detachCallbacks)
-            {
-                try
-                {
-                    c.onDetach(this);
-                }
-                catch (Exception e)
-                {
-                    log.error("Error detaching DetachCallback", e);
-                }
-                ;
-            }
-            set(null);
-        }
-    }
-
-    /**
-     * Registers a callback to be invoked on {@link RequestCycle} detach. The callback will be
-     * invoked after all {@link RequestHandler}s are detached.
-     * 
-     * @param detachCallback
-     */
-    public void register(DetachCallback detachCallback)
-    {
-        detachCallbacks.add(detachCallback);
-    };
-
-    private List<DetachCallback> detachCallbacks = new ArrayList<DetachCallback>();
-
-    /**
-     * Custom callback invoked on request cycle detach. Detach callbacks are invoked after all
-     * {@link RequestHandler}s are detached.
-     * 
-     * @author Matej Knopp
-     */
-    public interface DetachCallback
-    {
-        /**
-         * Invoked on request cycle detach.
-         * 
-         * @param requestCycle
-         */
-        public void onDetach(RequestCycle requestCycle);
-    };
-
-    /**
-     * Returns request cycle associated with current thread.
-     * 
-     * @return request cycle instance or <code>null</code> if no request cycle is associated with
-     *         current thread.
-     */
-    public static RequestCycle get()
-    {
-        return ThreadContext.getRequestCycle();
-    }
-
-    private static void set(RequestCycle requestCycle)
-    {
-        ThreadContext.setRequestCycle(requestCycle);
-    }
-
-    public void setResponsePage(RequestablePage page)
-    {
-        scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(new PageProvider(page),
-                RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
-    }
-
-    public void setResponsePage(Class< ? extends RequestablePage> pageClass,
-            PageParameters parameters)
-    {
-        PageProvider provider = new PageProvider(pageClass);
-        scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(provider,
-                RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
-    }
+	/**
+	 * Construct.
+	 * 
+	 * @param context
+	 */
+	public RequestCycle(RequestCycleContext context)
+	{
+		super(context.getResponse());
+
+		Checks.argumentNotNull(context, "context");
+
+		Checks.argumentNotNull(context.getRequest(), "context.request");
+		Checks.argumentNotNull(context.getResponse(), "context.response");
+		Checks.argumentNotNull(context.getRequestMapper(), "context.requestMapper");
+		Checks.argumentNotNull(context.getExceptionMapper(), "context.exceptionMapper");
+
+		request = context.getRequest();
+		originalResponse = context.getResponse();
+		requestMapper = context.getRequestMapper();
+		exceptionMapper = context.getExceptionMapper();
+	}
+
+	protected UrlRenderer newUrlRenderer()
+	{
+		// All URLs will be rendered relative to current request (can be overriden afterwards)
+		return new UrlRenderer(getRequest().getUrl());
+	}
+
+	/**
+	 * Get the original response the request was created with. Access to the original response may
+	 * be necessary if the response has been temporarily replaced but the components require methods
+	 * from original response (i.e. cookie methods of WebResponse, etc).
+	 * 
+	 * @return The original response object.
+	 */
+	public Response getOriginalResponse()
+	{
+		return originalResponse;
+	}
+
+	/**
+	 * Returns {@link UrlRenderer} for this {@link RequestCycle}.
+	 * 
+	 * @return UrlRenderer instance.
+	 */
+	public final UrlRenderer getUrlRenderer()
+	{
+		if (urlRenderer == null)
+		{
+			urlRenderer = newUrlRenderer();
+		}
+		return urlRenderer;
+	}
+
+	/**
+	 * Resolves current request to a {@link RequestHandler}.
+	 * 
+	 * @return RequestHandler instance
+	 */
+	protected RequestHandler resolveRequestHandler()
+	{
+		RequestHandler handler = requestMapper.mapRequest(request);
+		return handler;
+	}
+
+	/**
+	 * @return How many times will Wicket attempt to render the exception request handler before
+	 *         giving up.
+	 */
+	protected int getExceptionRetryCount()
+	{
+		return 10;
+	}
+
+	/**
+	 * Processes the request.
+	 * 
+	 * @return <code>true</code> if the request resolved to a Wicket request, <code>false</code>
+	 *         otherwise.
+	 */
+	public boolean processRequest()
+	{
+		try
+		{
+			set(this);
+			RequestHandler handler = resolveRequestHandler();
+			if (handler != null)
+			{
+				executeRequestHandler(handler);
+				return true;
+			}
+
+		}
+		catch (Exception e)
+		{
+			RequestHandler handler = handleException(e);
+			if (handler != null)
+			{
+				executeExceptionRequestHandler(handler, getExceptionRetryCount());
+			}
+			else
+			{
+				log.error("Error during request processing", e);
+			}
+		}
+		finally
+		{
+			set(null);
+		}
+		return false;
+	}
+
+	/**
+	 * Convenience method that processes the request and detaches the {@link RequestCycle}.
+	 * 
+	 * @return <code>true</code> if the request resolved to a Wicket request, <code>false</code>
+	 *         otherwise.
+	 */
+	public boolean processRequestAndDetach()
+	{
+		boolean result;
+		try
+		{
+			result = processRequest();
+		}
+		finally
+		{
+			detach();
+		}
+		return result;
+	}
+
+	private void executeExceptionRequestHandler(RequestHandler handler, int retryCount)
+	{
+		try
+		{
+			executeRequestHandler(handler);
+		}
+		catch (Exception e)
+		{
+			if (retryCount > 0)
+			{
+				RequestHandler next = handleException(e);
+				if (handler != null)
+				{
+					executeExceptionRequestHandler(next, retryCount - 1);
+					return;
+				}
+			}
+			log.error("Error during processing error message", e);
+		}
+	}
+
+	/**
+	 * Return {@link RequestHandler} for the given exception.
+	 * 
+	 * @param e
+	 * @return RequestHandler instance
+	 */
+	protected RequestHandler handleException(Exception e)
+	{
+		return exceptionMapper.map(e);
+	}
+
+	/**
+	 * @return current request
+	 */
+	public Request getRequest()
+	{
+		return request;
+	}
+
+	@Override
+	protected RequestCycle getRequestCycle()
+	{
+		return this;
+	}
+
+	/** MetaDataEntry array. */
+	private MetaDataEntry<?>[] metaData;
+
+	/**
+	 * Sets the metadata for this request cycle using the given key. If the metadata object is not
+	 * of the correct type for the metadata key, an IllegalArgumentException will be thrown. For
+	 * information on creating MetaDataKeys, see {@link MetaDataKey}.
+	 * 
+	 * @param key
+	 *            The singleton key for the metadata
+	 * @param object
+	 *            The metadata object
+	 * @param <T>
+	 * @throws IllegalArgumentException
+	 * @see MetaDataKey
+	 */
+	public final <T> void setMetaData(final MetaDataKey<T> key, final T object)
+	{
+		metaData = key.set(metaData, object);
+	}
+
+	/**
+	 * Gets metadata for this request cycle using the given key.
+	 * 
+	 * @param <T>
+	 *            The type of the metadata
+	 * 
+	 * @param key
+	 *            The key for the data
+	 * @return The metadata or null if no metadata was found for the given key
+	 * @see MetaDataKey
+	 */
+	public final <T> T getMetaData(final MetaDataKey<T> key)
+	{
+		return key.get(metaData);
+	}
+
+	private static final Logger log = LoggerFactory.getLogger(RequestCycle.class);
+
+	/**
+	 * Returns URL for the request handler or <code>null</code> if the handler couldn't have been
+	 * encoded.
+	 * 
+	 * @param handler
+	 * @return Url instance or <code>null</code>
+	 */
+	public Url urlFor(RequestHandler handler)
+	{
+		return requestMapper.mapHandler(handler);
+	}
+
+	/**
+	 * Returns the rendered URL for the request handler or <code>null</code> if the handler couldn't
+	 * have been rendered.
+	 * <p>
+	 * The resulting URL will be relative to current page.
+	 * 
+	 * @param handler
+	 * @return Url String or <code>null</code>
+	 */
+	public String renderUrlFor(RequestHandler handler)
+	{
+		Url url = urlFor(handler);
+		if (url != null)
+		{
+			return getUrlRenderer().renderUrl(url);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	@Override
+	public void detach()
+	{
+		set(this);
+		try
+		{
+			super.detach();
+		}
+		finally
+		{
+			for (DetachCallback c : detachCallbacks)
+			{
+				try
+				{
+					c.onDetach(this);
+				}
+				catch (Exception e)
+				{
+					log.error("Error detaching DetachCallback", e);
+				}
+				;
+			}
+			set(null);
+		}
+	}
+
+	/**
+	 * Registers a callback to be invoked on {@link RequestCycle} detach. The callback will be
+	 * invoked after all {@link RequestHandler}s are detached.
+	 * 
+	 * @param detachCallback
+	 */
+	public void register(DetachCallback detachCallback)
+	{
+		detachCallbacks.add(detachCallback);
+	};
+
+	private final List<DetachCallback> detachCallbacks = new ArrayList<DetachCallback>();
+
+	/**
+	 * Custom callback invoked on request cycle detach. Detach callbacks are invoked after all
+	 * {@link RequestHandler}s are detached.
+	 * 
+	 * @author Matej Knopp
+	 */
+	public interface DetachCallback
+	{
+		/**
+		 * Invoked on request cycle detach.
+		 * 
+		 * @param requestCycle
+		 */
+		public void onDetach(RequestCycle requestCycle);
+	};
+
+	/**
+	 * Returns request cycle associated with current thread.
+	 * 
+	 * @return request cycle instance or <code>null</code> if no request cycle is associated with
+	 *         current thread.
+	 */
+	public static RequestCycle get()
+	{
+		return ThreadContext.getRequestCycle();
+	}
+
+	private static void set(RequestCycle requestCycle)
+	{
+		ThreadContext.setRequestCycle(requestCycle);
+	}
+
+	/**
+	 * Convenience method for setting next page to be rendered.
+	 * 
+	 * @param page
+	 */
+	public void setResponsePage(RequestablePage page)
+	{
+		scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(new PageProvider(page),
+			RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
+	}
+
+	/**
+	 * Convenience method for setting next page to be rendered.
+	 * 
+	 * @param pageClass
+	 * @param parameters
+	 */
+	public void setResponsePage(Class<? extends RequestablePage> pageClass,
+		PageParameters parameters)
+	{
+		PageProvider provider = new PageProvider(pageClass);
+		scheduleRequestHandlerAfterCurrent(new RenderPageRequestHandler(provider,
+			RenderPageRequestHandler.RedirectPolicy.AUTO_REDIRECT));
+	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestCycleContext.java Sat Nov 14 02:23:31 2009
@@ -38,6 +38,14 @@
 	private RequestMapper requestMapper;
 	private ExceptionMapper exceptionMapper;
 
+	/**
+	 * Construct.
+	 * 
+	 * @param request
+	 * @param response
+	 * @param requestMapper
+	 * @param exceptionMapper
+	 */
 	public RequestCycleContext(Request request, Response response, RequestMapper requestMapper,
 		ExceptionMapper exceptionMapper)
 	{
@@ -47,43 +55,66 @@
 		this.exceptionMapper = exceptionMapper;
 	}
 
+	/**
+	 * @return request
+	 */
 	public Request getRequest()
 	{
 		return request;
 	}
 
+	/**
+	 * @return response
+	 */
 	public Response getResponse()
 	{
 		return response;
 	}
 
-
+	/**
+	 * @return requst mapper
+	 */
 	public RequestMapper getRequestMapper()
 	{
 		return requestMapper;
 	}
 
 
+	/**
+	 * @return exception mapper
+	 */
 	public ExceptionMapper getExceptionMapper()
 	{
 		return exceptionMapper;
 	}
 
+	/**
+	 * @param request
+	 */
 	public void setRequest(Request request)
 	{
 		this.request = request;
 	}
 
+	/**
+	 * @param response
+	 */
 	public void setResponse(Response response)
 	{
 		this.response = response;
 	}
 
+	/**
+	 * @param requestMapper
+	 */
 	public void setRequestMapper(RequestMapper requestMapper)
 	{
 		this.requestMapper = requestMapper;
 	}
 
+	/**
+	 * @param exceptionMapper
+	 */
 	public void setExceptionMapper(ExceptionMapper exceptionMapper)
 	{
 		this.exceptionMapper = exceptionMapper;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestHandlerStack.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestHandlerStack.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestHandlerStack.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/cycle/RequestHandlerStack.java Sat Nov 14 02:23:31 2009
@@ -109,8 +109,8 @@
 
 	/**
 	 * Schedules the request handler to be executed after current request handler finishes. If there
-	 * is already another request handler scheduled it will be discarded and overwritten by the
-	 * new one. If {@link #replaceCurrentRequestHandler(RequestHandler)} or
+	 * is already another request handler scheduled it will be discarded and overwritten by the new
+	 * one. If {@link #replaceCurrentRequestHandler(RequestHandler)} or
 	 * {@link #replaceAllRequestHandlers(RequestHandler)} is invoked during current request handler
 	 * execution the scheduled handler will be also discarded.
 	 * 
@@ -119,7 +119,7 @@
 	 */
 	public void scheduleRequestHandlerAfterCurrent(RequestHandler handler)
 	{
-		this.scheduledAfterCurrent = handler;
+		scheduledAfterCurrent = handler;
 	}
 
 	/**
@@ -130,10 +130,12 @@
 	 * @param handler
 	 */
 	// FIXME
-	// Is this method really useful for anything? To execute request handler after current 
-	// #scheduleRequestHandlerAfterCurrent is better alternative because it doesn't terminate current 
+	// Is this method really useful for anything? To execute request handler after current
+	// #scheduleRequestHandlerAfterCurrent is better alternative because it doesn't terminate
+	// current
 	// request handler.
-	// To restart request processing #replaceAllRequestHandlers is better alternative because it unrolls
+	// To restart request processing #replaceAllRequestHandlers is better alternative because it
+	// unrolls
 	// entire stack and cancels all request handlers in stack
 	public void replaceCurrentRequestHandler(RequestHandler handler)
 	{
@@ -177,6 +179,12 @@
 		private final boolean removeAll;
 		private final RequestHandler replacementRequestHandler;
 
+		/**
+		 * Construct.
+		 * 
+		 * @param replacementRequestHandler
+		 * @param removeAll
+		 */
 		public ReplaceHandlerException(RequestHandler replacementRequestHandler, boolean removeAll)
 		{
 			this.replacementRequestHandler = replacementRequestHandler;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFoundException.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFoundException.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFoundException.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/ComponentNotFoundException.java Sat Nov 14 02:23:31 2009
@@ -18,24 +18,48 @@
 
 import org.apache.wicket.ng.WicketRuntimeException;
 
+/**
+ * Exception thrown when component has not been found in hierarchy.
+ * 
+ * @author Matej Knopp
+ */
 public class ComponentNotFoundException extends WicketRuntimeException
 {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * Construct.
+	 */
 	public ComponentNotFoundException()
 	{
 	}
 
+	/**
+	 * Construct.
+	 * 
+	 * @param message
+	 */
 	public ComponentNotFoundException(String message)
 	{
 		super(message);
 	}
 
+	/**
+	 * Construct.
+	 * 
+	 * @param message
+	 * @param cause
+	 */
 	public ComponentNotFoundException(String message, Throwable cause)
 	{
 		super(message, cause);
 	}
 
+	/**
+	 * Construct.
+	 * 
+	 * @param cause
+	 */
 	public ComponentNotFoundException(Throwable cause)
 	{
 		super(cause);

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/PageAndComponentProvider.java Sat Nov 14 02:23:31 2009
@@ -160,7 +160,7 @@
 	/**
 	 * Returns the component path.
 	 * 
-	 * @return
+	 * @return component path
 	 */
 	public String getComponentPath()
 	{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/BufferedResponseRequestHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/BufferedResponseRequestHandler.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/BufferedResponseRequestHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/BufferedResponseRequestHandler.java Sat Nov 14 02:23:31 2009
@@ -21,10 +21,20 @@
 import org.apache.wicket.ng.request.response.BufferedWebResponse;
 import org.apache.wicket.ng.request.response.WebResponse;
 
+/**
+ * Handler that renders a {@link BufferedWebResponse}.
+ * 
+ * @author Matej Knopp
+ */
 public class BufferedResponseRequestHandler implements RequestHandler
 {
 	private final BufferedWebResponse bufferedWebResponse;
 
+	/**
+	 * Construct.
+	 * 
+	 * @param bufferedWebResponse
+	 */
 	public BufferedResponseRequestHandler(BufferedWebResponse bufferedWebResponse)
 	{
 		this.bufferedWebResponse = bufferedWebResponse;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/RenderPageRequestHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/RenderPageRequestHandler.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/RenderPageRequestHandler.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/RenderPageRequestHandler.java Sat Nov 14 02:23:31 2009
@@ -45,8 +45,7 @@
 	 * 
 	 * @author Matej Knopp
 	 */
-	public enum RedirectPolicy
-	{
+	public enum RedirectPolicy {
 		/**
 		 * Always redirect if current request URL is different than page URL.
 		 */
@@ -94,11 +93,17 @@
 		this.pageProvider = pageProvider;
 	}
 
+	/**
+	 * @return page provider
+	 */
 	public PageProvider getPageProvider()
 	{
 		return pageProvider;
 	}
-	
+
+	/**
+	 * @return redirect policy
+	 */
 	public RedirectPolicy getRedirectPolicy()
 	{
 		return redirectPolicy;
@@ -106,27 +111,28 @@
 
 	public Class<? extends RequestablePage> getPageClass()
 	{
-		return pageProvider.getPageClass();		
+		return pageProvider.getPageClass();
 	}
 
 	public PageParameters getPageParameters()
 	{
 		return pageProvider.getPageParameters();
 	}
-	
+
 	public void detach(RequestCycle requestCycle)
 	{
 		pageProvider.detach();
 	}
-	
+
 	public RequestablePage getPage()
 	{
 		return pageProvider.getPageInstance();
 	}
-	
+
 	public void respond(RequestCycle requestCycle)
 	{
-		RenderPageRequestHandlerDelegate delegate = Application.get().getRenderPageRequestHandlerDelegate(this);
+		RenderPageRequestHandlerDelegate delegate = Application.get()
+			.getRenderPageRequestHandlerDelegate(this);
 		delegate.respond(requestCycle);
 	}
 }

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/RenderPageRequestHandlerDelegate.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/RenderPageRequestHandlerDelegate.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/RenderPageRequestHandlerDelegate.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/handler/impl/render/RenderPageRequestHandlerDelegate.java Sat Nov 14 02:23:31 2009
@@ -32,25 +32,44 @@
 {
 	private final RenderPageRequestHandler renderPageRequestHandler;
 
+	/**
+	 * Construct.
+	 * 
+	 * @param renderPageRequestHandler
+	 */
 	public RenderPageRequestHandlerDelegate(RenderPageRequestHandler renderPageRequestHandler)
 	{
 		this.renderPageRequestHandler = renderPageRequestHandler;
 	}
 
+	/**
+	 * @return page provider
+	 */
 	public PageProvider getPageProvider()
 	{
 		return renderPageRequestHandler.getPageProvider();
 	}
 
+	/**
+	 * @return redirect policy
+	 */
 	public RedirectPolicy getRedirectPolicy()
 	{
 		return renderPageRequestHandler.getRedirectPolicy();
 	}
 
+	/**
+	 * @return the request handler
+	 */
 	public RenderPageRequestHandler getRenderPageRequestHandler()
 	{
 		return renderPageRequestHandler;
 	}
 
+	/**
+	 * Render the response using give {@link RequestCycle}.
+	 * 
+	 * @param requestCycle
+	 */
 	public abstract void respond(RequestCycle requestCycle);
 }

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=836094&r1=836093&r2=836094&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 Sat Nov 14 02:23:31 2009
@@ -31,14 +31,27 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * {@link RenderPageRequestHandlerDelegate} for web applications.
+ * 
+ * @author Matej Knopp
+ */
 public class WebRenderPageRequestHandlerDelegate extends RenderPageRequestHandlerDelegate
 {
 
+	/**
+	 * Construct.
+	 * 
+	 * @param renderPageRequestHandler
+	 */
 	public WebRenderPageRequestHandlerDelegate(RenderPageRequestHandler renderPageRequestHandler)
 	{
 		super(renderPageRequestHandler);
 	}
 
+	/**
+	 * @return page instance
+	 */
 	public RequestablePage getPage()
 	{
 		return getPageProvider().getPageInstance();

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=836094&r1=836093&r2=836094&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 Sat Nov 14 02:23:31 2009
@@ -34,6 +34,9 @@
 public class BufferedResponseMapper implements RequestMapper
 {
 
+	/**
+	 * Construct.
+	 */
 	public BufferedResponseMapper()
 	{
 	}

Modified: 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/PageSource.java?rev=836094&r1=836093&r2=836094&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/PageSource.java Sat Nov 14 02:23:31 2009
@@ -19,6 +19,11 @@
 import org.apache.wicket.ng.request.component.PageParameters;
 import org.apache.wicket.ng.request.component.RequestablePage;
 
+/**
+ * Interface for objects that are capable of getting and creating page instance.
+ * 
+ * @author Matej Knopp
+ */
 public interface PageSource
 {
 	/**

Modified: 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/PageParametersEncoder.java?rev=836094&r1=836093&r2=836094&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/PageParametersEncoder.java Sat Nov 14 02:23:31 2009
@@ -38,11 +38,11 @@
 	public Url encodePageParameters(PageParameters pageParameters);
 
 	/**
-	 * Decodes the given URL to {@link PageParameters}. The URL will have all
-	 * {@link RequestHandler} specified segments/parameters stripped.
+	 * Decodes the given URL to {@link PageParameters}. The URL will have all {@link RequestHandler}
+	 * specified segments/parameters stripped.
 	 * 
 	 * @param request
 	 * @return {@link PageParameters} instance
 	 */
-	public PageParameters decodePageParameters(Request requuest);
+	public PageParameters decodePageParameters(Request request);
 }

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=836094&r1=836093&r2=836094&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 Nov 14 02:23:31 2009
@@ -25,10 +25,20 @@
 import org.apache.wicket.ng.request.RequestParameters;
 import org.apache.wicket.util.string.StringValue;
 
+/**
+ * {@link RequestParameters} implementation that combines other {@link RequestParameters}s.
+ * 
+ * @author Matej Knopp
+ */
 public class CombinedRequestParametersAdapter implements RequestParameters
 {
 	private final RequestParameters parameters[];
 
+	/**
+	 * Construct.
+	 * 
+	 * @param parameters
+	 */
 	public CombinedRequestParametersAdapter(RequestParameters... parameters)
 	{
 		if (parameters == 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=836094&r1=836093&r2=836094&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 Nov 14 02:23:31 2009
@@ -23,6 +23,11 @@
 import org.apache.wicket.ng.request.RequestParameters;
 import org.apache.wicket.util.string.StringValue;
 
+/**
+ * Read only empty {@link RequestParameters}.
+ * 
+ * @author Matej Knopp
+ */
 public class EmptyRequestParameters implements RequestParameters
 {
 
@@ -30,7 +35,10 @@
 	{
 	}
 
-	public static EmptyRequestParameters INSTANCE = new EmptyRequestParameters();
+	/**
+	 * Singleton instance.
+	 */
+	public static final EmptyRequestParameters INSTANCE = new EmptyRequestParameters();
 
 	public Set<String> getParameterNames()
 	{

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/response/StringResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/response/StringResponse.java?rev=836094&r1=836093&r2=836094&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/response/StringResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ng/request/response/StringResponse.java Sat Nov 14 02:23:31 2009
@@ -16,11 +16,19 @@
  */
 package org.apache.wicket.ng.request.response;
 
+/**
+ * Simple text response.
+ * 
+ * @author Matej Knopp
+ */
 public class StringResponse extends Response
 {
 
 	private final StringBuilder builder = new StringBuilder();
 
+	/**
+	 * Construct.
+	 */
 	public StringResponse()
 	{
 	}

Modified: 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/SessionStore.java?rev=836094&r1=836093&r2=836094&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/SessionStore.java Sat Nov 14 02:23:31 2009
@@ -76,7 +76,7 @@
 	 *            the name of the attribute to remove
 	 */
 	void removeAttribute(Request request, String name);
-	
+
 	/**
 	 * Invalidates the session.
 	 * 
@@ -121,29 +121,34 @@
 	 *            The new session
 	 */
 	void bind(Request request, Session newSession);
-	
+
 	/**
 	 * Called when the WebApplication is destroyed.
 	 */
 	void destroy();
-	
+
 	/**
 	 * Listener invoked when session is unbound.
-	 *  
+	 * 
 	 * @author Matej Knopp
 	 */
 	public interface UnboundListener
 	{
+		/**
+		 * Informs the listener that session with specifid id has been unbound.
+		 * 
+		 * @param sessionId
+		 */
 		public void sessionUnbound(String sessionId);
 	};
-	
+
 	/**
 	 * Registers listener invoked when session is unbound.
 	 * 
 	 * @param listener
 	 */
 	public void registerUnboundListener(UnboundListener listener);
-	
+
 	/**
 	 * Unregisters listener invoked when session is unbound.
 	 *