[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action ...
Christian Bauer
christian at hibernate.org
Sat Aug 25 18:35:10 EDT 2007
User: cbauer
Date: 07/08/25 18:35:10
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/action
DocumentHome.java
Log:
blogDirectory plugin is now recursion-safe
Revision Changes Path
1.22 +29 -0 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DocumentHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- DocumentHome.java 25 Aug 2007 20:07:59 -0000 1.21
+++ DocumentHome.java 25 Aug 2007 22:35:10 -0000 1.22
@@ -9,6 +9,9 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.core.engine.WikiLinkResolver;
+import org.jboss.seam.wiki.core.engine.WikiTextParser;
+import org.jboss.seam.wiki.core.engine.WikiTextRenderer;
+import org.jboss.seam.wiki.core.engine.WikiLink;
import org.jboss.seam.wiki.core.dao.FeedDAO;
import org.jboss.seam.wiki.core.dao.UserRoleAccessFactory;
import org.jboss.seam.wiki.core.action.prefs.DocumentEditorPreferences;
@@ -17,6 +20,8 @@
import org.jboss.seam.log.Log;
import org.jboss.seam.contexts.Contexts;
+import java.util.List;
+
@Name("documentHome")
@Scope(ScopeType.CONVERSATION)
public class DocumentHome extends NodeHome<Document> {
@@ -145,6 +150,7 @@
getInstance().setContent(
wikiLinkResolver.convertToWikiProtocol(dir.getAreaNumber(), formContent)
);
+ getInstance().setPluginsUsed( findPluginsUsed() );
}
private void syncInstanceToForm(Directory dir) {
@@ -152,6 +158,29 @@
formContent = wikiLinkResolver.convertFromWikiProtocol(dir.getAreaNumber(), getInstance().getContent());
}
+ private String findPluginsUsed() {
+ final StringBuilder usedPlugins = new StringBuilder();
+ WikiTextParser parser = new WikiTextParser(formContent, false, false);
+ parser.setCurrentDocument(getInstance());
+ parser.setCurrentDirectory(getParentDirectory());
+ parser.setResolver((WikiLinkResolver)Component.getInstance("wikiLinkResolver"));
+ parser.setRenderer(
+ new WikiTextRenderer() {
+ public String renderInlineLink(WikiLink inlineLink) { return null; }
+ public String renderExternalLink(WikiLink externalLink) { return null; }
+ public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) { return null; }
+ public String renderThumbnailImageInlineLink(WikiLink inlineLink) { return null; }
+ public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
+ public void setExternalLinks(List<WikiLink> externalLinks) {}
+ public String renderMacro(String macroName) {
+ usedPlugins.append(macroName).append(" ");
+ return null;
+ }
+ }
+ ).parse(false);
+ return usedPlugins.toString();
+ }
+
/* -------------------------- Public Features ------------------------------ */
public String getFormContent() {
More information about the jboss-cvs-commits
mailing list