From 2c32fd202bac23df456d6515f1c33443cc803f35 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 13 Sep 2011 08:10:03 -0400 Subject: [PATCH] Revised federation setting names. Improved documentation. --- src/com/gitblit/build/BuildSite.java | 54 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/com/gitblit/build/BuildSite.java b/src/com/gitblit/build/BuildSite.java index 7d0981b..dca5116 100644 --- a/src/com/gitblit/build/BuildSite.java +++ b/src/com/gitblit/build/BuildSite.java @@ -55,11 +55,11 @@ */ public class BuildSite { - private final static String CASE_SENSITIVE = "CASE-SENSITIVE"; + private static final String CASE_SENSITIVE = "CASE-SENSITIVE"; - private final static String RESTART_REQUIRED = "RESTART REQUIRED"; + private static final String RESTART_REQUIRED = "RESTART REQUIRED"; - private final static String SINCE = "SINCE"; + private static final String SINCE = "SINCE"; public static void main(String... args) { Params params = new Params(); @@ -135,10 +135,10 @@ if (!params.skips.contains(documentName)) { String fileName = documentName + ".html"; System.out.println(MessageFormat.format(" {0} => {1}", file.getName(), - fileName)); + fileName)); String rawContent = FileUtils.readContent(file, "\n"); String markdownContent = rawContent; - + Map<String, List<String>> nomarkdownMap = new HashMap<String, List<String>>(); // extract sections marked as no-markdown @@ -159,8 +159,9 @@ if (endCode == 0) { strippedContent.append(markdownContent.substring(0, beginCode)); } else { - strippedContent.append(markdownContent.substring(endCode, beginCode)); - } + strippedContent.append(markdownContent + .substring(endCode, beginCode)); + } strippedContent.append(nomarkdownKey); endCode = markdownContent.indexOf(endToken, beginCode); chunks.add(markdownContent.substring(beginCode, endCode)); @@ -169,25 +170,30 @@ // get remainder of text if (endCode < markdownContent.length()) { - strippedContent.append(markdownContent.substring(endCode, markdownContent.length())); + strippedContent.append(markdownContent.substring(endCode, + markdownContent.length())); } markdownContent = strippedContent.toString(); - nmd++; + nmd++; } // transform markdown to html String content = transformMarkdown(markdownContent.toString()); // reinsert nomarkdown chunks - for (Map.Entry<String, List<String>> nomarkdown: nomarkdownMap.entrySet()) { - for (String chunk:nomarkdown.getValue()) { + for (Map.Entry<String, List<String>> nomarkdown : nomarkdownMap.entrySet()) { + for (String chunk : nomarkdown.getValue()) { content = content.replaceFirst(nomarkdown.getKey(), chunk); } } - + for (String token : params.substitutions) { String[] kv = token.split("=", 2); content = content.replace(kv[0], kv[1]); + } + for (String token : params.regex) { + String[] kv = token.split("!!!", 2); + content = content.replaceAll(kv[0], kv[1]); } for (String alias : params.properties) { String[] kv = alias.split("=", 2); @@ -195,7 +201,7 @@ content = content.replace(kv[0], loadedContent); } for (String alias : params.loads) { - String[] kv = alias.split("=" ,2); + String[] kv = alias.split("=", 2); String loadedContent = FileUtils.readContent(new File(kv[1]), "\n"); loadedContent = StringUtils.escapeForHtml(loadedContent, false); loadedContent = StringUtils.breakLinesForHtml(loadedContent); @@ -260,21 +266,26 @@ for (String comment : setting.comments) { if (comment.contains(SINCE) || comment.contains(RESTART_REQUIRED) || comment.contains(CASE_SENSITIVE)) { - sb.append(MessageFormat.format("<span style=\"color:#004000;\"># <i>{0}</i></span>", transformMarkdown(comment))); + sb.append(MessageFormat.format( + "<span style=\"color:#004000;\"># <i>{0}</i></span>", + transformMarkdown(comment))); } else { - sb.append(MessageFormat.format("<span style=\"color:#004000;\"># {0}</span>", transformMarkdown(comment))); + sb.append(MessageFormat.format("<span style=\"color:#004000;\"># {0}</span>", + transformMarkdown(comment))); } sb.append("<br/>\n"); } if (!StringUtils.isEmpty(setting.name)) { - sb.append(MessageFormat.format("<span style=\"color:#000080;\">{0}</span> = <span style=\"color:#800000;\">{1}</span>", setting.name, StringUtils.escapeForHtml(setting.value, false))); + sb.append(MessageFormat + .format("<span style=\"color:#000080;\">{0}</span> = <span style=\"color:#800000;\">{1}</span>", + setting.name, StringUtils.escapeForHtml(setting.value, false))); } sb.append("<br/>\n"); } return sb.toString(); } - + private static String transformMarkdown(String comment) throws ParseException { String md = MarkdownUtils.transformMarkdown(comment); if (md.startsWith("<p>")) { @@ -299,6 +310,9 @@ System.exit(0); } + /** + * Setting represents a setting with its comments from the properties file. + */ private static class Setting { final String name; final String value; @@ -311,6 +325,9 @@ } } + /** + * JCommander Parameters class for BuildSite. + */ @Parameters(separators = " ") private static class Params { @@ -350,5 +367,8 @@ @Parameter(names = { "--nomarkdown" }, description = "%STARTTOKEN%:%ENDTOKEN%", required = false) public List<String> nomarkdown = new ArrayList<String>(); + @Parameter(names = { "--regex" }, description = "searchPattern!!!replacePattern", required = false) + public List<String> regex = new ArrayList<String>(); + } } -- Gitblit v1.9.1