James Moger
2011-05-19 00afd77a2182ece3d9522d41b86b4ddd7e132288
src/com/gitblit/wicket/GitBlitWebApp.java
@@ -6,26 +6,28 @@
import org.apache.wicket.Response;
import org.apache.wicket.Session;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.protocol.http.request.urlcompressing.UrlCompressingWebRequestProcessor;
import org.apache.wicket.request.IRequestCycleProcessor;
import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
import com.gitblit.GitBlit;
import com.gitblit.StoredSettings;
import com.gitblit.Keys;
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.HistoryPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.MarkdownPage;
import com.gitblit.wicket.pages.PatchPage;
import com.gitblit.wicket.pages.RawPage;
import com.gitblit.wicket.pages.RepositoriesPage;
import com.gitblit.wicket.pages.SearchPage;
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagPage;
import com.gitblit.wicket.pages.TagsPage;
import com.gitblit.wicket.pages.TicGitPage;
import com.gitblit.wicket.pages.TicGitTicketPage;
import com.gitblit.wicket.pages.TicketPage;
import com.gitblit.wicket.pages.TicketsPage;
import com.gitblit.wicket.pages.TreePage;
public class GitBlitWebApp extends WebApplication {
@@ -35,14 +37,15 @@
      super.init();
      // Setup page authorization mechanism
      if (StoredSettings.getBoolean("authenticateWebUI", false)) {
      boolean useAuthentication = GitBlit.self().settings().getBoolean(Keys.web.authenticateViewPages, false) || GitBlit.self().settings().getBoolean(Keys.web.authenticateAdminPages, false);
      if (useAuthentication) {
         AuthorizationStrategy authStrategy = new AuthorizationStrategy();
         getSecuritySettings().setAuthorizationStrategy(authStrategy);
         getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy);
      }
      // Grab Browser info (like timezone, etc)
      if (StoredSettings.getBoolean("useClientTimezone", false)) {
      if (GitBlit.self().settings().getBoolean(Keys.web.useClientTimezone, false)) {
         getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
      }
@@ -59,12 +62,22 @@
      mount(new MixedParamUrlCodingStrategy("/blobdiff", BlobDiffPage.class, new String[] { "r", "h", "f" }));
      mount(new MixedParamUrlCodingStrategy("/commitdiff", CommitDiffPage.class, new String[] { "r", "h" }));
      mount(new MixedParamUrlCodingStrategy("/patch", PatchPage.class, new String[] { "r", "h", "f" }));
      mount(new MixedParamUrlCodingStrategy("/history", HistoryPage.class, new String[] { "r", "h", "f" }));
      mount(new MixedParamUrlCodingStrategy("/search", SearchPage.class, new String[] { }));
      // setup extended urls
      mount(new MixedParamUrlCodingStrategy("/ticgit", TicGitPage.class, new String[] { "r" }));
      mount(new MixedParamUrlCodingStrategy("/ticgittkt", TicGitTicketPage.class, new String[] { "r", "h", "f" }));
      // setup ticket urls
      mount(new MixedParamUrlCodingStrategy("/tickets", TicketsPage.class, new String[] { "r" }));
      mount(new MixedParamUrlCodingStrategy("/ticket", TicketPage.class, new String[] { "r", "h", "f" }));
      mount(new MixedParamUrlCodingStrategy("/login", LoginPage.class, new String[] {}));
      // setup the markdown urls
      mount(new MixedParamUrlCodingStrategy("/docs", DocsPage.class, new String[] { "r" }));
      mount(new MixedParamUrlCodingStrategy("/markdown", MarkdownPage.class, new String[] { "r", "h", "f" }));
      // setup login/logout urls, if we are using authentication
      if (useAuthentication) {
         mount(new MixedParamUrlCodingStrategy("/login", LoginPage.class, new String[] {}));
         mount(new MixedParamUrlCodingStrategy("/logout", LogoutPage.class, new String[] {}));
      }
   }
   @Override
@@ -78,19 +91,10 @@
   }
   @Override
   protected final IRequestCycleProcessor newRequestCycleProcessor() {
      return new UrlCompressingWebRequestProcessor();
   }
   @Override
   public final String getConfigurationType() {
      if (GitBlit.self().isDebugMode())
         return Application.DEVELOPMENT;
      return Application.DEPLOYMENT;
   }
   public String getCloneUrl(String repositoryName) {
      return StoredSettings.getString("cloneUrl", "https://localhost/git/") + repositoryName;
   }
   public static GitBlitWebApp get() {