| | |
| | | /*
|
| | | * Copyright 2011 gitblit.com.
|
| | | *
|
| | | * Licensed under the Apache License, Version 2.0 (the "License");
|
| | | * you may not use this file except in compliance with the License.
|
| | | * You may obtain a copy of the License at
|
| | | *
|
| | | * http://www.apache.org/licenses/LICENSE-2.0
|
| | | *
|
| | | * Unless required by applicable law or agreed to in writing, software
|
| | | * distributed under the License is distributed on an "AS IS" BASIS,
|
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| | | * See the License for the specific language governing permissions and
|
| | | * limitations under the License.
|
| | | */
|
| | | package com.gitblit.wicket;
|
| | |
|
| | | import java.util.Locale;
|
| | |
|
| | | 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;
|
| | | import org.apache.wicket.markup.html.WebPage;
|
| | | import org.apache.wicket.protocol.http.WebApplication;
|
| | |
|
| | | 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;
|
| | | 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.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.RawPage;
|
| | | import com.gitblit.wicket.pages.RepositoriesPage;
|
| | | 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 {
|
| | |
|
| | | public final static Class<? extends BasePage> HOME_PAGE_CLASS = RepositoriesPage.class;
|
| | | |
| | | @Override
|
| | | public void init() {
|
| | | super.init();
|
| | |
|
| | | // Setup page authorization mechanism
|
| | | boolean useAuthentication = GitBlit.getBoolean(Keys.web.authenticateViewPages, false)
|
| | | || GitBlit.getBoolean(Keys.web.authenticateAdminPages, false);
|
| | | if (useAuthentication) {
|
| | | AuthorizationStrategy authStrategy = new AuthorizationStrategy();
|
| | | getSecuritySettings().setAuthorizationStrategy(authStrategy);
|
| | | getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy);
|
| | | }
|
| | |
|
| | | // Grab Browser info (like timezone, etc)
|
| | | if (GitBlit.getBoolean(Keys.web.useClientTimezone, false)) {
|
| | | 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("/repositories", RepositoriesPage.class);
|
| | | mount("/overview", OverviewPage.class, "r", "h");
|
| | | mount("/summary", SummaryPage.class, "r");
|
| | | mount("/commits", LogPage.class, "r", "h");
|
| | | mount("/log", LogPage.class, "r", "h");
|
| | | mount("/tags", TagsPage.class, "r");
|
| | | mount("/branches", BranchesPage.class, "r");
|
| | | mount("/commit", CommitPage.class, "r", "h");
|
| | | mount("/tag", TagPage.class, "r", "h");
|
| | | mount("/tree", TreePage.class, "r", "h", "f");
|
| | | mount("/blob", BlobPage.class, "r", "h", "f");
|
| | | 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);
|
| | | mount("/metrics", MetricsPage.class, "r");
|
| | | mount("/blame", BlamePage.class, "r", "h", "f");
|
| | | 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
|
| | | mount("/docs", DocsPage.class, "r");
|
| | | mount("/markdown", MarkdownPage.class, "r", "h", "f");
|
| | |
|
| | | // 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[] {};
|
| | | }
|
| | | if (!GitBlit.getBoolean(Keys.web.mountParameters, true)) {
|
| | | parameters = new String[] {};
|
| | | }
|
| | | mount(new GitblitParamUrlCodingStrategy(location, clazz, parameters));
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Class<? extends Page> getHomePage() {
|
| | | return HOME_PAGE_CLASS;
|
| | | }
|
| | | |
| | | @Override
|
| | | public final Session newSession(Request request, Response response) {
|
| | | 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
|
| | | public final String getConfigurationType() {
|
| | | if (GitBlit.isDebugMode()) {
|
| | | return Application.DEVELOPMENT;
|
| | | }
|
| | | return Application.DEPLOYMENT;
|
| | | }
|
| | |
|
| | | public static GitBlitWebApp get() {
|
| | | return (GitBlitWebApp) WebApplication.get();
|
| | | }
|
| | | }
|
| | | /* |
| | | * Copyright 2011 gitblit.com. |
| | | * |
| | | * Licensed under the Apache License, Version 2.0 (the "License"); |
| | | * you may not use this file except in compliance with the License. |
| | | * You may obtain a copy of the License at |
| | | * |
| | | * http://www.apache.org/licenses/LICENSE-2.0 |
| | | * |
| | | * Unless required by applicable law or agreed to in writing, software |
| | | * distributed under the License is distributed on an "AS IS" BASIS, |
| | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| | | * See the License for the specific language governing permissions and |
| | | * limitations under the License. |
| | | */ |
| | | package com.gitblit.wicket; |
| | | |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.Locale; |
| | | import java.util.Map; |
| | | import java.util.TimeZone; |
| | | |
| | | import org.apache.wicket.Application; |
| | | import org.apache.wicket.Request; |
| | | import org.apache.wicket.Response; |
| | | import org.apache.wicket.Session; |
| | | import org.apache.wicket.application.IClassResolver; |
| | | import org.apache.wicket.markup.html.WebPage; |
| | | import org.apache.wicket.protocol.http.WebApplication; |
| | | |
| | | import ro.fortsoft.pf4j.PluginState; |
| | | import ro.fortsoft.pf4j.PluginWrapper; |
| | | |
| | | import com.gitblit.IStoredSettings; |
| | | import com.gitblit.Keys; |
| | | import com.gitblit.extensions.GitblitWicketPlugin; |
| | | import com.gitblit.manager.IAuthenticationManager; |
| | | import com.gitblit.manager.IFederationManager; |
| | | import com.gitblit.manager.IGitblit; |
| | | import com.gitblit.manager.INotificationManager; |
| | | import com.gitblit.manager.IPluginManager; |
| | | 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.transport.ssh.IPublicKeyManager; |
| | | import com.gitblit.utils.XssFilter; |
| | | 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.ComparePage; |
| | | import com.gitblit.wicket.pages.DocPage; |
| | | import com.gitblit.wicket.pages.DocsPage; |
| | | import com.gitblit.wicket.pages.EditMilestonePage; |
| | | import com.gitblit.wicket.pages.EditRepositoryPage; |
| | | 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.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.MyTicketsPage; |
| | | import com.gitblit.wicket.pages.NewMilestonePage; |
| | | import com.gitblit.wicket.pages.NewRepositoryPage; |
| | | import com.gitblit.wicket.pages.NewTicketPage; |
| | | 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.ReflogPage; |
| | | import com.gitblit.wicket.pages.RepositoriesPage; |
| | | 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.TeamsPage; |
| | | 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 implements GitblitWicketApp { |
| | | |
| | | private final Class<? extends WebPage> homePageClass = MyDashboardPage.class; |
| | | |
| | | private final Class<? extends WebPage> newRepositoryPageClass = NewRepositoryPage.class; |
| | | |
| | | private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>(); |
| | | |
| | | private final IStoredSettings settings; |
| | | |
| | | private final XssFilter xssFilter; |
| | | |
| | | private final IRuntimeManager runtimeManager; |
| | | |
| | | private final IPluginManager pluginManager; |
| | | |
| | | private final INotificationManager notificationManager; |
| | | |
| | | private final IUserManager userManager; |
| | | |
| | | private final IAuthenticationManager authenticationManager; |
| | | |
| | | private final IPublicKeyManager publicKeyManager; |
| | | |
| | | private final IRepositoryManager repositoryManager; |
| | | |
| | | private final IProjectManager projectManager; |
| | | |
| | | private final IFederationManager federationManager; |
| | | |
| | | private final IGitblit gitblit; |
| | | |
| | | public GitBlitWebApp( |
| | | IRuntimeManager runtimeManager, |
| | | IPluginManager pluginManager, |
| | | INotificationManager notificationManager, |
| | | IUserManager userManager, |
| | | IAuthenticationManager authenticationManager, |
| | | IPublicKeyManager publicKeyManager, |
| | | IRepositoryManager repositoryManager, |
| | | IProjectManager projectManager, |
| | | IFederationManager federationManager, |
| | | IGitblit gitblit) { |
| | | |
| | | super(); |
| | | this.settings = runtimeManager.getSettings(); |
| | | this.xssFilter = runtimeManager.getXssFilter(); |
| | | this.runtimeManager = runtimeManager; |
| | | this.pluginManager = pluginManager; |
| | | this.notificationManager = notificationManager; |
| | | this.userManager = userManager; |
| | | this.authenticationManager = authenticationManager; |
| | | this.publicKeyManager = publicKeyManager; |
| | | this.repositoryManager = repositoryManager; |
| | | this.projectManager = projectManager; |
| | | this.federationManager = federationManager; |
| | | this.gitblit = gitblit; |
| | | } |
| | | |
| | | @Override |
| | | public void init() { |
| | | super.init(); |
| | | |
| | | // Setup page authorization mechanism |
| | | boolean useAuthentication = settings.getBoolean(Keys.web.authenticateViewPages, false) |
| | | || settings.getBoolean(Keys.web.authenticateAdminPages, false); |
| | | if (useAuthentication) { |
| | | AuthorizationStrategy authStrategy = new AuthorizationStrategy(settings, homePageClass); |
| | | getSecuritySettings().setAuthorizationStrategy(authStrategy); |
| | | getSecuritySettings().setUnauthorizedComponentInstantiationListener(authStrategy); |
| | | } |
| | | |
| | | // Grab Browser info (like timezone, etc) |
| | | if (settings.getBoolean(Keys.web.useClientTimezone, false)) { |
| | | getRequestCycleSettings().setGatherExtendedBrowserInfo(true); |
| | | } |
| | | |
| | | // configure the resource cache duration to 90 days for deployment |
| | | if (!isDebugMode()) { |
| | | getResourceSettings().setDefaultCacheDuration(90 * 86400); |
| | | } |
| | | |
| | | // setup the standard gitweb-ish urls |
| | | mount("/repositories", RepositoriesPage.class); |
| | | mount("/overview", OverviewPage.class, "r", "h"); |
| | | mount("/summary", SummaryPage.class, "r"); |
| | | mount("/reflog", ReflogPage.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"); |
| | | mount("/commit", CommitPage.class, "r", "h"); |
| | | mount("/tag", TagPage.class, "r", "h"); |
| | | mount("/tree", TreePage.class, "r", "h", "f"); |
| | | mount("/blob", BlobPage.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); |
| | | mount("/metrics", MetricsPage.class, "r"); |
| | | mount("/blame", BlamePage.class, "r", "h", "f"); |
| | | mount("/users", UsersPage.class); |
| | | mount("/teams", TeamsPage.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"); |
| | | mount("/milestones/new", NewMilestonePage.class, "r"); |
| | | mount("/milestones/edit", EditMilestonePage.class, "r", "h"); |
| | | mount("/mytickets", MyTicketsPage.class, "r", "h"); |
| | | |
| | | // setup the markup document urls |
| | | mount("/docs", DocsPage.class, "r"); |
| | | mount("/doc", DocPage.class, "r", "h", "f"); |
| | | |
| | | // federation urls |
| | | mount("/proposal", ReviewProposalPage.class, "t"); |
| | | mount("/registration", FederationRegistrationPage.class, "u", "n"); |
| | | |
| | | mount("/new", NewRepositoryPage.class); |
| | | mount("/edit", EditRepositoryPage.class, "r"); |
| | | mount("/activity", ActivityPage.class, "r", "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"); |
| | | |
| | | // allow started Wicket plugins to initialize |
| | | for (PluginWrapper pluginWrapper : pluginManager.getPlugins()) { |
| | | if (PluginState.STARTED != pluginWrapper.getPluginState()) { |
| | | continue; |
| | | } |
| | | if (pluginWrapper.getPlugin() instanceof GitblitWicketPlugin) { |
| | | GitblitWicketPlugin wicketPlugin = (GitblitWicketPlugin) pluginWrapper.getPlugin(); |
| | | wicketPlugin.init(this); |
| | | } |
| | | } |
| | | |
| | | // customize the Wicket class resolver to load from plugins |
| | | IClassResolver coreResolver = getApplicationSettings().getClassResolver(); |
| | | PluginClassResolver classResolver = new PluginClassResolver(coreResolver, pluginManager); |
| | | getApplicationSettings().setClassResolver(classResolver); |
| | | |
| | | getMarkupSettings().setDefaultMarkupEncoding("UTF-8"); |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#mount(java.lang.String, java.lang.Class, java.lang.String) |
| | | */ |
| | | @Override |
| | | public void mount(String location, Class<? extends WebPage> clazz, String... parameters) { |
| | | if (parameters == null) { |
| | | parameters = new String[] {}; |
| | | } |
| | | if (!settings.getBoolean(Keys.web.mountParameters, true)) { |
| | | parameters = new String[] {}; |
| | | } |
| | | mount(new GitblitParamUrlCodingStrategy(settings, location, clazz, parameters)); |
| | | |
| | | // 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); |
| | | } |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#getHomePage() |
| | | */ |
| | | @Override |
| | | public Class<? extends WebPage> getHomePage() { |
| | | return homePageClass; |
| | | } |
| | | |
| | | public Class<? extends WebPage> getNewRepositoryPage() { |
| | | return newRepositoryPageClass; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#isCacheablePage(java.lang.String) |
| | | */ |
| | | @Override |
| | | public boolean isCacheablePage(String mountPoint) { |
| | | return cacheablePages.containsKey(mountPoint); |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#getCacheControl(java.lang.String) |
| | | */ |
| | | @Override |
| | | public CacheControl getCacheControl(String mountPoint) { |
| | | return cacheablePages.get(mountPoint); |
| | | } |
| | | |
| | | @Override |
| | | public final Session newSession(Request request, Response response) { |
| | | GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request); |
| | | |
| | | Locale forcedLocale = runtime().getLocale(); |
| | | if (forcedLocale != null) { |
| | | gitBlitWebSession.setLocale(forcedLocale); |
| | | } |
| | | return gitBlitWebSession; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#settings() |
| | | */ |
| | | @Override |
| | | public IStoredSettings settings() { |
| | | return settings; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#xssFilter() |
| | | */ |
| | | @Override |
| | | public XssFilter xssFilter() { |
| | | return xssFilter; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#isDebugMode() |
| | | */ |
| | | @Override |
| | | public boolean isDebugMode() { |
| | | return runtimeManager.isDebugMode(); |
| | | } |
| | | |
| | | /* |
| | | * These methods look strange... and they are... but they are the first |
| | | * step towards modularization across multiple commits. |
| | | */ |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#getBootDate() |
| | | */ |
| | | @Override |
| | | public Date getBootDate() { |
| | | return runtimeManager.getBootDate(); |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#getLastActivityDate() |
| | | */ |
| | | @Override |
| | | public Date getLastActivityDate() { |
| | | return repositoryManager.getLastActivityDate(); |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#runtime() |
| | | */ |
| | | @Override |
| | | public IRuntimeManager runtime() { |
| | | return runtimeManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#plugins() |
| | | */ |
| | | @Override |
| | | public IPluginManager plugins() { |
| | | return pluginManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#notifier() |
| | | */ |
| | | @Override |
| | | public INotificationManager notifier() { |
| | | return notificationManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#users() |
| | | */ |
| | | @Override |
| | | public IUserManager users() { |
| | | return userManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#authentication() |
| | | */ |
| | | @Override |
| | | public IAuthenticationManager authentication() { |
| | | return authenticationManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#keys() |
| | | */ |
| | | @Override |
| | | public IPublicKeyManager keys() { |
| | | return publicKeyManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#repositories() |
| | | */ |
| | | @Override |
| | | public IRepositoryManager repositories() { |
| | | return repositoryManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#projects() |
| | | */ |
| | | @Override |
| | | public IProjectManager projects() { |
| | | return projectManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#federation() |
| | | */ |
| | | @Override |
| | | public IFederationManager federation() { |
| | | return federationManager; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#gitblit() |
| | | */ |
| | | @Override |
| | | public IGitblit gitblit() { |
| | | return gitblit; |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#tickets() |
| | | */ |
| | | @Override |
| | | public ITicketService tickets() { |
| | | return gitblit.getTicketService(); |
| | | } |
| | | |
| | | /* (non-Javadoc) |
| | | * @see com.gitblit.wicket.Webapp#getTimezone() |
| | | */ |
| | | @Override |
| | | public TimeZone getTimezone() { |
| | | return runtimeManager.getTimezone(); |
| | | } |
| | | |
| | | @Override |
| | | public final String getConfigurationType() { |
| | | if (runtimeManager.isDebugMode()) { |
| | | return Application.DEVELOPMENT; |
| | | } |
| | | return Application.DEPLOYMENT; |
| | | } |
| | | |
| | | public static GitBlitWebApp get() { |
| | | return (GitBlitWebApp) WebApplication.get(); |
| | | } |
| | | } |