You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2010/06/15 10:43:08 UTC
svn commit: r954753 - in
/servicemix/maven-plugins/docs-maven-plugin/trunk/src:
main/java/org/apache/servicemix/docs/confluence/
test/java/org/apache/servicemix/docs/confluence/
test/resources/org/apache/servicemix/docs/confluence/
Author: gnodet
Date: Tue Jun 15 08:43:08 2010
New Revision: 954753
URL: http://svn.apache.org/viewvc?rev=954753&view=rev
Log:
Add support for bold text, use regexp instead of code for all replacements, try to better support escape
Modified:
servicemix/maven-plugins/docs-maven-plugin/trunk/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java
servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java
servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki
servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.xml
Modified: servicemix/maven-plugins/docs-maven-plugin/trunk/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java
URL: http://svn.apache.org/viewvc/servicemix/maven-plugins/docs-maven-plugin/trunk/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java?rev=954753&r1=954752&r2=954753&view=diff
==============================================================================
--- servicemix/maven-plugins/docs-maven-plugin/trunk/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java (original)
+++ servicemix/maven-plugins/docs-maven-plugin/trunk/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java Tue Jun 15 08:43:08 2010
@@ -23,6 +23,7 @@ import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Stack;
import java.util.regex.Matcher;
@@ -60,13 +61,14 @@ public class ConfluenceConverter {
String line = null;
while ((line = reader.readLine()) != null) {
+ String trimmed = line.trim();
if (CHAPTER_OR_SECTION.matcher(line).matches()) {
writeChapterOrSection(line);
- } else if (line.trim().startsWith("!") && line.trim().endsWith("!")) {
+ } else if (trimmed.startsWith("!") && trimmed.endsWith("!")) {
writeImage(line);
- } else if (line.trim().startsWith("||") && line.trim().endsWith("||")) {
+ } else if (trimmed.startsWith("||") && trimmed.endsWith("||")) {
writeTableHeader(line);
- } else if (line.trim().startsWith("|") && line.trim().endsWith("|")) {
+ } else if (trimmed.startsWith("|") && trimmed.endsWith("|")) {
writeTableBody(line);
} else if (line.startsWith("*")) {
writeBulletList(line);
@@ -74,7 +76,7 @@ public class ConfluenceConverter {
writeNumberedList(line);
} else if (line.startsWith("-")) {
writeGlossaryList(line);
- } else if (line.trim().startsWith("{code")) {
+ } else if (trimmed.startsWith("{code")) {
writeProgramListing(line);
} else {
writePara(line);
@@ -187,17 +189,27 @@ public class ConfluenceConverter {
}
private String filter(String line) {
- String filtered = line.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
- while (filtered.indexOf("[") >= 0 && filtered.indexOf("]") > 0 && filtered.indexOf("[") < filtered.indexOf("]")) {
- int begin = filtered.indexOf("[");
- int end = filtered.indexOf("]");
- String confluence = filtered.substring(begin, end + 1);
- String[] parts = filtered.substring(begin + 1, end).split("\\|");
- String docbook = String.format("<ulink url=\"%s\">%s</ulink>",
- parts.length == 2 ? parts[1] : parts[0], parts[0]);
- filtered = filtered.replace(confluence, docbook);
+ Map<String,String> replacements = new LinkedHashMap<String,String>();
+ replacements.put("&", "&");
+ replacements.put("<", "<");
+ replacements.put(">", ">");
+ replacements.put("\\{\\{(.*)\\}\\}", "<code>$1</code>");
+
+ replacements.put("\\*([^*]*)\\*", "<emphasis role=\\\"bold\\\">$1</emphasis>");
+
+ replacements.put("([^\\\\])\\[([^\\|\\]]*)\\|([^\\]]*)\\]", "$1<ulink url=\\\"$3\\\">$2</ulink>");
+ replacements.put("^\\[([^\\|\\]]*)\\|([^\\]]*)\\]", "<ulink url=\\\"$2\\\">$1</ulink>");
+ replacements.put("([^\\\\])\\[([^\\|\\]]*)\\]", "$1<ulink url=\\\"$2\\\">$2</ulink>");
+ replacements.put("^\\[([^\\|\\]]*)\\]", "<ulink url=\\\"$1\\\">$1</ulink>");
+
+ replacements.put("\\\\\\[", "[");
+ replacements.put("\\\\\\]", "]");
+
+ String filtered = line;
+ for (String key : replacements.keySet()) {
+ filtered = filtered.replaceAll(key, replacements.get(key));
}
- filtered = filtered.replaceAll("[\\{]{2}", "<code>").replaceAll("[\\}]{2}", "</code>");
+
return filtered;
}
Modified: servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java
URL: http://svn.apache.org/viewvc/servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java?rev=954753&r1=954752&r2=954753&view=diff
==============================================================================
--- servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java (original)
+++ servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java Tue Jun 15 08:43:08 2010
@@ -21,7 +21,6 @@ import java.io.StringWriter;
import java.util.List;
import org.apache.commons.io.IOUtils;
-import org.junit.Test;
import static junit.framework.Assert.assertEquals;
@@ -60,6 +59,7 @@ public class ConfluenceDocumentTest {
assertDocBook("links");
}
+
@org.junit.Test
public void generateTables() throws Exception {
assertDocBook("tables");
Modified: servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki
URL: http://svn.apache.org/viewvc/servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki?rev=954753&r1=954752&r2=954753&view=diff
==============================================================================
--- servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki (original)
+++ servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki Tue Jun 15 08:43:08 2010
@@ -8,4 +8,10 @@ Click [here|http://www.google.be] to fol
h2. Section 3
Links in a variable list
-- search provider :: [Google|http://www.google.be] is often used for searching the web
\ No newline at end of file
+- search provider :: [Google|http://www.google.be] is often used for searching the web
+
+h2. Section 4
+[Google|http://www.google.be]
+
+h2. Section 5
+[http://www.google.be]
Modified: servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.xml
URL: http://svn.apache.org/viewvc/servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.xml?rev=954753&r1=954752&r2=954753&view=diff
==============================================================================
--- servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.xml (original)
+++ servicemix/maven-plugins/docs-maven-plugin/trunk/src/test/resources/org/apache/servicemix/docs/confluence/links.xml Tue Jun 15 08:43:08 2010
@@ -26,4 +26,16 @@
</variablelist>
</para>
</section>
+ <section>
+ <title>Section 4</title>
+ <para>
+ <ulink url="http://www.google.be">Google</ulink>
+ </para>
+ </section>
+ <section>
+ <title>Section 5</title>
+ <para>
+ <ulink url="http://www.google.be">http://www.google.be</ulink>
+ </para>
+ </section>
</chapter>
\ No newline at end of file