| | |
| | | */
|
| | | 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.GitSearchPage;
|
| | | import com.gitblit.wicket.pages.GravatarProfilePage;
|
| | | import com.gitblit.wicket.pages.HistoryPage;
|
| | | import com.gitblit.wicket.pages.DashboardPage;
|
| | | 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;
|
| | | import com.gitblit.wicket.pages.PatchPage;
|
| | | import com.gitblit.wicket.pages.ProjectPage;
|
| | | import com.gitblit.wicket.pages.ProjectsPage;
|
| | | import com.gitblit.wicket.pages.PushesPage;
|
| | | 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 = DashboardPage.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() {
|
| | |
| | | mount("/repositories", RepositoriesPage.class);
|
| | | mount("/overview", OverviewPage.class, "r", "h");
|
| | | mount("/summary", SummaryPage.class, "r");
|
| | | mount("/pushes", PushesPage.class, "r", "h");
|
| | | mount("/reflog", ReflogPage.class, "r", "h");
|
| | | mount("/commits", LogPage.class, "r", "h");
|
| | | mount("/log", LogPage.class, "r", "h");
|
| | | mount("/tags", TagsPage.class, "r");
|
| | |
| | | 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);
|