[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