Author: toad
Date: 2008-06-18 17:33:07 +0000 (Wed, 18 Jun 2008)
New Revision: 20436

Modified:
   branches/db4o/freenet/src/freenet/client/async/USKInserter.java
Log:
Remove from database when done with the USKFetcherTag

Modified: branches/db4o/freenet/src/freenet/client/async/USKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKInserter.java     
2008-06-18 17:28:32 UTC (rev 20435)
+++ branches/db4o/freenet/src/freenet/client/async/USKInserter.java     
2008-06-18 17:33:07 UTC (rev 20436)
@@ -101,6 +101,8 @@
                                }
                        }
                        if(!alreadyInserted) {
+                               if(parent.persistent())
+                                       fetcher.removeFromDatabase(container);
                                fetcher = null;
                        }
                }
@@ -197,6 +199,7 @@
                        sbi.cancel(container, context);
                synchronized(this) {
                        finished = true;
+                       fetcher = null;
                }
                cb.onFailure(new InsertException(InsertException.CANCELLED), 
this, container, context);
        }
@@ -207,6 +210,11 @@
        }

        public synchronized void onCancelled(ObjectContainer container, 
ClientContext context) {
+               if(fetcher != null) {
+                       if(parent.persistent())
+                               fetcher.removeFromDatabase(container);
+                       fetcher = null;
+               }
                if(finished) return;
                Logger.error(this, "Unexpected onCancelled()", new 
Exception("error"));
                cancel(container, context);


Reply via email to