[jboss-svn-commits] JBL Code SVN: r29812 - 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 Oct 26 10:33:18 EDT 2009
Author: lkrzyzanek
Date: 2009-10-26 10:33:17 -0400 (Mon, 26 Oct 2009)
New Revision: 29812
Modified:
labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java
Log:
Changed implementation to built-in CS Wiki syntax
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 2009-10-26 14:30:19 UTC (rev 29811)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-wiki/trunk/src/main/java/org/jboss/labs/clearspace/plugin/wiki/WikiMacro.java 2009-10-26 14:33:17 UTC (rev 29812)
@@ -21,31 +21,19 @@
*/
package org.jboss.labs.clearspace.plugin.wiki;
-import java.io.StringWriter;
-
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import ys.wikiparser.WikiParser;
-
-import com.jivesoftware.base.wiki.HtmlWikiConvertor;
-import com.jivesoftware.base.wiki.JiveHtmlElement;
+import com.jivesoftware.base.wiki.HtmlBuilder;
+import com.jivesoftware.base.wiki.WikiLexer;
import com.jivesoftware.community.renderer.BaseMacro;
import com.jivesoftware.community.renderer.RenderContext;
import com.jivesoftware.community.renderer.RenderType;
import com.jivesoftware.community.renderer.annotations.MacroTagName;
import com.jivesoftware.community.renderer.annotations.RenderTypes;
import com.jivesoftware.community.renderer.annotations.SingleTagMacro;
+import com.jivesoftware.community.renderer.impl.v2.HtmlRenderUtils;
import com.jivesoftware.community.renderer.impl.v2.JAXPUtils;
import com.jivesoftware.util.StringUtils;
@@ -67,53 +55,33 @@
private String icon;
public void execute(Element element, RenderContext renderContext) {
- // String elementAsString = JAXPUtils.toXmlString(element);
- String elementAsString = element.getTextContent();
- System.out.println("Element: " + elementAsString);
+ String text = convertToOriginalWikiText(element);
+ WikiLexer lexer = new WikiLexer(text);
+ org.jdom.Element htmlNodes = lexer.parse();
- String xhtmlBody = WikiParser.renderXHTML(elementAsString);
-
- // Jive impl.:
- // WikiLexer lexer = new WikiLexer(textBody);
- // org.jdom.Element element = lexer.parse();
- // HtmlBuilder builder = new HtmlBuilder(element);
- // builder.build();
- // String xhmtlBody = HtmlRenderUtils.toString(element);
-
+ HtmlBuilder builder = new HtmlBuilder(htmlNodes);
+ builder.build();
+ String xhtmlBody = HtmlRenderUtils.toString(htmlNodes);
xhtmlBody = StringUtils.escapeEntitiesInXmlString(xhtmlBody);
- NodeList parsedNodes = JAXPUtils.toXmlNodeList(xhtmlBody);
+ Node parsedParent = JAXPUtils.toXmlNode(xhtmlBody);
- JAXPUtils.replace(element, parsedNodes);
- }
+ if (parsedParent != null) {
+ NodeList parsedNodes = parsedParent.getChildNodes();
- public static String xmlToString(Node node) {
- try {
- Source source = new DOMSource(node);
- StringWriter stringWriter = new StringWriter();
- Result result = new StreamResult(stringWriter);
- TransformerFactory factory = TransformerFactory.newInstance();
- Transformer transformer = factory.newTransformer();
- transformer.transform(source, result);
- return stringWriter.getBuffer().toString();
- } catch (TransformerConfigurationException e) {
- e.printStackTrace();
- } catch (TransformerException e) {
- e.printStackTrace();
+ JAXPUtils.replace(element, parsedNodes);
+ } else {
+ Element span = JAXPUtils.createElement("span");
+ span.setTextContent(text);
+ JAXPUtils.replace(element, span);
}
- return null;
}
- protected String convertToText(Element element) {
- StringBuilder value = new StringBuilder();
- NodeList childNodes = element.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- org.jdom.Element jdomElement = JAXPUtils.convertToJDomElement(childNodes
- .item(i), JiveHtmlElement.Span);
- HtmlWikiConvertor convertor = new HtmlWikiConvertor(jdomElement);
- value.append(convertor.parse());
- }
- return value.toString();
+ @Override
+ public int getOrder() {
+ // very important - we need to ensure to run this macro before other macros
+ // like code, document etc.
+ return -10;
}
public boolean isShowSettings() {
More information about the jboss-svn-commits
mailing list