From 7eb9828ec6a31ad372c6a1dac7fa042bcdbd6818 Mon Sep 17 00:00:00 2001
From: Yuhi Ishikura <yuhi.ishikura@gmail.com>
Date: Sun, 02 Jun 2013 17:53:20 -0400
Subject: [PATCH] Improve index page strategy in PagesServlet.

---
 src/main/java/com/gitblit/wicket/GitBlitWebApp.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index 2300d0f..f4180fa 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -15,6 +15,8 @@
  */
 package com.gitblit.wicket;
 
+import java.util.Locale;
+
 import org.apache.wicket.Application;
 import org.apache.wicket.Page;
 import org.apache.wicket.Request;
@@ -25,13 +27,16 @@
 
 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.DocsPage;
 import com.gitblit.wicket.pages.FederationRegistrationPage;
 import com.gitblit.wicket.pages.ForkPage;
@@ -39,14 +44,17 @@
 import com.gitblit.wicket.pages.GitSearchPage;
 import com.gitblit.wicket.pages.GravatarProfilePage;
 import com.gitblit.wicket.pages.HistoryPage;
+import com.gitblit.wicket.pages.DashboardPage;
 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.OverviewPage;
 import com.gitblit.wicket.pages.PatchPage;
 import com.gitblit.wicket.pages.ProjectPage;
 import com.gitblit.wicket.pages.ProjectsPage;
+import com.gitblit.wicket.pages.PushesPage;
 import com.gitblit.wicket.pages.RawPage;
 import com.gitblit.wicket.pages.RepositoriesPage;
 import com.gitblit.wicket.pages.ReviewProposalPage;
@@ -61,6 +69,8 @@
 
 public class GitBlitWebApp extends WebApplication {
 
+	public final static Class<? extends BasePage> HOME_PAGE_CLASS = DashboardPage.class;
+	
 	@Override
 	public void init() {
 		super.init();
@@ -85,7 +95,11 @@
 		}
 
 		// setup the standard gitweb-ish urls
+		mount("/repositories", RepositoriesPage.class);
+		mount("/overview", OverviewPage.class, "r", "h");
 		mount("/summary", SummaryPage.class, "r");
+		mount("/pushes", PushesPage.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 +110,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);
@@ -138,12 +153,18 @@
 
 	@Override
 	public Class<? extends Page> getHomePage() {
-		return RepositoriesPage.class;
+		return HOME_PAGE_CLASS;
 	}
 	
 	@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