[freenet-cvs] r20901 - branches/db4o/freenet/src/freenet/client/async

toad at freenetproject.org toad at freenetproject.org
Tue Jul 1 11:24:59 UTC 2008


Author: toad
Date: 2008-07-01 11:24:59 +0000 (Tue, 01 Jul 2008)
New Revision: 20901

Modified:
   branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
Log:
Fix spurious "Not in archive"

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java	2008-07-01 11:06:17 UTC (rev 20900)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java	2008-07-01 11:24:59 UTC (rev 20901)
@@ -280,16 +280,23 @@
 					throw new FetchException(FetchException.NOT_ENOUGH_PATH_COMPONENTS, -1, false, null, uri.addMetaStrings(new String[] { "" }));
 				else name = removeMetaString();
 				// Since metadata is a document, we just replace metadata here
-				if(logMINOR) Logger.minor(this, "Next meta-string: "+name);
+				if(logMINOR) Logger.minor(this, "Next meta-string: "+name+" length "+name.length()+" for "+this);
 				if(name == null) {
 					metadata = metadata.getDefaultDocument();
-					if(persistent) container.set(this);
+					if(persistent) {
+						container.set(this);
+						container.set(metaStrings);
+					}
 					if(metadata == null)
 						throw new FetchException(FetchException.NOT_ENOUGH_PATH_COMPONENTS, -1, false, null, uri.addMetaStrings(new String[] { "" }));
 				} else {
 					metadata = metadata.getDocument(name);
 					thisKey = thisKey.pushMetaString(name);
-					if(persistent) container.set(this);
+					if(persistent) {
+						container.set(this);
+						container.set(metaStrings);
+						container.set(thisKey);
+					}
 					if(metadata == null)
 						throw new FetchException(FetchException.NOT_IN_ARCHIVE);
 				}




More information about the cvs mailing list