James Moger
2014-03-16 e562d45372cf70fe9160fc21e6d1bc3d7d75e60d
src/main/java/com/gitblit/wicket/GitBlitWebApp.java
@@ -28,9 +28,17 @@
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebApplication;
import com.gitblit.GitBlit;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.manager.IAuthenticationManager;
import com.gitblit.manager.IFederationManager;
import com.gitblit.manager.IGitblit;
import com.gitblit.manager.INotificationManager;
import com.gitblit.manager.IProjectManager;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.manager.IRuntimeManager;
import com.gitblit.manager.IUserManager;
import com.gitblit.tickets.ITicketService;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.pages.ActivityPage;
import com.gitblit.wicket.pages.BlamePage;
@@ -42,17 +50,19 @@
import com.gitblit.wicket.pages.ComparePage;
import com.gitblit.wicket.pages.DocPage;
import com.gitblit.wicket.pages.DocsPage;
import com.gitblit.wicket.pages.EditTicketPage;
import com.gitblit.wicket.pages.ExportTicketPage;
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.LogoutPage;
import com.gitblit.wicket.pages.LuceneSearchPage;
import com.gitblit.wicket.pages.MetricsPage;
import com.gitblit.wicket.pages.MyDashboardPage;
import com.gitblit.wicket.pages.NewTicketPage;
import com.gitblit.wicket.pages.OverviewPage;
import com.gitblit.wicket.pages.PatchPage;
import com.gitblit.wicket.pages.ProjectPage;
@@ -64,6 +74,7 @@
import com.gitblit.wicket.pages.SummaryPage;
import com.gitblit.wicket.pages.TagPage;
import com.gitblit.wicket.pages.TagsPage;
import com.gitblit.wicket.pages.TicketsPage;
import com.gitblit.wicket.pages.TreePage;
import com.gitblit.wicket.pages.UserPage;
import com.gitblit.wicket.pages.UsersPage;
@@ -74,13 +85,49 @@
   private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>();
   private IStoredSettings settings;
   private final IStoredSettings settings;
   private final IRuntimeManager runtimeManager;
   private final INotificationManager notificationManager;
   private final IUserManager userManager;
   private final IAuthenticationManager authenticationManager;
   private final IRepositoryManager repositoryManager;
   private final IProjectManager projectManager;
   private final IFederationManager federationManager;
   private final IGitblit gitblit;
   public GitBlitWebApp(
         IRuntimeManager runtimeManager,
         INotificationManager notificationManager,
         IUserManager userManager,
         IAuthenticationManager authenticationManager,
         IRepositoryManager repositoryManager,
         IProjectManager projectManager,
         IFederationManager federationManager,
         IGitblit gitblit) {
      super();
      this.settings = runtimeManager.getSettings();
      this.runtimeManager = runtimeManager;
      this.notificationManager = notificationManager;
      this.userManager = userManager;
      this.authenticationManager = authenticationManager;
      this.repositoryManager = repositoryManager;
      this.projectManager = projectManager;
      this.federationManager = federationManager;
      this.gitblit = gitblit;
   }
   @Override
   public void init() {
      super.init();
      settings = GitBlit.getSettings();
      // Setup page authorization mechanism
      boolean useAuthentication = settings.getBoolean(Keys.web.authenticateViewPages, false)
@@ -126,6 +173,12 @@
      mount("/users", UsersPage.class);
      mount("/logout", LogoutPage.class);
      // setup ticket urls
      mount("/tickets", TicketsPage.class, "r", "h");
      mount("/tickets/new", NewTicketPage.class, "r");
      mount("/tickets/edit", EditTicketPage.class, "r", "h");
      mount("/tickets/export", ExportTicketPage.class, "r", "h");
      // setup the markup document urls
      mount("/docs", DocsPage.class, "r");
      mount("/doc", DocPage.class, "r", "h", "f");
@@ -135,14 +188,13 @@
      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");
      getMarkupSettings().setDefaultMarkupEncoding("UTF-8");
      super.init();
   }
@@ -197,7 +249,7 @@
    * @return true if Gitblit is running in debug mode
    */
   public boolean isDebugMode() {
      return GitBlit.isDebugMode();
      return runtimeManager.isDebugMode();
   }
   /*
@@ -205,52 +257,56 @@
    * step towards modularization across multiple commits.
    */
   public Date getBootDate() {
      return GitBlit.getBootDate();
      return runtimeManager.getBootDate();
   }
   public Date getLastActivityDate() {
      return GitBlit.getLastActivityDate();
      return repositoryManager.getLastActivityDate();
   }
   public GitBlit runtime() {
      return GitBlit.self();
   public IRuntimeManager runtime() {
      return runtimeManager;
   }
   public GitBlit mail() {
      return GitBlit.self();
   public INotificationManager notifier() {
      return notificationManager;
   }
   public GitBlit users() {
      return GitBlit.self();
   public IUserManager users() {
      return userManager;
   }
   public GitBlit session() {
      return GitBlit.self();
   public IAuthenticationManager authentication() {
      return authenticationManager;
   }
   public GitBlit repositories() {
      return GitBlit.self();
   public IRepositoryManager repositories() {
      return repositoryManager;
   }
   public GitBlit projects() {
      return GitBlit.self();
   public IProjectManager projects() {
      return projectManager;
   }
   public GitBlit federation() {
      return GitBlit.self();
   public IFederationManager federation() {
      return federationManager;
   }
   public GitBlit gitblit() {
      return GitBlit.self();
   public IGitblit gitblit() {
      return gitblit;
   }
   public ITicketService tickets() {
      return gitblit.getTicketService();
   }
   public TimeZone getTimezone() {
      return GitBlit.getTimezone();
      return runtimeManager.getTimezone();
   }
   @Override
   public final String getConfigurationType() {
      if (isDebugMode()) {
      if (runtimeManager.isDebugMode()) {
         return Application.DEVELOPMENT;
      }
      return Application.DEPLOYMENT;