Author: toad
Date: 2008-12-17 23:18:15 +0000 (Wed, 17 Dec 2008)
New Revision: 24491

Modified:
   branches/db4o/freenet/src/freenet/client/FetchContext.java
   branches/db4o/freenet/src/freenet/client/async/BlockSet.java
   branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
   branches/db4o/freenet/src/freenet/crypt/DSAGroup.java
   branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java
   branches/db4o/freenet/src/freenet/keys/CHKBlock.java
   branches/db4o/freenet/src/freenet/keys/ClientKey.java
   branches/db4o/freenet/src/freenet/keys/Key.java
   branches/db4o/freenet/src/freenet/keys/KeyBlock.java
   branches/db4o/freenet/src/freenet/keys/NodeSSK.java
   branches/db4o/freenet/src/freenet/keys/SSKBlock.java
Log:
Removing BlockSet's, keys, keyblocks


Modified: branches/db4o/freenet/src/freenet/client/FetchContext.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FetchContext.java  2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/FetchContext.java  2008-12-17 
23:18:15 UTC (rev 24491)
@@ -182,6 +182,7 @@
 
        public void removeFrom(ObjectContainer container) {
                if(hasOwnEventProducer) eventProducer.removeFrom(container);
+               if(hasOwnBlocks) blocks.removeFrom(container);
                container.delete(this);
        }
        

Modified: branches/db4o/freenet/src/freenet/client/async/BlockSet.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BlockSet.java        
2008-12-17 23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/async/BlockSet.java        
2008-12-17 23:18:15 UTC (rev 24491)
@@ -5,6 +5,8 @@
 
 import java.util.Set;
 
+import com.db4o.ObjectContainer;
+
 import freenet.keys.ClientKey;
 import freenet.keys.ClientKeyBlock;
 import freenet.keys.Key;
@@ -38,5 +40,7 @@
 
        /** Get a high level block, given a high level key */
        public ClientKeyBlock get(ClientKey key);
+
+       public void removeFrom(ObjectContainer container);
        
 }

Modified: branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java  
2008-12-17 23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleBlockSet.java  
2008-12-17 23:18:15 UTC (rev 24491)
@@ -3,6 +3,8 @@
 import java.util.HashMap;
 import java.util.Set;
 
+import com.db4o.ObjectContainer;
+
 import freenet.keys.ClientKey;
 import freenet.keys.ClientKeyBlock;
 import freenet.keys.Key;
@@ -42,4 +44,17 @@
                }
        }
 
+       public void removeFrom(ObjectContainer container) {
+               Key[] keys;
+               KeyBlock[] blocks;
+               synchronized(this) {
+                       keys = (Key[]) blocksByKey.keySet().toArray(new 
Key[blocksByKey.size()]);
+                       blocks = (KeyBlock[]) blocksByKey.values().toArray(new 
KeyBlock[blocksByKey.size()]);
+               }
+               for(Key key : keys)
+                       key.removeFrom(container);
+               for(KeyBlock block : blocks)
+                       block.removeFrom(container);
+       }
+
 }

Modified: branches/db4o/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAGroup.java       2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/crypt/DSAGroup.java       2008-12-17 
23:18:15 UTC (rev 24491)
@@ -7,6 +7,8 @@
 import java.io.InputStream;
 import java.math.BigInteger;
 
+import com.db4o.ObjectContainer;
+
 import net.i2p.util.NativeBigInteger;
 import freenet.node.FSParseException;
 import freenet.support.Base64;
@@ -161,4 +163,11 @@
                if(this == Global.DSAgroupBigA) return this;
                return new DSAGroup(this);
        }
+
+       public void removeFrom(ObjectContainer container) {
+               container.delete(p);
+               container.delete(q);
+               container.delete(g);
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java   2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java   2008-12-17 
23:18:15 UTC (rev 24491)
@@ -6,6 +6,8 @@
 import java.io.InputStream;
 import java.math.BigInteger;
 
+import com.db4o.ObjectContainer;
+
 import net.i2p.util.NativeBigInteger;
 import freenet.store.StorableBlock;
 import freenet.support.Base64;
@@ -216,4 +218,10 @@
        public DSAPublicKey cloneKey() {
                return new DSAPublicKey(this);
        }
+
+       public void removeFrom(ObjectContainer container) {
+               container.delete(y);
+               group.removeFrom(container);
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/keys/CHKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/CHKBlock.java        2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/CHKBlock.java        2008-12-17 
23:18:15 UTC (rev 24491)
@@ -5,6 +5,8 @@
 
 import java.security.MessageDigest;
 
+import com.db4o.ObjectContainer;
+
 import freenet.crypt.SHA256;
 
 /**
@@ -113,4 +115,9 @@
        public byte[] getRoutingKey() {
                return getKey().getRoutingKey();
        }
+
+       public void removeFrom(ObjectContainer container) {
+               container.delete(this);
+               // FIXME who is responsible for deleting chk ??
+       }
 }

Modified: branches/db4o/freenet/src/freenet/keys/ClientKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientKey.java       2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/ClientKey.java       2008-12-17 
23:18:15 UTC (rev 24491)
@@ -1,5 +1,9 @@
 package freenet.keys;
 
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
+
 /**
  * Base class for client keys.
  * Client keys are decodable. Node keys are not.

Modified: branches/db4o/freenet/src/freenet/keys/Key.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/Key.java     2008-12-17 23:05:50 UTC 
(rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/Key.java     2008-12-17 23:18:15 UTC 
(rev 24491)
@@ -9,6 +9,9 @@
 import java.security.MessageDigest;
 import java.util.Arrays;
 
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
 import freenet.crypt.CryptFormatException;
 import freenet.crypt.DSAPublicKey;
 import freenet.crypt.SHA256;
@@ -264,4 +267,8 @@
 
        /** Get the full key, including any crypto type bytes, everything 
needed to construct a Key object */
        public abstract byte[] getFullKey();
+
+       public void removeFrom(ObjectContainer container) {
+               container.delete(this);
+       }
 }

Modified: branches/db4o/freenet/src/freenet/keys/KeyBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/KeyBlock.java        2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/KeyBlock.java        2008-12-17 
23:18:15 UTC (rev 24491)
@@ -3,6 +3,9 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.keys;
 
+import com.db4o.ObjectContainer;
+
+import freenet.client.async.ClientContext;
 import freenet.store.StorableBlock;
 
 /**
@@ -16,5 +19,6 @@
     public byte[] getRawHeaders();
     public byte[] getRawData();
        public byte[] getPubkeyBytes();
+       public void removeFrom(ObjectContainer container);
 
 }

Modified: branches/db4o/freenet/src/freenet/keys/NodeSSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-12-17 23:05:50 UTC 
(rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-12-17 23:18:15 UTC 
(rev 24491)
@@ -10,6 +10,8 @@
 import java.security.MessageDigest;
 import java.util.Arrays;
 
+import com.db4o.ObjectContainer;
+
 import freenet.crypt.DSAPublicKey;
 import freenet.crypt.SHA256;
 import freenet.node.GetPubkey;
@@ -236,4 +238,10 @@
                return Fields.compareBytes(pubKeyHash, key.pubKeyHash);
        }
        
+       @Override
+       public void removeFrom(ObjectContainer container) {
+               if(pubKey != null) pubKey.removeFrom(container);
+               super.removeFrom(container);
+       }
+       
 }

Modified: branches/db4o/freenet/src/freenet/keys/SSKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/SSKBlock.java        2008-12-17 
23:05:50 UTC (rev 24490)
+++ branches/db4o/freenet/src/freenet/keys/SSKBlock.java        2008-12-17 
23:18:15 UTC (rev 24491)
@@ -6,6 +6,8 @@
 import java.security.MessageDigest;
 import java.util.Arrays;
 
+import com.db4o.ObjectContainer;
+
 import net.i2p.util.NativeBigInteger;
 import freenet.crypt.DSA;
 import freenet.crypt.DSAPublicKey;
@@ -177,4 +179,11 @@
                return getKey().getRoutingKey();
        }
 
+       public void removeFrom(ObjectContainer container) {
+               if(pubKey != null)
+                       pubKey.removeFrom(container);
+               container.delete(this);
+               // FIXME what to do about nodeKey???
+       }
+
 }

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

Reply via email to