You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/09/09 21:21:31 UTC

svn commit: r995546 - in /wicket/trunk: wicket-examples/src/main/java/org/apache/wicket/examples/upload/ wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/ wicket/src/main/java/org/apache/wicket/protocol/http/

Author: mgrigorov
Date: Thu Sep  9 19:21:30 2010
New Revision: 995546

URL: http://svn.apache.org/viewvc?rev=995546&view=rev
Log:
WICKET-3038 Return the possibility to create custom WebRequest/WebResponse per Application

Add WebApplication#newWebRequest(HttpServletRequest, String).
wicket-examples > upload now use the custom UploadWebRequest again as in 1.4


Modified:
    wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.java
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java

Modified: wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.java?rev=995546&r1=995545&r2=995546&view=diff
==============================================================================
--- wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.java (original)
+++ wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/upload/UploadApplication.java Thu Sep  9 19:21:30 2010
@@ -16,8 +16,13 @@
  */
 package org.apache.wicket.examples.upload;
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.apache.wicket.Page;
 import org.apache.wicket.examples.WicketExampleApplication;
+import org.apache.wicket.extensions.ajax.markup.html.form.upload.UploadWebRequest;
+import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.request.mapper.MountedMapper;
 import org.apache.wicket.util.file.Folder;
 
 
@@ -69,18 +74,18 @@ public class UploadApplication extends W
 		// Ensure folder exists
 		uploadFolder.mkdirs();
 
-		mountBookmarkablePage("/multi", MultiUploadPage.class);
-		mountBookmarkablePage("/single", UploadPage.class);
+		getRootRequestMapperAsCompound().add(new MountedMapper("/multi", MultiUploadPage.class));
+		getRootRequestMapperAsCompound().add(new MountedMapper("/single", UploadPage.class));
 
 	}
 
 	/**
-	 * @see org.apache.wicket.protocol.http.WebApplication#newWebRequest(javax.servlet.http.HttpServletRequest)
+	 * @see org.apache.wicket.protocol.http.WebApplication#newWebRequest(javax.servlet.http.HttpServletRequest,
+	 *      String)
 	 */
-	// TODO NG
-// @Override
-// protected WebRequest newWebRequest(HttpServletRequest servletRequest)
-// {
-// return new UploadWebRequest(servletRequest);
-// }
+	@Override
+	protected WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath)
+	{
+		return new UploadWebRequest(servletRequest, filterPath);
+	}
 }

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java?rev=995546&r1=995545&r2=995546&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/form/upload/UploadWebRequest.java Thu Sep  9 19:21:30 2010
@@ -36,8 +36,8 @@ import org.apache.wicket.util.upload.Fil
  * class MyApplication extends WebApplication {
  * ...
  * 
- * @Override protected WebRequest newWebRequest(HttpServletRequest servletRequest) { return new
- *           UploadWebRequest(servletRequest); } ... } </code>
+ * @Override protected WebRequest newWebRequest(HttpServletRequest servletRequest, String
+ *           filterPath) { return new UploadWebRequest(servletRequest, filterPath); } ... } </code>
  * 
  * @author Igor Vaynberg (ivaynberg)
  */

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java?rev=995546&r1=995545&r2=995546&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java Thu Sep  9 19:21:30 2010
@@ -21,6 +21,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
 import org.apache.wicket.Application;
@@ -34,6 +35,7 @@ import org.apache.wicket.markup.html.pag
 import org.apache.wicket.markup.html.pages.InternalErrorPage;
 import org.apache.wicket.markup.html.pages.PageExpiredErrorPage;
 import org.apache.wicket.markup.resolver.AutoLinkResolver;
+import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.IRequestMapper;
 import org.apache.wicket.request.Request;
@@ -349,6 +351,21 @@ public abstract class WebApplication ext
 	}
 
 	/**
+	 * Create a new WebRequest. Subclasses of WebRequest could e.g. decode and obfuscated URL which
+	 * has been encoded by an appropriate WebResponse.
+	 * 
+	 * @param servletRequest
+	 * @param filterPath
+	 *            the filter mapping read from web.xml
+	 * @return a WebRequest object
+	 */
+	protected WebRequest newWebRequest(final HttpServletRequest servletRequest,
+		final String filterPath)
+	{
+		return new ServletWebRequest(servletRequest, filterPath);
+	}
+
+	/**
 	 * @see org.apache.wicket.Application#newSession(org.apache.wicket.request.Request,
 	 *      org.apache.wicket.request.Response)
 	 */

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?rev=995546&r1=995545&r2=995546&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java Thu Sep  9 19:21:30 2010
@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.wicket.ThreadContext;
 import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.protocol.http.servlet.ServletWebResponse;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.http.WebRequest;
@@ -127,7 +126,7 @@ public class WicketFilter implements Fil
 				// No redirect; process the request
 				application.set();
 
-				WebRequest webRequest = new ServletWebRequest(httpServletRequest, filterPath);
+				WebRequest webRequest = application.newWebRequest(httpServletRequest, filterPath);
 				WebResponse webResponse = new HeaderBufferingWebResponse(new ServletWebResponse(
 					httpServletRequest, httpServletResponse));