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

svn commit: r578101 - in /wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4: wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ wicket/src/main/java/org/apache/wicket/ wicket/src/main/java/org/apache/wicket/ma...

Author: ate
Date: Fri Sep 21 06:34:52 2007
New Revision: 578101

URL: http://svn.apache.org/viewvc?rev=578101&view=rev
Log:
WICKET-926: New Wicket Portlet support: Support for detached/popup pages
- cleaner implementation, using better naming and shortened coding but no functional or technical changes
See: https://issues.apache.org/jira/browse/WICKET-926#action_12529418

Modified:
    wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
    wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
    wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java
    wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/PortletRequestContext.java

Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=578101&r1=578100&r2=578101&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Fri Sep 21 06:34:52 2007
@@ -927,7 +927,7 @@
 			{
 				throw new WicketRuntimeException("Error creating page for modal dialog.");
 			}
-			RequestCycle.get().setNextUrlForNewWindow();
+			RequestCycle.get().setUrlForNewWindowEncoding();
 			buffer.append("settings.src=\"" + RequestCycle.get().urlFor(page) + "\";\n");
 
 			if (getPageMapName() != null)

Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java?rev=578101&r1=578100&r2=578101&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/RequestCycle.java Fri Sep 21 06:34:52 2007
@@ -26,7 +26,6 @@
 import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
 import org.apache.wicket.request.AbstractRequestCycleProcessor;
 import org.apache.wicket.request.ClientInfo;
-import org.apache.wicket.request.IRequestCodingStrategy;
 import org.apache.wicket.request.IRequestCycleProcessor;
 import org.apache.wicket.request.RequestParameters;
 import org.apache.wicket.request.target.component.BookmarkableListenerInterfaceRequestTarget;
@@ -269,11 +268,11 @@
 	protected Response response;
 	
 	/**
-	 * Boolean if the next urlFor call is intended for a new window (ModalWindow, popup, tab).
+	 * Boolean if the next to be encoded url is targetting a new window (ModalWindow, popup, tab).
 	 * This temporary flag is specifically needed for portlet-support as then such a page needs a special target (Resource) url.
 	 * After each urlFor call, this flag is reset to false.
 	 */
-	private transient boolean nextUrlForNewWindow;
+	private transient boolean urlForNewWindowEncoding;
 
 	/**
 	 * Constructor. This instance will be set as the current one for this
@@ -694,26 +693,34 @@
 	}
 
 	/**
-	 * @return true if the page is intended to be displayed in a new window (ModalWindow, popup, tab).
+	 * @return true if the next to be encoded url is targetting a new window (ModalWindow, popup, tab).
 	 */
-	public final boolean isNextUrlForNewWindow()
+	public final boolean isUrlForNewWindowEncoding()
 	{
-		return nextUrlForNewWindow;
+		return urlForNewWindowEncoding;
 	}
 	
 	/**
-	 * Indicate if the next urlFor call is intended for a new window (ModalWindow, popup, tab).
+	 * Indicate if the next to be encoded url is targetting a new window (ModalWindow, popup, tab).
 	 * This temporary flag is specifically needed for portlet-support as then such a page needs a special target (Resource) url.
 	 * After each urlFor call, this flag is reset to false.
 	 */
-	public final void setNextUrlForNewWindow()
+	public final void setUrlForNewWindowEncoding()
 	{
-		nextUrlForNewWindow = true;
+		urlForNewWindowEncoding = true;
 	}
 	
-	private final CharSequence resetNextUrlForNewWindow(CharSequence url)
+	/**
+	 * Returns an encoded URL that references the given request target and clears the nextUrlForNewWindow flag.
+	 * 
+	 * @param requestTarget
+	 *            the request target to reference
+	 * @return a URL that references the given request target
+	 */
+	private final CharSequence encodeUrlFor(final IRequestTarget requestTarget)
 	{
-		nextUrlForNewWindow = false;
+		CharSequence url = getProcessor().getRequestCodingStrategy().encode(this, requestTarget);
+		urlForNewWindowEncoding = false;
 		return url;
 	}
 	
@@ -774,9 +781,7 @@
 
 		final IRequestTarget target = new BehaviorRequestTarget(component.getPage(), component,
 				listener, params);
-		final IRequestCodingStrategy requestCodingStrategy = getProcessor()
-				.getRequestCodingStrategy();
-		return resetNextUrlForNewWindow(requestCodingStrategy.encode(this, target));
+		return encodeUrlFor(target);
 	}
 
 	/**
@@ -817,9 +822,7 @@
 			// Get the listener interface name
 			target = new ListenerInterfaceRequestTarget(page, component, listener);
 		}
-		final IRequestCodingStrategy requestCodingStrategy = getProcessor()
-				.getRequestCodingStrategy();
-		return resetNextUrlForNewWindow(requestCodingStrategy.encode(this, target));
+		return encodeUrlFor(target);
 	}
 
 	/**
@@ -843,9 +846,7 @@
 		final IRequestTarget target = new BookmarkablePageRequestTarget(pageMap == null
 				? PageMap.DEFAULT_NAME
 				: pageMap.getName(), pageClass, parameters);
-		final IRequestCodingStrategy requestCodingStrategy = getProcessor()
-				.getRequestCodingStrategy();
-		return resetNextUrlForNewWindow(requestCodingStrategy.encode(this, target));
+		return encodeUrlFor(target);
 	}
 
 	/**
@@ -857,8 +858,7 @@
 	 */
 	public final CharSequence urlFor(final IRequestTarget requestTarget)
 	{
-		IRequestCodingStrategy requestCodingStrategy = getProcessor().getRequestCodingStrategy();
-		return resetNextUrlForNewWindow(requestCodingStrategy.encode(this, requestTarget));
+		return encodeUrlFor(requestTarget);
 	}
 
 	/**
@@ -875,7 +875,7 @@
 	{
 		IRequestTarget target = new PageRequestTarget(page);
 		getSession().touch(((IPageRequestTarget)target).getPage());
-		return urlFor(target);
+		return encodeUrlFor(target);
 	}
 
 	/**
@@ -906,9 +906,7 @@
 		RequestParameters requestParameters = new RequestParameters();
 		requestParameters.setResourceKey(resourceReference.getSharedResourceKey());
 		requestParameters.setParameters(parameters);
-		CharSequence url = getProcessor().getRequestCodingStrategy().encode(this,
-				new SharedResourceRequestTarget(requestParameters));
-		return resetNextUrlForNewWindow(url);
+		return encodeUrlFor(new SharedResourceRequestTarget(requestParameters));
 	}
 
 	/**

Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java?rev=578101&r1=578100&r2=578101&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/link/Link.java Fri Sep 21 06:34:52 2007
@@ -404,7 +404,7 @@
 
 		if (popupSettings != null)
 		{
-			RequestCycle.get().setNextUrlForNewWindow();
+			RequestCycle.get().setUrlForNewWindowEncoding();
 		}
 		// Set href to link to this link's linkClicked method
 		CharSequence url = getURL();

Modified: wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/PortletRequestContext.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/PortletRequestContext.java?rev=578101&r1=578100&r2=578101&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/PortletRequestContext.java (original)
+++ wicket/branches/wicket-1.3.0-beta3-portlet-support/jdk-1.4/wicket/src/main/java/org/apache/wicket/protocol/http/portlet/PortletRequestContext.java Fri Sep 21 06:34:52 2007
@@ -113,7 +113,7 @@
     
     public CharSequence encodeActionURL(CharSequence path, boolean forceActionURL)
     {
-        if ((!forceActionURL && resourceRequest) || RequestCycle.get().isNextUrlForNewWindow())
+        if ((!forceActionURL && resourceRequest) || RequestCycle.get().isUrlForNewWindowEncoding())
 		{
 			return encodeResourceURL(path);
 		}
@@ -152,7 +152,7 @@
     
     public CharSequence encodeRenderURL(CharSequence path, boolean forceRenderURL)
     {
-        if ((!forceRenderURL && resourceRequest) || RequestCycle.get().isNextUrlForNewWindow())
+        if ((!forceRenderURL && resourceRequest) || RequestCycle.get().isUrlForNewWindowEncoding())
 		{
 			return encodeResourceURL(path);
 		}