From eee533b4583854b9c875221f1c1f50dfb092868d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 03 Jan 2013 17:22:21 -0500 Subject: [PATCH] Cache and re-use project markdown content (issue-172) --- src/com/gitblit/wicket/pages/ProjectPage.java | 33 +++++++-------------------------- 1 files changed, 7 insertions(+), 26 deletions(-) diff --git a/src/com/gitblit/wicket/pages/ProjectPage.java b/src/com/gitblit/wicket/pages/ProjectPage.java index e10ca90..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; @@ -37,7 +34,6 @@ 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; @@ -46,7 +42,6 @@ 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; @@ -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); @@ -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