From abd1524e7bae97e17ac5f722faad1362297743ce Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 19 Nov 2013 16:12:30 -0500
Subject: [PATCH] Update Moxie to 0.9.0
---
src/main/java/com/gitblit/wicket/GitBlitWebApp.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index 2300d0f..70aa1a6 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -15,6 +15,10 @@
*/
package com.gitblit.wicket;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
import org.apache.wicket.Application;
import org.apache.wicket.Page;
import org.apache.wicket.Request;
@@ -25,13 +29,17 @@
import com.gitblit.GitBlit;
import com.gitblit.Keys;
+import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.pages.ActivityPage;
+import com.gitblit.wicket.pages.BasePage;
import com.gitblit.wicket.pages.BlamePage;
import com.gitblit.wicket.pages.BlobDiffPage;
import com.gitblit.wicket.pages.BlobPage;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.CommitDiffPage;
import com.gitblit.wicket.pages.CommitPage;
+import com.gitblit.wicket.pages.ComparePage;
+import com.gitblit.wicket.pages.DocPage;
import com.gitblit.wicket.pages.DocsPage;
import com.gitblit.wicket.pages.FederationRegistrationPage;
import com.gitblit.wicket.pages.ForkPage;
@@ -42,24 +50,28 @@
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.LogoutPage;
import com.gitblit.wicket.pages.LuceneSearchPage;
-import com.gitblit.wicket.pages.MarkdownPage;
import com.gitblit.wicket.pages.MetricsPage;
+import com.gitblit.wicket.pages.MyDashboardPage;
+import com.gitblit.wicket.pages.OverviewPage;
import com.gitblit.wicket.pages.PatchPage;
import com.gitblit.wicket.pages.ProjectPage;
import com.gitblit.wicket.pages.ProjectsPage;
import com.gitblit.wicket.pages.RawPage;
+import com.gitblit.wicket.pages.ReflogPage;
import com.gitblit.wicket.pages.RepositoriesPage;
import com.gitblit.wicket.pages.ReviewProposalPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagPage;
import com.gitblit.wicket.pages.TagsPage;
-import com.gitblit.wicket.pages.TicketPage;
-import com.gitblit.wicket.pages.TicketsPage;
import com.gitblit.wicket.pages.TreePage;
import com.gitblit.wicket.pages.UserPage;
import com.gitblit.wicket.pages.UsersPage;
public class GitBlitWebApp extends WebApplication {
+
+ public final static Class<? extends BasePage> HOME_PAGE_CLASS = MyDashboardPage.class;
+
+ private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>();
@Override
public void init() {
@@ -85,7 +97,11 @@
}
// setup the standard gitweb-ish urls
+ mount("/repositories", RepositoriesPage.class);
+ mount("/overview", OverviewPage.class, "r", "h");
mount("/summary", SummaryPage.class, "r");
+ mount("/reflog", ReflogPage.class, "r", "h");
+ mount("/commits", LogPage.class, "r", "h");
mount("/log", LogPage.class, "r", "h");
mount("/tags", TagsPage.class, "r");
mount("/branches", BranchesPage.class, "r");
@@ -96,6 +112,7 @@
mount("/raw", RawPage.class, "r", "h", "f");
mount("/blobdiff", BlobDiffPage.class, "r", "h", "f");
mount("/commitdiff", CommitDiffPage.class, "r", "h");
+ mount("/compare", ComparePage.class, "r", "h");
mount("/patch", PatchPage.class, "r", "h", "f");
mount("/history", HistoryPage.class, "r", "h", "f");
mount("/search", GitSearchPage.class);
@@ -104,13 +121,9 @@
mount("/users", UsersPage.class);
mount("/logout", LogoutPage.class);
- // setup ticket urls
- mount("/tickets", TicketsPage.class, "r");
- mount("/ticket", TicketPage.class, "r", "f");
-
- // setup the markdown urls
+ // setup the markup document urls
mount("/docs", DocsPage.class, "r");
- mount("/markdown", MarkdownPage.class, "r", "h", "f");
+ mount("/doc", DocPage.class, "r", "h", "f");
// federation urls
mount("/proposal", ReviewProposalPage.class, "t");
@@ -124,6 +137,8 @@
mount("/user", UserPage.class, "user");
mount("/forks", ForksPage.class, "r");
mount("/fork", ForkPage.class, "r");
+
+ getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
}
private void mount(String location, Class<? extends WebPage> clazz, String... parameters) {
@@ -134,16 +149,36 @@
parameters = new String[] {};
}
mount(new GitblitParamUrlCodingStrategy(location, clazz, parameters));
+
+ // map the mount point to the cache control definition
+ if (clazz.isAnnotationPresent(CacheControl.class)) {
+ CacheControl cacheControl = clazz.getAnnotation(CacheControl.class);
+ cacheablePages.put(location.substring(1), cacheControl);
+ }
}
@Override
public Class<? extends Page> getHomePage() {
- return RepositoriesPage.class;
+ return HOME_PAGE_CLASS;
}
-
+
+ public boolean isCacheablePage(String mountPoint) {
+ return cacheablePages.containsKey(mountPoint);
+ }
+
+ public CacheControl getCacheControl(String mountPoint) {
+ return cacheablePages.get(mountPoint);
+ }
+
@Override
public final Session newSession(Request request, Response response) {
- return new GitBlitWebSession(request);
+ GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request);
+
+ String forcedLocale = GitBlit.getString(Keys.web.forceDefaultLocale, null);
+ if (!StringUtils.isEmpty(forcedLocale)) {
+ gitBlitWebSession.setLocale(new Locale(forcedLocale));
+ }
+ return gitBlitWebSession;
}
@Override
--
Gitblit v1.9.1