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 2008/06/14 10:40:43 UTC

svn commit: r667758 - /wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java

Author: knopp
Date: Sat Jun 14 01:40:43 2008
New Revision: 667758

URL: http://svn.apache.org/viewvc?rev=667758&view=rev
Log: (empty)

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java?rev=667758&r1=667757&r2=667758&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/servlet/ServletWebRequest.java Sat Jun 14 01:40:43 2008
@@ -76,6 +76,7 @@
 	 * 
 	 * @return the wrapped http serlvet request object.
 	 */
+	@Override
 	public final HttpServletRequest getHttpServletRequest()
 	{
 		return httpServletRequest;
@@ -88,6 +89,7 @@
 	 * 
 	 * @return the preferred <code>Locale</code> for the client
 	 */
+	@Override
 	public Locale getLocale()
 	{
 		return httpServletRequest.getLocale();
@@ -100,6 +102,7 @@
 	 *            Parameter name
 	 * @return Parameter value
 	 */
+	@Override
 	public String getParameter(final String key)
 	{
 		return httpServletRequest.getParameter(key);
@@ -110,6 +113,7 @@
 	 * 
 	 * @return Map of parameters
 	 */
+	@Override
 	public Map getParameterMap()
 	{
 		// Lazy-init parameter map. Only make one copy. It's more efficient, and
@@ -129,6 +133,7 @@
 	 *            Parameter name
 	 * @return Parameter values
 	 */
+	@Override
 	public String[] getParameters(final String key)
 	{
 		return httpServletRequest.getParameterValues(key);
@@ -139,12 +144,14 @@
 	 * 
 	 * @return Any servlet path info
 	 */
+	@Override
 	public String getPath()
 	{
 		return ((WebApplication)Application.get()).getWicketFilter().getRelativePath(
 			httpServletRequest);
 	}
 
+	@Override
 	public String getRelativePathPrefixToContextRoot()
 	{
 		if (relativePathPrefixToContextRoot != null)
@@ -174,9 +181,9 @@
 		String wicketPath = "";
 
 		// We're running as a filter.
-        // Note: do not call RequestUtils.decode() on getServletPath ... it is
-        //       already url-decoded (JIRA WICKET-1624)
-        String servletPath = getServletPath();
+		// Note: do not call RequestUtils.decode() on getServletPath ... it is
+		// already url-decoded (JIRA WICKET-1624)
+		String servletPath = getServletPath();
 
 		// We need to substitute the %3A (or the other way around) to be able to
 		// get a good match, as parts of the path may have been escaped while
@@ -221,6 +228,7 @@
 		return depthRelativeToWicketHandler;
 	}
 
+	@Override
 	public String getRelativePathPrefixToWicketHandler()
 	{
 		if (relativePathPrefixToWicketHandler != null)
@@ -346,6 +354,7 @@
 	/**
 	 * @see org.apache.wicket.Request#getURL()
 	 */
+	@Override
 	public String getURL()
 	{
 		/*
@@ -388,6 +397,7 @@
 	 * 
 	 * @return Servlet path
 	 */
+	@Override
 	public String getServletPath()
 	{
 		return httpServletRequest.getServletPath();
@@ -400,6 +410,7 @@
 	 */
 	// TODO matej? should we have a simple way of supporting other ajax things?
 	// or should they just set that same header??
+	@Override
 	public boolean isAjax()
 	{
 		boolean ajax = false;
@@ -430,15 +441,37 @@
 	 * 
 	 * @see org.apache.wicket.Request#mergeVersion()
 	 */
+	@Override
 	public boolean mergeVersion()
 	{
-		RequestListenerInterface intface = getRequestParameters().getInterface();
-		return isAjax() || intface == IRedirectListener.INTERFACE;
+		if (forceNewVersion == true)
+		{
+			return false;
+		}
+		else
+		{
+			RequestListenerInterface intface = getRequestParameters().getInterface();
+			return isAjax() || intface == IRedirectListener.INTERFACE;
+		}
 	}
 
 	/**
+	 * Allows to create new versions even on AJAX request. This can come handly when the AJAX
+	 * response does a real redirect.
+	 * 
+	 * @param forceNewVersion
+	 */
+	public void setForceNewVersion(boolean forceNewVersion)
+	{
+		this.forceNewVersion = forceNewVersion;
+	}
+
+	private boolean forceNewVersion = false;
+
+	/**
 	 * @see org.apache.wicket.protocol.http.WebRequest#newMultipartWebRequest(org.apache.wicket.util.lang.Bytes)
 	 */
+	@Override
 	public WebRequest newMultipartWebRequest(Bytes maxsize)
 	{
 		try
@@ -454,6 +487,7 @@
 	/**
 	 * @see java.lang.Object#toString()
 	 */
+	@Override
 	public String toString()
 	{
 		return "[method = " + httpServletRequest.getMethod() + ", protocol = " +
@@ -493,7 +527,7 @@
 		}
 
 	}
-	
+
 	@Override
 	public String getQueryString()
 	{