Author: dashorst
Date: Sat Feb 19 13:42:41 2011
New Revision: 1072326

URL: http://svn.apache.org/viewvc?rev=1072326&view=rev
Log:
Fixed TODO, added documentation and added RRAIPE with pageparameters for full 
bookmarkable redirect support

Added:
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.html
      - copied unchanged from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.java
      - copied, changed from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java
      - copied, changed from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/WicketApplication.java
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.html
      - copied unchanged from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.html
    wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.java
      - copied, changed from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.html
      - copied unchanged from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.html
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.java
      - copied, changed from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
      - copied, changed from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/RequestEncodingTest.java
Removed:
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.html
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.html
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.html
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/RequestEncodingTest.java
    
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/WicketApplication.java
Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java?rev=1072326&r1=1072325&r2=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/RestartResponseAtInterceptPageException.java
 Sat Feb 19 13:42:41 2011
@@ -33,12 +33,22 @@ import org.apache.wicket.request.handler
 import org.apache.wicket.request.handler.RenderPageRequestHandler;
 import 
org.apache.wicket.request.handler.RenderPageRequestHandler.RedirectPolicy;
 import org.apache.wicket.request.http.handler.RedirectRequestHandler;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 
+/**
+ * Causes Wicket to interrupt current request processing and immediately 
redirect to an intercept
+ * page.
+ */
 public class RestartResponseAtInterceptPageException extends 
ResetResponseException
 {
        private static final long serialVersionUID = 1L;
 
+       /**
+        * Redirects to the specified {@code interceptPage}.
+        * 
+        * @param interceptPage
+        */
        public RestartResponseAtInterceptPageException(Page interceptPage)
        {
                super(new RenderPageRequestHandler(new 
PageProvider(interceptPage),
@@ -46,9 +56,26 @@ public class RestartResponseAtInterceptP
                InterceptData.set();
        }
 
+       /**
+        * Redirects to the specified intercept page, this will result in a 
bookmarkable redirect.
+        * 
+        * @param interceptPageClass
+        */
        public RestartResponseAtInterceptPageException(Class<? extends Page> 
interceptPageClass)
        {
-               super(new RenderPageRequestHandler(new 
PageProvider(interceptPageClass),
+               this(interceptPageClass, null);
+       }
+
+       /**
+        * Redirects to the specified intercept page, this will result in a 
bookmarkable redirect.
+        * 
+        * @param interceptPageClass
+        * @param parameters
+        */
+       public RestartResponseAtInterceptPageException(Class<? extends Page> 
interceptPageClass,
+               PageParameters parameters)
+       {
+               super(new RenderPageRequestHandler(new 
PageProvider(interceptPageClass, parameters),
                        RedirectPolicy.ALWAYS_REDIRECT));
                InterceptData.set();
        }
@@ -56,12 +83,9 @@ public class RestartResponseAtInterceptP
        /**
         * INTERNAL CLASS, DO NOT USE
         * 
-        * TODO Public for now, need to move the test that is using this to 
this package and make it
-        * package private
-        * 
         * @author igor.vaynberg
         */
-       public static class InterceptData implements Serializable
+       static class InterceptData implements Serializable
        {
                private static final long serialVersionUID = 1L;
 
@@ -137,7 +161,7 @@ public class RestartResponseAtInterceptP
                return false;
        }
 
-       public static IRequestMapper MAPPER = new IRequestMapper()
+       static IRequestMapper MAPPER = new IRequestMapper()
        {
                public int getCompatibilityScore(Request request)
                {

Copied: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.java 
(from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.java?p2=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.java&p1=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.java&r1=1072319&r2=1072326&rev=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/A.java
 (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectA.java Sat 
Feb 19 13:42:41 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.redirect.encodingtest;
+package org.apache.wicket;
 
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
@@ -24,7 +24,7 @@ import org.apache.wicket.request.mapper.
 /**
  * Homepage
  */
-public class A extends WebPage
+public class RedirectA extends WebPage
 {
        private static final long serialVersionUID = 1L;
 
@@ -35,9 +35,9 @@ public class A extends WebPage
         * 
         * @param parameters
         */
-       public A(final PageParameters parameters)
+       public RedirectA(final PageParameters parameters)
        {
-               ((WicketApplication)WebApplication.get()).intercept();
+               ((RedirectApplication)WebApplication.get()).intercept();
 
                file = parameters.get("file").toString();
 

Copied: 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java
 (from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/WicketApplication.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java?p2=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java&p1=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/WicketApplication.java&r1=1072319&r2=1072326&rev=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/WicketApplication.java
 (original)
+++ 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectApplication.java
 Sat Feb 19 13:42:41 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.redirect.encodingtest;
+package org.apache.wicket;
 
 import org.apache.wicket.Page;
 import org.apache.wicket.RestartResponseAtInterceptPageException;
@@ -26,7 +26,7 @@ import org.apache.wicket.mock.MockApplic
  * 
  * @see wicket.myproject.Start#main(String[])
  */
-public class WicketApplication extends MockApplication
+public class RedirectApplication extends MockApplication
 {
        private boolean showIntercept = false;
 
@@ -36,7 +36,7 @@ public class WicketApplication extends M
        @Override
        public Class<? extends Page> getHomePage()
        {
-               return HomePage.class;
+               return RedirectHomePage.class;
        }
 
        /**
@@ -47,7 +47,7 @@ public class WicketApplication extends M
                showIntercept = !showIntercept;
                if (showIntercept)
                {
-                       throw new 
RestartResponseAtInterceptPageException(B.class);
+                       throw new 
RestartResponseAtInterceptPageException(RedirectB.class);
                }
        }
 }

Copied: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.java 
(from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.java?p2=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.java&p1=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.java&r1=1072319&r2=1072326&rev=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/B.java
 (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectB.java Sat 
Feb 19 13:42:41 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.redirect.encodingtest;
+package org.apache.wicket;
 
 import org.apache.wicket.RestartResponseAtInterceptPageException.InterceptData;
 import org.apache.wicket.markup.html.WebPage;
@@ -25,14 +25,14 @@ import org.apache.wicket.model.Model;
 /**
  * Homepage
  */
-public class B extends WebPage
+public class RedirectB extends WebPage
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * Construct.
         */
-       public B()
+       public RedirectB()
        {
                add(new Label("interceptContinuationURL", new 
Model<String>(InterceptData.get()
                        .getOriginalUrl()

Copied: 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.java 
(from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.java?p2=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.java&p1=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.java&r1=1072319&r2=1072326&rev=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/HomePage.java
 (original)
+++ 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RedirectHomePage.java 
Sat Feb 19 13:42:41 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.redirect.encodingtest;
+package org.apache.wicket;
 
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
@@ -22,7 +22,7 @@ import org.apache.wicket.request.mapper.
 /**
  * Homepage
  */
-public class HomePage extends WebPage
+public class RedirectHomePage extends WebPage
 {
 
        private static final long serialVersionUID = 1L;
@@ -32,7 +32,7 @@ public class HomePage extends WebPage
         * 
         * @param parameters
         */
-       public HomePage(final PageParameters parameters)
+       public RedirectHomePage(final PageParameters parameters)
        {
        }
 }

Copied: 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
 (from r1072319, 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/RequestEncodingTest.java)
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java?p2=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java&p1=wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/RequestEncodingTest.java&r1=1072319&r2=1072326&rev=1072326&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/redirect/encodingtest/RequestEncodingTest.java
 (original)
+++ 
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/RequestEncodingTest.java
 Sat Feb 19 13:42:41 2011
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.wicket.redirect.encodingtest;
+package org.apache.wicket;
 
 import junit.framework.TestCase;
 
@@ -31,7 +31,7 @@ public class RequestEncodingTest extends
        /** Log. */
        private static final Logger log = 
LoggerFactory.getLogger(RequestEncodingTest.class);
 
-       private WicketApplication application;
+       private RedirectApplication application;
        private WicketTester tester;
 
        /**
@@ -40,10 +40,10 @@ public class RequestEncodingTest extends
        @Override
        protected void setUp() throws Exception
        {
-               application = new WicketApplication();
+               application = new RedirectApplication();
                tester = new WicketTester(application);
-               tester.startPage(HomePage.class);
-               tester.assertRenderedPage(HomePage.class);
+               tester.startPage(RedirectHomePage.class);
+               tester.assertRenderedPage(RedirectHomePage.class);
        }
 
        @Override
@@ -58,16 +58,16 @@ public class RequestEncodingTest extends
         */
        public void testDefault()
        {
-               tester.startPage(A.class, new PageParameters().set("file", 
"umlaut-\u00E4-\u00F6-\u00FC"));
-               tester.assertRenderedPage(B.class);
+               tester.startPage(RedirectA.class, new 
PageParameters().set("file", "umlaut-\u00E4-\u00F6-\u00FC"));
+               tester.assertRenderedPage(RedirectB.class);
 
-               String url2 = 
((B)tester.getLastRenderedPage()).getInterceptContinuationURL();
+               String url2 = 
((RedirectB)tester.getLastRenderedPage()).getInterceptContinuationURL();
                assertTrue(url2.contains("umlaut-%C3%A4-%C3%B6-%C3%BC"));
 
                tester.clickLink("link");
-               tester.assertRenderedPage(A.class);
+               tester.assertRenderedPage(RedirectA.class);
 
-               String file = 
((A)tester.getLastRenderedPage()).getFileParameter();
+               String file = 
((RedirectA)tester.getLastRenderedPage()).getFileParameter();
                assertEquals("umlaut-\u00E4-\u00F6-\u00FC", file);
 
                String document = tester.getLastResponseAsString();
@@ -80,7 +80,7 @@ public class RequestEncodingTest extends
         */
        public void testUmlautsInRequestUri()
        {
-               application.mountPage("Aparameter", A.class);
+               application.mountPage("Aparameter", RedirectA.class);
                testDefault();
        }
 }


Reply via email to