From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Jan 2012 17:34:05 -0500
Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders

---
 src/com/gitblit/utils/MarkdownUtils.java |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/src/com/gitblit/utils/MarkdownUtils.java b/src/com/gitblit/utils/MarkdownUtils.java
index 15d59cf..a3a1859 100644
--- a/src/com/gitblit/utils/MarkdownUtils.java
+++ b/src/com/gitblit/utils/MarkdownUtils.java
@@ -23,43 +23,50 @@
 import org.tautua.markdownpapers.Markdown;
 import org.tautua.markdownpapers.parser.ParseException;
 
+/**
+ * Utility methods for transforming raw markdown text to html.
+ * 
+ * @author James Moger
+ * 
+ */
 public class MarkdownUtils {
 
+	/**
+	 * Returns the html version of the markdown source text.
+	 * 
+	 * @param markdown
+	 * @return html version of markdown text
+	 * @throws java.text.ParseException
+	 */
 	public static String transformMarkdown(String markdown) throws java.text.ParseException {
-		// Read raw markdown content and transform it to html
-		StringReader reader = new StringReader(markdown);
-		StringWriter writer = new StringWriter();
 		try {
-			Markdown md = new Markdown();
-			md.transform(reader, writer);
-			return writer.toString();
-		} catch (ParseException p) {
-			throw new java.text.ParseException(p.getMessage(), 0);
-		} finally {
+			StringReader reader = new StringReader(markdown);
+			String html = transformMarkdown(reader);
 			reader.close();
-			try {
-				writer.close();
-			} catch (IOException e) {
-				// IGNORE
-			}
+			return html;
+		} catch (NullPointerException p) {
+			throw new java.text.ParseException("Markdown string is null!", 0);
 		}
 	}
 
+	/**
+	 * Returns the html version of the markdown source reader. The reader is
+	 * closed regardless of success or failure.
+	 * 
+	 * @param markdownReader
+	 * @return html version of the markdown text
+	 * @throws java.text.ParseException
+	 */
 	public static String transformMarkdown(Reader markdownReader) throws java.text.ParseException {
 		// Read raw markdown content and transform it to html
 		StringWriter writer = new StringWriter();
 		try {
 			Markdown md = new Markdown();
 			md.transform(markdownReader, writer);
-			return writer.toString();
+			return writer.toString().trim();
 		} catch (ParseException p) {
 			throw new java.text.ParseException(p.getMessage(), 0);
 		} finally {
-			try {
-				markdownReader.close();
-			} catch (IOException e) {
-				// IGNORE
-			}
 			try {
 				writer.close();
 			} catch (IOException e) {
@@ -67,5 +74,4 @@
 			}
 		}
 	}
-
 }

--
Gitblit v1.9.1