Author: toad
Date: 2008-10-31 18:11:23 +0000 (Fri, 31 Oct 2008)
New Revision: 23262
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
Log:
Fix removing contents on startup, now that removeFrom() is gone.
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
===================================================================
---
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
2008-10-31 18:10:17 UTC (rev 23261)
+++
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
2008-10-31 18:11:23 UTC (rev 23262)
@@ -362,4 +362,12 @@
segments.clear();
}
+ synchronized void removeContents(ObjectContainer container) {
+ for(SegmentedChainBucketSegment seg : segments) {
+ seg.removeFrom(container);
+ }
+ container.delete(segments);
+ container.delete(this);
+ }
+
}
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
===================================================================
---
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
2008-10-31 18:10:17 UTC (rev 23261)
+++
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
2008-10-31 18:11:23 UTC (rev 23262)
@@ -16,7 +16,7 @@
public void run(ObjectContainer container, ClientContext context) {
container.activate(bcb, 1);
System.err.println("Freeing unfinished unstored bucket "+this);
- bcb.removeFrom(container);
+ bcb.removeContents(container);
}
}
Modified:
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
===================================================================
---
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
2008-10-31 18:10:17 UTC (rev 23261)
+++
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
2008-10-31 18:11:23 UTC (rev 23262)
@@ -68,5 +68,14 @@
container.delete(buckets);
container.delete(this);
}
+
+ public void removeFrom(ObjectContainer container) {
+ for(Bucket bucket : buckets) {
+ container.activate(bucket, 1);
+ bucket.removeFrom(container);
+ }
+ container.delete(buckets);
+ container.delete(this);
+ }
}