[jboss-svn-commits] JBL Code SVN: r32651 - labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Apr 26 07:25:58 EDT 2010


Author: lkrzyzanek
Date: 2010-04-26 07:25:57 -0400 (Mon, 26 Apr 2010)
New Revision: 32651

Modified:
   labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java
Log:
Fix for ORG-500


Modified: labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java	2010-04-26 10:42:49 UTC (rev 32650)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java	2010-04-26 11:25:57 UTC (rev 32651)
@@ -21,6 +21,13 @@
  */
 package org.jboss.labs.clearspace.plugin.wiki;
 
+import java.io.IOException;
+import java.io.StringWriter;
+
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.jdom.output.Format;
+import org.jdom.output.XMLOutputter;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -48,6 +55,8 @@
 @SingleTagMacro(value = false)
 public class WikiMacro extends BaseMacro {
 
+  protected static final Logger log = LogManager.getLogger(WikiMacro.class);
+
   private boolean showInRTE = true;
 
   private boolean button = false;
@@ -61,7 +70,7 @@
 
     HtmlBuilder builder = new HtmlBuilder(htmlNodes);
     builder.build();
-    String xhtmlBody = HtmlRenderUtils.toString(htmlNodes);
+    String xhtmlBody = elementToString(htmlNodes);
     xhtmlBody = StringUtils.escapeEntitiesInXmlString(xhtmlBody);
 
     Node parsedParent = JAXPUtils.toXmlNode(xhtmlBody);
@@ -77,6 +86,28 @@
     }
   }
 
+  /**
+   * Taken from HtmlRenderUtils.toString
+   * 
+   * @param element
+   * @return
+   * @see HtmlRenderUtils#toString()
+   */
+  public String elementToString(org.jdom.Element element) {
+    Format format = Format.getRawFormat();
+    // Here is fix for ORG-500
+    format.setExpandEmptyElements(false);
+    format.setLineSeparator("\n");
+    XMLOutputter outputter = new XMLOutputter(format);
+    StringWriter writer = new StringWriter(512);
+    try {
+      outputter.output(element, writer);
+    } catch (IOException e) {
+      log.error("Cannot format wiki markuped text", e);
+    }
+    return writer.getBuffer().toString();
+  }
+
   @Override
   protected String convertToOriginalWikiText(Element element) {
     StringBuilder value = new StringBuilder();



More information about the jboss-svn-commits mailing list