[freenet-cvs] r14903 - trunk/plugins/Echo/src/plugins/echo

fred at freenetproject.org fred at freenetproject.org
Tue Aug 28 16:13:51 UTC 2007


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




More information about the cvs mailing list