Author: toad
Date: 2008-06-25 19:58:45 +0000 (Wed, 25 Jun 2008)
New Revision: 20710

Modified:
   branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
Log:
Activation

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java      
2008-06-25 19:58:35 UTC (rev 20709)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java      
2008-06-25 19:58:45 UTC (rev 20710)
@@ -489,6 +489,9 @@
                        }

                        byte[] metaBytes;
+                       if(persistent)
+                               // Load keys
+                               container.activate(meta, 2);
                        try {
                                metaBytes = meta.writeToByteArray();
                        } catch (MetadataUnresolvedException e1) {
@@ -557,14 +560,21 @@
                                oldSFI = sfi;
                                oldMetadataPutter = metadataPutter;
                        }
-                       if(persistent)
-                               container.set(this);
+                       if(persistent) {
+                               if(oldSFI != null)
+                                       container.activate(oldSFI, 1);
+                               if(oldMetadataPutter != null)
+                                       container.activate(oldMetadataPutter, 
1);
+                               container.activate(cb, 1);
+                       }
                        if(oldSFI != null)
                                oldSFI.cancel(container, context);
                        if(oldMetadataPutter != null)
                                oldMetadataPutter.cancel(container, context);
                        finished = true;
                        cb.onFailure(e, this, container, context);
+                       if(persistent)
+                               container.set(this);
                }

                public BaseClientPutter getParent() {
@@ -669,8 +679,11 @@
                                }
                        }

-                       if(meta)
+                       if(meta) {
+                               if(persistent)
+                                       container.activate(cb, 1);
                                cb.onFetchable(this, container);
+                       }
                }

                private void startMetadata(ObjectContainer container, 
ClientContext context) {


Reply via email to