From 8daefa09d99774639a355c0dfa2b989fa1007f5f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 11 Oct 2012 17:11:18 -0400
Subject: [PATCH] Created static repository close functions for unit testing and fixed Windows sharing violations
---
src/com/gitblit/utils/MarkdownUtils.java | 20 ++++++++++++++------
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/com/gitblit/utils/MarkdownUtils.java b/src/com/gitblit/utils/MarkdownUtils.java
index c7c1f9f..0b8c9c5 100644
--- a/src/com/gitblit/utils/MarkdownUtils.java
+++ b/src/com/gitblit/utils/MarkdownUtils.java
@@ -20,6 +20,7 @@
import java.io.StringReader;
import java.io.StringWriter;
+import org.slf4j.LoggerFactory;
import org.tautua.markdownpapers.Markdown;
import org.tautua.markdownpapers.parser.ParseException;
@@ -40,7 +41,12 @@
*/
public static String transformMarkdown(String markdown) throws java.text.ParseException {
try {
- return transformMarkdown(new StringReader(markdown));
+ StringReader reader = new StringReader(markdown);
+ String html = transformMarkdown(reader);
+ reader.close();
+ return html;
+ } catch (IllegalArgumentException e) {
+ throw new java.text.ParseException(e.getMessage(), 0);
} catch (NullPointerException p) {
throw new java.text.ParseException("Markdown string is null!", 0);
}
@@ -61,14 +67,16 @@
Markdown md = new Markdown();
md.transform(markdownReader, writer);
return writer.toString().trim();
+ } catch (StringIndexOutOfBoundsException e) {
+ LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", e);
+ throw new java.text.ParseException(e.getMessage(), 0);
} catch (ParseException p) {
+ LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", p);
throw new java.text.ParseException(p.getMessage(), 0);
+ } catch (Exception e) {
+ LoggerFactory.getLogger(MarkdownUtils.class).error("MarkdownPapers failed to parse Markdown!", e);
+ throw new java.text.ParseException(e.getMessage(), 0);
} finally {
- try {
- markdownReader.close();
- } catch (IOException e) {
- // IGNORE
- }
try {
writer.close();
} catch (IOException e) {
--
Gitblit v1.9.1