Author: toad
Date: 2009-01-29 00:26:44 +0000 (Thu, 29 Jan 2009)
New Revision: 25361

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Deactivation


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-01-29 00:11:09 UTC (rev 25360)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-01-29 00:26:44 UTC (rev 25361)
@@ -92,6 +92,8 @@
                        if(persistent)
                                container.activate(origSFI, 1);
                        origSFI.start(null, container, context);
+                       if(persistent())
+                               container.deactivate(origSFI, 1);
                        origSFI = null;
                        if(persistent)
                                container.store(this);
@@ -624,8 +626,9 @@
                        }
                } else
                        block = new InsertBlock(bucket, null, targetURI);
+               SingleFileInserter metadataInserter;
                try {
-                       SingleFileInserter metadataInserter = 
+                       metadataInserter = 
                                new SingleFileInserter(this, this, block, 
isMetadata, ctx, (archiveType == ARCHIVE_TYPE.ZIP) , getCHKOnly, false, 
baseMetadata, archiveType, true, null, earlyEncode);
                        if(logMINOR) Logger.minor(this, "Inserting main 
metadata: "+metadataInserter);
                        if(persistent()) {
@@ -641,7 +644,11 @@
                        metadataInserter.start(null, container, context);
                } catch (InsertException e) {
                        fail(e, container);
+                       return;
                }
+               if(persistent()) {
+                       container.deactivate(metadataInserter, 1);
+               }
        }
 
        private String createTarBucket(Bucket inputBucket, Bucket outputBucket) 
throws IOException {
@@ -754,12 +761,15 @@
                                        this.metadataPuttersByMetadata.put(m, 
metadataInserter);
                                }
                                metadataInserter.start(null, container, 
context);
+                               if(persistent())
+                                       container.deactivate(metadataInserter, 
1);
                        } catch (MetadataUnresolvedException e1) {
                                resolve(e1, container, context);
                        }
                }
-               if(persistent())
+               if(persistent()) {
                        container.store(metadataPuttersByMetadata);
+               }
        }
 
        private void namesToByteArrays(HashMap putHandlersByName, 
HashMap<String,Object> namesToByteArrays, ObjectContainer container) {

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to