Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 64ed8ee33 -> 43643db64
[KARAF-1137] Fix rendering of the bundle:info command Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/43643db6 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/43643db6 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/43643db6 Branch: refs/heads/karaf-3.0.x Commit: 43643db64efaa2261770a469fa7b06f2d51cb1a2 Parents: 64ed8ee Author: Jean-Baptiste Onofré <[email protected]> Authored: Wed Jul 9 10:56:43 2014 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Wed Jul 9 10:56:43 2014 +0200 ---------------------------------------------------------------------- bundle/command/pom.xml | 9 ++++++++- .../karaf/bundle/command/wikidoc/WikiParser.java | 13 +++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/43643db6/bundle/command/pom.xml ---------------------------------------------------------------------- diff --git a/bundle/command/pom.xml b/bundle/command/pom.xml index 9c5aae1..ec476a3 100644 --- a/bundle/command/pom.xml +++ b/bundle/command/pom.xml @@ -77,6 +77,11 @@ <artifactId>org.apache.felix.utils</artifactId> <scope>provided</scope> </dependency> + <dependency> + <groupId>org.apache.karaf</groupId> + <artifactId>org.apache.karaf.util</artifactId> + <scope>provided</scope> + </dependency> </dependencies> <build> @@ -104,8 +109,10 @@ <Export-Package>!*</Export-Package> <Private-Package> org.apache.karaf.bundle.command*, + org.apache.karaf.util*;-split-package:=merge-first, org.apache.felix.utils.version;-split-package:=merge-first, - org.apache.felix.utils.manifest;-split-package:=merge-first + org.apache.felix.utils.manifest;-split-package:=merge-first, + org.apache.felix.utils.properties;-split-package:=merge-first </Private-Package> </instructions> </configuration> http://git-wip-us.apache.org/repos/asf/karaf/blob/43643db6/bundle/command/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java ---------------------------------------------------------------------- diff --git a/bundle/command/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java b/bundle/command/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java index 8ec3d5b..d98208f 100644 --- a/bundle/command/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java +++ b/bundle/command/src/main/java/org/apache/karaf/bundle/command/wikidoc/WikiParser.java @@ -16,6 +16,8 @@ */ package org.apache.karaf.bundle.command.wikidoc; +import org.apache.karaf.util.StringEscapeUtils; + import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; @@ -33,10 +35,13 @@ public class WikiParser { } public void parse(String line) { - StringTokenizer tokenizer = new StringTokenizer(line , "[h*", true); + String unescaped = StringEscapeUtils.unescapeJava(line); + StringTokenizer tokenizer = new StringTokenizer(unescaped, "\u001B[h*", true); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); - if ("[".equals(token)) { + if ("\u001B".equals(token)) { + parseEsc(tokenizer, token); + } else if ("[".equals(token)) { parseLink(tokenizer); } else if ("h".equals(token)) { parseHeading(tokenizer); @@ -47,6 +52,10 @@ public class WikiParser { } } } + + private void parseEsc(StringTokenizer tokenizer, String token) { + visitor.text(token + tokenizer.nextToken() + tokenizer.nextToken("\u001B[]")); + } private void parseEnumeration(StringTokenizer tokenizer) { String text = tokenizer.nextToken("-\n");
