Author: toad
Date: 2008-06-28 14:49:55 +0000 (Sat, 28 Jun 2008)
New Revision: 20846

Modified:
   branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java
Log:
Activation

Modified: branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java 
2008-06-28 14:49:23 UTC (rev 20845)
+++ branches/db4o/freenet/src/freenet/support/SortedVectorByNumber.java 
2008-06-28 14:49:55 UTC (rev 20846)
@@ -40,6 +40,8 @@
        }

        public synchronized void remove(int item, ObjectContainer container) {
+               if(persistent)
+                       container.activate(this, 1);
                int x = Arrays.binarySearch(data, new Integer(item), 
comparator);
                if(x >= 0) {
                        if(x < length-1)
@@ -61,7 +63,7 @@
                        IntNumberedItem item = data[i];
                        if(i>0) {
                                if(item.getNumber() <= lastItem.getNumber())
-                                       throw new IllegalStateException("Verify 
failed!");
+                                       throw new IllegalStateException("Verify 
failed! at "+i+" this="+item.getNumber()+" but last="+lastItem.getNumber());
                        }
                        lastItem = item;
                }
@@ -75,6 +77,8 @@
         * @return True if we added the item.
         */
        public synchronized boolean push(IntNumberedItem grabber, 
ObjectContainer container) {
+               if(persistent)
+                       container.activate(this, 1);
                int x = Arrays.binarySearch(data, new 
Integer(grabber.getNumber()), comparator);
                if(x >= 0) return false;
                // insertion point
@@ -84,6 +88,8 @@
        }

        public synchronized void add(IntNumberedItem grabber, ObjectContainer 
container) {
+               if(persistent)
+                       container.activate(this, 1);
                int x = Arrays.binarySearch(data, new 
Integer(grabber.getNumber()), comparator);
                if(x >= 0) {
                        if(grabber != data[x])
@@ -96,6 +102,8 @@
        }

        private synchronized void push(IntNumberedItem grabber, int x, 
ObjectContainer container) {
+               if(persistent)
+                       container.activate(this, 1);
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(logMINOR) Logger.minor(this, "Insertion point: "+x);
                // Move the data


Reply via email to