Author: fred
Date: 2007-08-28 16:13:51 +0000 (Tue, 28 Aug 2007)
New Revision: 14903

Added:
   trunk/plugins/Echo/src/plugins/echo/SimpleDirectoryInserter.java
   trunk/plugins/Echo/src/plugins/echo/TempWikiMarkupRender.java
Log:
Add TempWikiMarkupRender
Add SimpleDirectoryInserter


Added: trunk/plugins/Echo/src/plugins/echo/SimpleDirectoryInserter.java
===================================================================
--- trunk/plugins/Echo/src/plugins/echo/SimpleDirectoryInserter.java            
                (rev 0)
+++ trunk/plugins/Echo/src/plugins/echo/SimpleDirectoryInserter.java    
2007-08-28 16:13:51 UTC (rev 14903)
@@ -0,0 +1,53 @@
+package plugins.echo;
+
+import freenet.node.fcp.FCPServer;
+import freenet.node.fcp.FCPClient;
+import freenet.node.fcp.ClientRequest;
+import freenet.node.fcp.ClientPutDir;
+import freenet.node.fcp.IdentifierCollisionException;
+import freenet.node.RequestStarter;
+import freenet.keys.FreenetURI;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.net.MalformedURLException;
+
+
+public class SimpleDirectoryInserter {
+
+       private FCPServer fcpServer;
+       public ClientPutDir clientPutDir;
+       
+       public SimpleDirectoryInserter(FCPServer fcpServer) {
+       
+               this.fcpServer = fcpServer;
+       
+       }
+       
+       public ClientPutDir insert(File dir, String defaultName, FreenetURI 
insertURI) throws FileNotFoundException, IdentifierCollisionException, 
MalformedURLException{
+               
+               FCPClient client = fcpServer.getGlobalClient();
+               
+               clientPutDir = new ClientPutDir(        client,
+                                                               insertURI,
+                                                               "echo-" + 
System.currentTimeMillis(),
+                                                               
Integer.MAX_VALUE,
+                                                               
RequestStarter.BULK_SPLITFILE_PRIORITY_CLASS,
+                                                               
ClientRequest.PERSIST_FOREVER,
+                                                               null,
+                                                               false,
+                                                               false,
+                                                               -1,
+                                                               dir,
+                                                               defaultName,
+                                                               false,
+                                                               true,
+                                                               false);
+               
+               clientPutDir.start();
+               fcpServer.forceStorePersistentRequests();
+               
+               return clientPutDir;
+       }
+
+}
\ No newline at end of file

Added: trunk/plugins/Echo/src/plugins/echo/TempWikiMarkupRender.java
===================================================================
--- trunk/plugins/Echo/src/plugins/echo/TempWikiMarkupRender.java               
                (rev 0)
+++ trunk/plugins/Echo/src/plugins/echo/TempWikiMarkupRender.java       
2007-08-28 16:13:51 UTC (rev 14903)
@@ -0,0 +1,44 @@
+package plugins.echo;
+
+import net.sf.textile4j.Textile;
+import nu.xom.Builder;
+import nu.xom.Node;
+import nu.xom.Element;
+import nu.xom.Text;
+
+/**
+*      This is an horrible temporary class for rendering wiki markup util 
WikiMarkupRender is finished.
+*/
+public class TempWikiMarkupRender extends WikiMarkupRender {
+
+       private Textile textile;
+       
+       public TempWikiMarkupRender() {
+
+               this.textile = new Textile();
+               
+       }
+
+       public void render(Element xml) {
+
+               try {
+                       Builder parser = new Builder();
+                       
+                       Text originalContent = (Text) xml.getChild(0);
+       
+                       Element renderedContent = parser.build("<rendered>" +  
textile.process(originalContent.getValue()) + "</rendered>", 
null).getRootElement();
+                       
+                       while (renderedContent.getChildCount() != 0) {
+                               nu.xom.Node node = renderedContent.getChild(0);
+                               node.detach();
+                               xml.appendChild(node);
+                       }
+                       
+                       originalContent.detach();
+                       
+               } catch (Exception e) {         //Ugly
+                       e.printStackTrace();
+               }               
+       }
+
+}
\ No newline at end of file


Reply via email to