| | |
| | | */
|
| | | package com.gitblit.wicket;
|
| | |
|
| | | import java.util.HashMap;
|
| | | import java.util.Locale;
|
| | | import java.util.Map;
|
| | |
|
| | | import org.apache.wicket.Application;
|
| | | import org.apache.wicket.Page;
|
| | |
| | | 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.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;
|
| | | 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.ReflogPage;
|
| | | import com.gitblit.wicket.pages.RepositoriesPage;
|
| | | import com.gitblit.wicket.pages.ReviewProposalPage;
|
| | | import com.gitblit.wicket.pages.SummaryPage;
|
| | |
| | |
|
| | | public class GitBlitWebApp extends WebApplication {
|
| | |
|
| | | public final static Class<? extends BasePage> HOME_PAGE_CLASS = RepositoriesPage.class;
|
| | | public final static Class<? extends BasePage> HOME_PAGE_CLASS = MyDashboardPage.class;
|
| | | |
| | | private final Map<String, CacheControl> cacheablePages = new HashMap<String, CacheControl>();
|
| | |
|
| | | @Override
|
| | | public void init() {
|
| | |
| | | }
|
| | |
|
| | | // setup the standard gitweb-ish urls
|
| | | // mount("/repositories", RepositoriesPage.class);
|
| | | 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("/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);
|
| | |
| | | parameters = new String[] {};
|
| | | }
|
| | | mount(new GitblitParamUrlCodingStrategy(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);
|
| | | }
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | return HOME_PAGE_CLASS;
|
| | | }
|
| | |
|
| | | public boolean isCacheablePage(String mountPoint) {
|
| | | return cacheablePages.containsKey(mountPoint);
|
| | | }
|
| | |
|
| | | public CacheControl getCacheControl(String mountPoint) {
|
| | | return cacheablePages.get(mountPoint);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public final Session newSession(Request request, Response response) {
|
| | | GitBlitWebSession gitBlitWebSession = new GitBlitWebSession(request);
|