Author: almaw
Date: Thu Jan 25 15:09:05 2007
New Revision: 500042
URL: http://svn.apache.org/viewvc?view=rev&rev=500042
Log:
Back out
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebRequestCodingStrategy.java
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebRequestCodingStrategy.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebRequestCodingStrategy.java?view=diff&rev=500042&r1=500041&r2=500042
==============================================================================
---
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebRequestCodingStrategy.java
(original)
+++
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebRequestCodingStrategy.java
Thu Jan 25 15:09:05 2007
@@ -39,6 +39,7 @@
import wicket.Request;
import wicket.RequestCycle;
import wicket.RequestListenerInterface;
+import wicket.Session;
import wicket.WicketRuntimeException;
import wicket.protocol.http.WebApplication;
import wicket.request.IRequestCodingStrategy;
@@ -49,7 +50,6 @@
import wicket.request.target.component.IBookmarkablePageRequestTarget;
import wicket.request.target.component.IPageRequestTarget;
import
wicket.request.target.component.listener.IListenerInterfaceRequestTarget;
-import wicket.request.target.component.listener.RedirectPageRequestTarget;
import wicket.request.target.resource.ISharedResourceRequestTarget;
import wicket.util.string.AppendingStringBuffer;
import wicket.util.string.PrependingStringBuffer;
@@ -225,14 +225,8 @@
* wicket.IRequestTarget)
*/
public final CharSequence encode(final RequestCycle requestCycle,
- IRequestTarget requestTarget, boolean absolutePath)
+ final IRequestTarget requestTarget, final boolean
absolutePath)
{
- if (requestTarget instanceof IPageRequestTarget)
- {
- Page page =
((IPageRequestTarget)requestTarget).getPage();
- requestTarget = new RedirectPageRequestTarget(page);
- }
-
// First check to see whether the target is mounted
CharSequence url = pathForTarget(requestTarget);
@@ -251,6 +245,10 @@
{
url = encode(requestCycle,
(IListenerInterfaceRequestTarget)requestTarget);
}
+ else if (requestTarget instanceof IPageRequestTarget)
+ {
+ url = encode(requestCycle,
(IPageRequestTarget)requestTarget);
+ }
// fallthough for non-default request targets
else
{
@@ -803,6 +801,30 @@
}
return url;
+ }
+
+ /**
+ * Encode a page target.
+ *
+ * @param requestCycle
+ * the current request cycle
+ * @param requestTarget
+ * the target to encode
+ * @return the encoded url
+ */
+ protected CharSequence encode(RequestCycle requestCycle,
IPageRequestTarget requestTarget)
+ {
+ // Get the page we want a url from:
+ Page page = requestTarget.getPage();
+
+ // A url to a page is the IRedirectListener interface:
+ CharSequence urlRedirect =
page.urlFor(IRedirectListener.INTERFACE);
+
+ // Touch the page once because it could be that it did go from
stateless
+ // to statefull or it was a internally made page where just a
url must
+ // be made for (frames)
+ Session.get().touch(page);
+ return urlRedirect;
}
/**