From c658df9e87d65b08d5482cf04489cb0532ff83dd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 13 Oct 2012 10:50:35 -0400
Subject: [PATCH] Merge branch 'master' of https://github.com/Mrbytes/gitblit

---
 src/com/gitblit/wicket/GitBlitWebApp.java |   54 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 13 deletions(-)

diff --git a/src/com/gitblit/wicket/GitBlitWebApp.java b/src/com/gitblit/wicket/GitBlitWebApp.java
index 1d251d9..245b1e0 100644
--- a/src/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/com/gitblit/wicket/GitBlitWebApp.java
@@ -22,31 +22,41 @@
 import org.apache.wicket.Session;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
 
 import com.gitblit.GitBlit;
 import com.gitblit.Keys;
+import com.gitblit.wicket.pages.ActivityPage;
+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.DocsPage;
+import com.gitblit.wicket.pages.FederationRegistrationPage;
+import com.gitblit.wicket.pages.ForkPage;
+import com.gitblit.wicket.pages.ForksPage;
+import com.gitblit.wicket.pages.GitSearchPage;
+import com.gitblit.wicket.pages.GravatarProfilePage;
 import com.gitblit.wicket.pages.HistoryPage;
 import com.gitblit.wicket.pages.LogPage;
-import com.gitblit.wicket.pages.LoginPage;
-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.PatchPage;
+import com.gitblit.wicket.pages.ProjectPage;
+import com.gitblit.wicket.pages.ProjectsPage;
 import com.gitblit.wicket.pages.RawPage;
 import com.gitblit.wicket.pages.RepositoriesPage;
-import com.gitblit.wicket.pages.SearchPage;
+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 {
 
@@ -68,6 +78,11 @@
 			getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
 		}
 
+		// configure the resource cache duration to 90 days for deployment
+		if (!GitBlit.isDebugMode()) {
+			getResourceSettings().setDefaultCacheDuration(90 * 86400);
+		}
+
 		// setup the standard gitweb-ish urls
 		mount("/summary", SummaryPage.class, "r");
 		mount("/log", LogPage.class, "r", "h");
@@ -82,7 +97,10 @@
 		mount("/commitdiff", CommitDiffPage.class, "r", "h");
 		mount("/patch", PatchPage.class, "r", "h", "f");
 		mount("/history", HistoryPage.class, "r", "h", "f");
-		mount("/search", SearchPage.class);
+		mount("/search", GitSearchPage.class);
+		mount("/metrics", MetricsPage.class, "r");
+		mount("/blame", BlamePage.class, "r", "h", "f");
+		mount("/users", UsersPage.class);
 
 		// setup ticket urls
 		mount("/tickets", TicketsPage.class, "r");
@@ -92,25 +110,35 @@
 		mount("/docs", DocsPage.class, "r");
 		mount("/markdown", MarkdownPage.class, "r", "h", "f");
 
-		// setup login/logout urls, if we are using authentication
-		if (useAuthentication) {
-			mount("/login", LoginPage.class);
-			mount("/logout", LogoutPage.class);
-		}
+		// federation urls
+		mount("/proposal", ReviewProposalPage.class, "t");
+		mount("/registration", FederationRegistrationPage.class, "u", "n");
+
+		mount("/activity", ActivityPage.class, "r", "h");
+		mount("/gravatar", GravatarProfilePage.class, "h");
+		mount("/lucene", LuceneSearchPage.class);
+		mount("/project", ProjectPage.class, "p");
+		mount("/projects", ProjectsPage.class);
+		mount("/user", UserPage.class, "user");
+		mount("/forks", ForksPage.class, "r");
+		mount("/fork", ForkPage.class, "r");
 	}
 
 	private void mount(String location, Class<? extends WebPage> clazz, String... parameters) {
 		if (parameters == null) {
 			parameters = new String[] {};
 		}
-		mount(new MixedParamUrlCodingStrategy(location, clazz, parameters));
+		if (!GitBlit.getBoolean(Keys.web.mountParameters, true)) {
+			parameters = new String[] {};
+		}
+		mount(new GitblitParamUrlCodingStrategy(location, clazz, parameters));
 	}
 
 	@Override
 	public Class<? extends Page> getHomePage() {
 		return RepositoriesPage.class;
 	}
-
+	
 	@Override
 	public final Session newSession(Request request, Response response) {
 		return new GitBlitWebSession(request);
@@ -118,7 +146,7 @@
 
 	@Override
 	public final String getConfigurationType() {
-		if (GitBlit.self().isDebugMode()) {
+		if (GitBlit.isDebugMode()) {
 			return Application.DEVELOPMENT;
 		}
 		return Application.DEPLOYMENT;

--
Gitblit v1.9.1