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