Author: saces
Date: 2009-03-27 20:03:53 +0000 (Fri, 27 Mar 2009)
New Revision: 26246
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
provide 'high level setters' instead of making the 'map matrix' visible
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-03-27 19:04:26 UTC (rev 26245)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-03-27 20:03:53 UTC (rev 26246)
@@ -1695,5 +1695,45 @@
return true;
}
+ // compose helper stuff
+
+ protected final ClientMetadata guessMime(String name, ManifestElement
me) {
+ String mimeType = me.mimeOverride;
+ if(mimeType == null)
+ mimeType = DefaultMIMETypes.guessMIMEType(name, true);
+ ClientMetadata cm;
+ if(mimeType == null ||
mimeType.equals(DefaultMIMETypes.DEFAULT_MIME_TYPE))
+ cm = null;
+ else
+ cm = new ClientMetadata(mimeType);
+ return cm;
+ }
+
+ protected final void addRedirectNoMime(String name, ManifestElement me,
HashMap<String, Object> putHandlersByName2) {
+ addRedirect(name, me, null, putHandlersByName2);
+ }
+
+ protected final void addRedirect(String name, ManifestElement me,
HashMap<String, Object> putHandlersByName2) {
+ addRedirect(name, me, guessMime(name, me), putHandlersByName2);
+ }
+
+ protected final void addRedirect(String name, ManifestElement me,
ClientMetadata cm, HashMap<String, Object> putHandlersByName2) {
+ PutHandler ph;
+ Bucket data = me.data;
+ if(me.targetURI != null) {
+ ph = new PutHandler(this, name, me.targetURI, cm);
+ // Just a placeholder, don't actually run it
+ } else {
+ ph = new PutHandler(this, name, data, cm, getCHKOnly);
+ runningPutHandlers.add(ph);
+ putHandlersWaitingForMetadata.add(ph);
+ putHandlersWaitingForFetchable.add(ph);
+ if(logMINOR)
+ Logger.minor(this, "Inserting separately as
PutHandler: "+name+" : "+ph+" persistent="+ph.persistent()+":"+ph.persistent+"
"+persistent());
+ numberOfFiles++;
+ totalSize += data.size();
+ }
+ putHandlersByName2.put(name, ph);
+ }
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs