From 07eb0963cae3a403f8774f65afa20c940ce7124f Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 13 Jun 2014 08:57:41 -0400 Subject: [PATCH] Merged #103 "flotr2 throws exception on small dashboards" --- src/main/java/com/gitblit/wicket/pages/ProjectPage.java | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/ProjectPage.java b/src/main/java/com/gitblit/wicket/pages/ProjectPage.java index c938891..b92282b 100644 --- a/src/main/java/com/gitblit/wicket/pages/ProjectPage.java +++ b/src/main/java/com/gitblit/wicket/pages/ProjectPage.java @@ -25,12 +25,11 @@ import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.ExternalLink; -import com.gitblit.GitBlit; import com.gitblit.Keys; -import com.gitblit.SyndicationServlet; import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; +import com.gitblit.servlet.SyndicationServlet; import com.gitblit.utils.MarkdownUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.CacheControl; @@ -46,7 +45,7 @@ @CacheControl(LastModified.PROJECT) public class ProjectPage extends DashboardPage { - + List<ProjectModel> projectModels = new ArrayList<ProjectModel>(); public ProjectPage() { @@ -58,7 +57,8 @@ super(params); setup(params); } - + + @Override protected Class<? extends BasePage> getRootNavPageClass() { return RepositoriesPage.class; } @@ -82,35 +82,35 @@ } } } - + private void setup(PageParameters params) { setupPage("", ""); // check to see if we should display a login message - boolean authenticateView = GitBlit.getBoolean(Keys.web.authenticateViewPages, true); + boolean authenticateView = app().settings().getBoolean(Keys.web.authenticateViewPages, true); if (authenticateView && !GitBlitWebSession.get().isLoggedIn()) { authenticationError("Please login"); return; } - String projectName = WicketUtils.getProjectName(params); + String projectName = params == null ? null : WicketUtils.getProjectName(params); if (StringUtils.isEmpty(projectName)) { throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage()); } - + ProjectModel project = getProjectModel(projectName); if (project == null) { throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage()); } - + add(new Label("projectTitle", project.getDisplayName())); add(new Label("projectDescription", project.description)); - + String feedLink = SyndicationServlet.asLink(getRequest().getRelativePathPrefixToContextRoot(), projectName, null, 0); add(new ExternalLink("syndication", feedLink)); add(WicketUtils.syndicationDiscoveryLink(SyndicationServlet.getTitle(project.getDisplayName(), null), feedLink)); - + // project markdown message String pmessage = transformMarkdown(project.projectMarkdown); Component projectMessage = new Label("projectMessage", pmessage) @@ -129,13 +129,15 @@ } int daysBack = params == null ? 0 : WicketUtils.getDaysBack(params); if (daysBack < 1) { - daysBack = GitBlit.getInteger(Keys.web.activityDuration, 7); + daysBack = app().settings().getInteger(Keys.web.activityDuration, 7); } // reset the daysback parameter so that we have a complete project // repository list. the recent activity will be built up by the // reflog utils. - params.remove("db"); - + if (params != null) { + params.remove("db"); + } + List<RepositoryModel> repositories = getRepositories(params); Collections.sort(repositories, new Comparator<RepositoryModel>() { @Override @@ -146,7 +148,7 @@ }); addActivity(user, repositories, getString("gb.recentActivity"), daysBack); - + if (repositories.isEmpty()) { add(new Label("repositoryList").setVisible(false)); } else { @@ -155,7 +157,7 @@ add(repoList); } } - + @Override protected void addDropDownMenus(List<PageRegistration> pages) { PageParameters params = getPageParameters(); @@ -174,23 +176,23 @@ } pages.add(menu); - + DropDownMenuRegistration projects = new DropDownMenuRegistration("gb.projects", ProjectPage.class); projects.menuItems.addAll(getProjectsMenu()); pages.add(projects); } - + @Override protected List<ProjectModel> getProjectModels() { if (projectModels.isEmpty()) { List<RepositoryModel> repositories = getRepositoryModels(); - List<ProjectModel> projects = GitBlit.self().getProjectModels(repositories, false); + List<ProjectModel> projects = app().projects().getProjectModels(repositories, false); projectModels.addAll(projects); } return projectModels; } - + private ProjectModel getProjectModel(String name) { for (ProjectModel project : getProjectModels()) { if (name.equalsIgnoreCase(project.name)) { @@ -199,7 +201,7 @@ } return null; } - + protected List<DropDownMenuItem> getProjectsMenu() { List<DropDownMenuItem> menu = new ArrayList<DropDownMenuItem>(); List<ProjectModel> projects = new ArrayList<ProjectModel>(); @@ -236,7 +238,7 @@ } return menu; } - + private String transformMarkdown(String markdown) { String message = ""; if (!StringUtils.isEmpty(markdown)) { -- Gitblit v1.9.1