From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 25 Feb 2013 08:40:30 -0500 Subject: [PATCH] Merge pull request #75 from thefake/master --- src/com/gitblit/wicket/pages/ProjectPage.java | 45 +++++++++++++-------------------------------- 1 files changed, 13 insertions(+), 32 deletions(-) diff --git a/src/com/gitblit/wicket/pages/ProjectPage.java b/src/com/gitblit/wicket/pages/ProjectPage.java index 3679a6f..7eba033 100644 --- a/src/com/gitblit/wicket/pages/ProjectPage.java +++ b/src/com/gitblit/wicket/pages/ProjectPage.java @@ -15,9 +15,6 @@ */ package com.gitblit.wicket.pages; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -31,14 +28,12 @@ import org.apache.wicket.Component; import org.apache.wicket.PageParameters; -import org.apache.wicket.RedirectException; import org.apache.wicket.behavior.HeaderContributor; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.markup.repeater.Item; import org.apache.wicket.markup.repeater.data.DataView; import org.apache.wicket.markup.repeater.data.ListDataProvider; -import org.eclipse.jgit.lib.Constants; import com.gitblit.GitBlit; import com.gitblit.Keys; @@ -47,12 +42,12 @@ import com.gitblit.models.Metric; import com.gitblit.models.ProjectModel; import com.gitblit.models.RepositoryModel; -import com.gitblit.models.UserModel; import com.gitblit.utils.ActivityUtils; import com.gitblit.utils.MarkdownUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebApp; import com.gitblit.wicket.GitBlitWebSession; +import com.gitblit.wicket.GitblitRedirectException; import com.gitblit.wicket.PageRegistration; import com.gitblit.wicket.PageRegistration.DropDownMenuItem; import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration; @@ -70,7 +65,7 @@ public ProjectPage() { super(); - throw new RedirectException(GitBlitWebApp.get().getHomePage()); + throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage()); } public ProjectPage(PageParameters params) { @@ -94,12 +89,12 @@ String projectName = WicketUtils.getProjectName(params); if (StringUtils.isEmpty(projectName)) { - throw new RedirectException(GitBlitWebApp.get().getHomePage()); + throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage()); } ProjectModel project = getProjectModel(projectName); if (project == null) { - throw new RedirectException(GitBlitWebApp.get().getHomePage()); + throw new GitblitRedirectException(GitBlitWebApp.get().getHomePage()); } add(new Label("projectTitle", project.getDisplayName())); @@ -111,23 +106,14 @@ add(WicketUtils.syndicationDiscoveryLink(SyndicationServlet.getTitle(project.getDisplayName(), null), feedLink)); - final String projectPath; - if (project.isRoot) { - projectPath = ""; - } else { - projectPath = projectName + "/"; - } - // project markdown message - File pmkd = new File(GitBlit.getRepositoriesFolder(), projectPath + "project.mkd"); - String pmessage = readMarkdown(projectName, pmkd); + String pmessage = transformMarkdown(project.projectMarkdown); Component projectMessage = new Label("projectMessage", pmessage) .setEscapeModelStrings(false).setVisible(pmessage.length() > 0); add(projectMessage); // markdown message above repositories list - File rmkd = new File(GitBlit.getRepositoriesFolder(), projectPath + "repositories.mkd"); - String rmessage = readMarkdown(projectName, rmkd); + String rmessage = transformMarkdown(project.repositoriesMarkdown); Component repositoriesMessage = new Label("repositoriesMessage", rmessage) .setEscapeModelStrings(false).setVisible(rmessage.length() > 0); add(repositoriesMessage); @@ -300,8 +286,8 @@ @Override protected List<ProjectModel> getProjectModels() { if (projectModels.isEmpty()) { - final UserModel user = GitBlitWebSession.get().getUser(); - List<ProjectModel> projects = GitBlit.self().getProjectModels(user, false); + List<RepositoryModel> repositories = getRepositoryModels(); + List<ProjectModel> projects = GitBlit.self().getProjectModels(repositories, false); projectModels.addAll(projects); } return projectModels; @@ -352,20 +338,15 @@ } return menu; } - - - private String readMarkdown(String projectName, File projectMessage) { + + private String transformMarkdown(String markdown) { String message = ""; - if (projectMessage.exists()) { + if (!StringUtils.isEmpty(markdown)) { // Read user-supplied message try { - FileInputStream fis = new FileInputStream(projectMessage); - InputStreamReader reader = new InputStreamReader(fis, - Constants.CHARACTER_ENCODING); - message = MarkdownUtils.transformMarkdown(reader); - reader.close(); + message = MarkdownUtils.transformMarkdown(markdown); } catch (Throwable t) { - message = getString("gb.failedToRead") + " " + projectMessage; + message = getString("gb.failedToRead") + " " + markdown; warn(message, t); } } -- Gitblit v1.9.1