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.
*