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;
        }
 
        /**


Reply via email to