From a7a0b8ea01dca14602fdb49047d987c36461e861 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 26 Nov 2013 16:07:04 -0500
Subject: [PATCH] Refactor access to home page class

---
 src/main/java/com/gitblit/wicket/GitBlitWebApp.java |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
index 74ccac7..8cbda46 100644
--- a/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
+++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -20,7 +20,6 @@
 import java.util.Map;
 
 import org.apache.wicket.Application;
-import org.apache.wicket.Page;
 import org.apache.wicket.Request;
 import org.apache.wicket.Response;
 import org.apache.wicket.Session;
@@ -31,7 +30,6 @@
 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;
@@ -39,6 +37,7 @@
 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;
@@ -49,7 +48,6 @@
 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;
@@ -63,18 +61,16 @@
 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 Class<? extends WebPage> homePageClass = MyDashboardPage.class;
+
 	private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>();
-	
+
 	@Override
 	public void init() {
 		super.init();
@@ -83,7 +79,7 @@
 		boolean useAuthentication = GitBlit.getBoolean(Keys.web.authenticateViewPages, false)
 				|| GitBlit.getBoolean(Keys.web.authenticateAdminPages, false);
 		if (useAuthentication) {
-			AuthorizationStrategy authStrategy = new AuthorizationStrategy();
+			AuthorizationStrategy authStrategy = new AuthorizationStrategy(homePageClass);
 			getSecuritySettings().setAuthorizationStrategy(authStrategy);
 			getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy);
 		}
@@ -123,13 +119,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");
@@ -143,6 +135,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) {
@@ -153,8 +147,8 @@
 			parameters = new String[] {};
 		}
 		mount(new GitblitParamUrlCodingStrategy(location, clazz, parameters));
-		
-		// map the mount point to the cache control definition 
+
+		// 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);
@@ -162,10 +156,10 @@
 	}
 
 	@Override
-	public Class<? extends Page> getHomePage() {
-		return HOME_PAGE_CLASS;
+	public Class<? extends WebPage> getHomePage() {
+		return homePageClass;
 	}
-	
+
 	public boolean isCacheablePage(String mountPoint) {
 		return cacheablePages.containsKey(mountPoint);
 	}

--
Gitblit v1.9.1