From 9af47c10c6a268877c1d232c8d71ee6df4f8a7ab Mon Sep 17 00:00:00 2001 From: Jeroen Baten <jeroen@jeroenbaten.nl> Date: Fri, 04 Jan 2013 05:18:37 -0500 Subject: [PATCH] Dutch translation before spellcheck --- src/com/gitblit/utils/MarkdownUtils.java | 41 +++++++++++++++++++++++++++++++++++------ 1 files changed, 35 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/utils/MarkdownUtils.java b/src/com/gitblit/utils/MarkdownUtils.java index 697fa99..0b8c9c5 100644 --- a/src/com/gitblit/utils/MarkdownUtils.java +++ b/src/com/gitblit/utils/MarkdownUtils.java @@ -20,19 +20,46 @@ import java.io.StringReader; import java.io.StringWriter; +import org.slf4j.LoggerFactory; 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 { 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); } } + /** + * 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(); @@ -40,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