Author: toad
Date: 2009-04-03 17:15:36 +0000 (Fri, 03 Apr 2009)
New Revision: 26463
Modified:
trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Activation, remove the metadatas when metadata putters by metadata not empty
Modified: trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-04-03 17:06:24 UTC (rev 26462)
+++ trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-04-03 17:15:36 UTC (rev 26463)
@@ -1656,12 +1656,17 @@
Logger.error(this, "Put handlers list still present in
removeFrom() on "+this);
removePutHandlers(container, context);
}
- if(finalURI != null) finalURI.removeFrom(container);
+ if(finalURI != null) {
+ container.activate(finalURI, 5);
+ finalURI.removeFrom(container);
+ }
+ container.activate(targetURI, 5);
targetURI.removeFrom(container);
container.activate(ctx, 1);
ctx.removeFrom(container);
container.activate(metadataPuttersByMetadata, 2);
container.activate(metadataPuttersUnfetchable, 2);
+ ArrayList<Metadata> metas = null;
if(!metadataPuttersByMetadata.isEmpty()) {
Logger.error(this, "Metadata putters by metadata not
empty in removeFrom() on "+this);
for(Map.Entry<Metadata, ClientPutState> entry :
metadataPuttersByMetadata.entrySet()) {
@@ -1673,6 +1678,8 @@
Logger.error(this, "Metadata putters not empty:
"+sfi+" for "+this);
sfi.cancel(container, context);
sfi.removeFrom(container, context);
+ if(metas == null) metas = new
ArrayList<Metadata>();
+ metas.add(meta);
}
}
if(!metadataPuttersUnfetchable.isEmpty()) {
@@ -1688,6 +1695,12 @@
sfi.removeFrom(container, context);
}
}
+ if(metas != null) {
+ for(Metadata meta : metas) {
+ container.activate(meta, 1);
+ meta.removeFrom(container);
+ }
+ }
metadataPuttersByMetadata.clear();
metadataPuttersUnfetchable.clear();
container.delete(metadataPuttersByMetadata);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs