summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket/pages/RootSubPage.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2012-10-30 17:04:47 -0400
committerJames Moger <james.moger@gitblit.com>2012-10-30 17:04:47 -0400
commitdd630f8aebde8c3138dc0d55ebf4a16d0db806b7 (patch)
tree98902cb6cee40f3b1a593987fb348aa29763182c /src/com/gitblit/wicket/pages/RootSubPage.java
parentabcb146f0c4e5c99e5e44349a65e6fd49e9296d9 (diff)
downloadgitblit-dd630f8aebde8c3138dc0d55ebf4a16d0db806b7.tar.gz
gitblit-dd630f8aebde8c3138dc0d55ebf4a16d0db806b7.zip
Fix intermittent Wicket page expirations on EditNNN pages
Diffstat (limited to 'src/com/gitblit/wicket/pages/RootSubPage.java')
-rw-r--r--src/com/gitblit/wicket/pages/RootSubPage.java18
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 891c892a..e7e12ccc 100644
--- a/src/com/gitblit/wicket/pages/RootSubPage.java
+++ b/src/com/gitblit/wicket/pages/RootSubPage.java
@@ -19,6 +19,7 @@ import java.util.ArrayList;
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 abstract class RootSubPage extends RootPage {
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