You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/03/12 11:13:39 UTC
git commit: WICKET-5078 RestartResponseException broken with page
instance and bookmarkable page
Updated Branches:
refs/heads/master 2974a5ab4 -> bc448eb9d
WICKET-5078 RestartResponseException broken with page instance and bookmarkable page
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/bc448eb9
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bc448eb9
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bc448eb9
Branch: refs/heads/master
Commit: bc448eb9d1325fd486039eea0abc8b272027314f
Parents: 2974a5a
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Mar 12 11:13:08 2013 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Mar 12 11:13:08 2013 +0100
----------------------------------------------------------------------
.../apache/wicket/RestartResponseException.java | 19 ++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/bc448eb9/wicket-core/src/main/java/org/apache/wicket/RestartResponseException.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/RestartResponseException.java b/wicket-core/src/main/java/org/apache/wicket/RestartResponseException.java
index 6c7ef99..cbd4346 100644
--- a/wicket-core/src/main/java/org/apache/wicket/RestartResponseException.java
+++ b/wicket-core/src/main/java/org/apache/wicket/RestartResponseException.java
@@ -74,7 +74,7 @@ public class RestartResponseException extends ResetResponseException
*/
public RestartResponseException(final IRequestablePage page)
{
- this(new PageProvider(page), RedirectPolicy.AUTO_REDIRECT);
+ this(new PageProvider(makeStateful(page)), RedirectPolicy.AUTO_REDIRECT);
}
/**
@@ -92,4 +92,21 @@ public class RestartResponseException extends ResetResponseException
super(new RenderPageRequestHandler(pageProvider, redirectPolicy));
}
+ /**
+ * Marks the page as stateful so that it is still available after a redirect.
+ * See WICKET-5078 and WICKET-3965
+ *
+ * @param page
+ * The page to mark stateful
+ * @return The passed page.
+ *
+ */
+ private static IRequestablePage makeStateful(IRequestablePage page)
+ {
+ if (page instanceof Page)
+ {
+ ((Page)page).setStatelessHint(false);
+ }
+ return page;
+ }
}