Author: saces
Date: 2009-04-14 19:31:46 +0000 (Tue, 14 Apr 2009)
New Revision: 26801
Added:
trunk/freenet/src/freenet/client/async/PlainManifestPutter.java
Log:
plain/dumb manifest putter: every file item is a redirect (no containers at all)
Added: trunk/freenet/src/freenet/client/async/PlainManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/PlainManifestPutter.java
(rev 0)
+++ trunk/freenet/src/freenet/client/async/PlainManifestPutter.java
2009-04-14 19:31:46 UTC (rev 26801)
@@ -0,0 +1,48 @@
+package freenet.client.async;
+
+import java.util.HashMap;
+import java.util.Iterator;
+
+import freenet.client.InsertContext;
+import freenet.client.async.ClientCallback;
+import freenet.client.async.ManifestElement;
+import freenet.client.async.SimpleManifestPutter;
+import freenet.keys.FreenetURI;
+import freenet.node.RequestClient;
+import freenet.support.Logger;
+
+/**
+ * plain/dumb manifest putter: every file item is a redirect (no containers at
all)
+ */
+
+public class PlainManifestPutter extends SimpleManifestPutter {
+
+ public PlainManifestPutter(ClientCallback clientCallback,
HashMap<String, Object> manifestElements, short prioClass, FreenetURI target,
String defaultName, InsertContext ctx, boolean getCHKOnly,
+ RequestClient clientContext, boolean earlyEncode) {
+ super(clientCallback, manifestElements, prioClass, target,
defaultName, ctx, getCHKOnly, clientContext, earlyEncode);
+ }
+
+ @Override
+ protected void makePutHandlers(HashMap<String,Object> manifestElements,
HashMap<String, Object> putHandlersByName) {
+ makePutHandlers(manifestElements, putHandlersByName, "/");
+ }
+
+ private void makePutHandlers(HashMap<String,Object> manifestElements,
HashMap<String,Object> putHandlersByName, String prefix) {
+ Iterator<String> it = manifestElements.keySet().iterator();
+ while(it.hasNext()) {
+ String name = it.next();
+ Object o = manifestElements.get(name);
+ if(o instanceof HashMap) {
+ HashMap<String,Object> subMap = new
HashMap<String,Object>();
+ putHandlersByName.put(name, subMap);
+ makePutHandlers((HashMap<String,Object>)o,
subMap, prefix+name+ '/');
+ if(Logger.shouldLog(Logger.DEBUG, this))
+ Logger.debug(this, "Sub map for
"+name+" : "+subMap.size()+" elements from "+((HashMap)o).size());
+ } else {
+ ManifestElement element = (ManifestElement) o;
+ addRedirect(name, element, putHandlersByName);
+ }
+ }
+ }
+}
+
Property changes on:
trunk/freenet/src/freenet/client/async/PlainManifestPutter.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs