wicket git commit: WICKET-6295 fallback to home page
Repository: wicket Updated Branches: refs/heads/wicket-6.x 0519f72b4 -> 5ce4f3e70 WICKET-6295 fallback to home page Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/5ce4f3e7 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/5ce4f3e7 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/5ce4f3e7 Branch: refs/heads/wicket-6.x Commit: 5ce4f3e7051fcbc5039f4cc6ad485e10adde0913 Parents: 0519f72 Author: Sven MeierAuthored: Wed Dec 14 21:13:36 2016 +0100 Committer: Sven Meier Committed: Wed Dec 14 21:13:36 2016 +0100 -- .../java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/5ce4f3e7/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java index 3f82bf0..5212a8b 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java @@ -111,6 +111,9 @@ public class BrowserInfoPage extends WebPage protected void afterSubmit() { continueToOriginalDestination(); + + // switch to home page if no original destination was intercepted + setResponsePage(getApplication().getHomePage()); } }; add(browserInfoForm);
wicket git commit: WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on
Repository: wicket Updated Branches: refs/heads/wicket-6.x ae7a0f8b9 -> 0519f72b4 WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on the link Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/0519f72b Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/0519f72b Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/0519f72b Branch: refs/heads/wicket-6.x Commit: 0519f72b4d57e6443b8a8d5805955fd0a516135c Parents: ae7a0f8 Author: Sven MeierAuthored: Mon Dec 12 22:31:11 2016 +0100 Committer: Sven Meier Committed: Mon Dec 12 22:31:11 2016 +0100 -- .../markup/html/pages/BrowserInfoPage.java | 72 ++-- 1 file changed, 37 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/0519f72b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java index 373cbb5..3f82bf0 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java @@ -20,15 +20,13 @@ import org.apache.wicket.AttributeModifier; import org.apache.wicket.markup.head.IHeaderResponse; import org.apache.wicket.markup.head.OnLoadHeaderItem; import org.apache.wicket.markup.html.WebComponent; -import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.WebPage; +import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.WebSession; import org.apache.wicket.protocol.http.request.WebClientInfo; -import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.settings.IRequestCycleSettings; /** @@ -53,28 +51,11 @@ public class BrowserInfoPage extends WebPage private BrowserInfoForm browserInfoForm; /** -* Bookmarkable constructor. This is not for normal framework client use. It will be called -* whenever JavaScript is not supported, and the browser info page's meta refresh fires to this -* page. Prior to this, the other constructor should already have been called. +* Bookmarkable constructor. */ public BrowserInfoPage() { initComps(); - RequestCycle requestCycle = getRequestCycle(); - WebSession session = (WebSession)getSession(); - WebClientInfo clientInfo = session.getClientInfo(); - if (clientInfo == null) - { - clientInfo = new WebClientInfo(requestCycle); - getSession().setClientInfo(clientInfo); - } - else - { - ClientProperties properties = clientInfo.getProperties(); - properties.setJavaEnabled(false); - } - - continueToOriginalDestination(); } @Override @@ -97,20 +78,18 @@ public class BrowserInfoPage extends WebPage */ private void initComps() { - WebComponent meta = new WebComponent("meta"); - - final IModel urlModel = new LoadableDetachableModel() - { - private static final long serialVersionUID = 1L; - + final IModel info = new LoadableDetachableModel() { @Override - protected String load() + protected WebClientInfo load() { - CharSequence url = urlFor(BrowserInfoPage.class, null); - return url.toString(); + return new WebClientInfo(getRequestCycle()); } }; + final ContinueLink link = new ContinueLink("link", info); + add(link); + + WebComponent meta = new WebComponent("meta"); meta.add(AttributeModifier.replace("content", new AbstractReadOnlyModel() { private static final long serialVersionUID = 1L; @@ -118,14 +97,11 @@ public class BrowserInfoPage extends
wicket git commit: WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on
Repository: wicket Updated Branches: refs/heads/wicket-6.x e493b0435 -> 7b239ca45 WICKET-6295 fallback to home page a previous request might have consumed the original destination - this could happen if the meta refresh fires but the user is still able to link on the link Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7b239ca4 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7b239ca4 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7b239ca4 Branch: refs/heads/wicket-6.x Commit: 7b239ca45a876a9b90da6e90001bcbb36578574b Parents: e493b04 Author: Sven MeierAuthored: Thu Dec 8 16:29:29 2016 +0100 Committer: Sven Meier Committed: Thu Dec 8 16:29:29 2016 +0100 -- .../markup/html/pages/BrowserInfoPage.java | 24 1 file changed, 9 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/wicket/blob/7b239ca4/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java -- diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java index 373cbb5..507cd9e 100644 --- a/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java +++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/pages/BrowserInfoPage.java @@ -25,14 +25,12 @@ import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.LoadableDetachableModel; -import org.apache.wicket.protocol.http.ClientProperties; import org.apache.wicket.protocol.http.WebSession; import org.apache.wicket.protocol.http.request.WebClientInfo; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.settings.IRequestCycleSettings; /** - * * This page uses a form post right after the page has loaded in the browser, using JavaScript or * alternative means to detect and pass on settings to the embedded form. The form submit method * updates this session's {@link org.apache.wicket.core.request.ClientInfo} object and then redirects to @@ -53,28 +51,24 @@ public class BrowserInfoPage extends WebPage private BrowserInfoForm browserInfoForm; /** -* Bookmarkable constructor. This is not for normal framework client use. It will be called -* whenever JavaScript is not supported, and the browser info page's meta refresh fires to this -* page. Prior to this, the other constructor should already have been called. +* This constructor will be called twice, once to display the initial page and additionally when JavaScript +* is not enabled and the meta refresh fires or the user clicks the link instead. */ public BrowserInfoPage() { initComps(); RequestCycle requestCycle = getRequestCycle(); WebSession session = (WebSession)getSession(); + WebClientInfo clientInfo = session.getClientInfo(); - if (clientInfo == null) + if (clientInfo != null) { - clientInfo = new WebClientInfo(requestCycle); - getSession().setClientInfo(clientInfo); + // clientInfo is already present so continue + continueToOriginalDestination(); + + // switch to home page if no original destination was intercepted + setResponsePage(getApplication().getHomePage()); } - else - { - ClientProperties properties = clientInfo.getProperties(); - properties.setJavaEnabled(false); - } - - continueToOriginalDestination(); } @Override