From dd630f8aebde8c3138dc0d55ebf4a16d0db806b7 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 30 Oct 2012 17:04:47 -0400 Subject: [PATCH] Fix intermittent Wicket page expirations on EditNNN pages --- src/com/gitblit/wicket/pages/RootSubPage.java | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RootSubPage.java b/src/com/gitblit/wicket/pages/RootSubPage.java index 891c892..e7e12cc 100644 --- a/src/com/gitblit/wicket/pages/RootSubPage.java +++ b/src/com/gitblit/wicket/pages/RootSubPage.java @@ -19,6 +19,7 @@ import java.util.List; import org.apache.wicket.PageParameters; +import org.apache.wicket.Session; import org.apache.wicket.markup.html.basic.Label; import com.gitblit.Constants.AccessRestrictionType; @@ -38,10 +39,27 @@ public RootSubPage() { super(); + createPageMapIfNeeded(); } public RootSubPage(PageParameters params) { super(params); + createPageMapIfNeeded(); + } + + protected boolean requiresPageMap() { + return false; + } + + protected void createPageMapIfNeeded() { + if (requiresPageMap()) { + // because Gitblit strives for page-statelessness + // Wicket seems to get confused as to when it really should + // generate a page map for complex pages. Conditionally ensure we + // have a page map for complex AJAX pages like the EditNNN pages. + Session.get().pageMapForName(null, true); + setVersioned(true); + } } @Override -- Gitblit v1.9.1