[jboss-svn-commits] JBL Code SVN: r19284 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Mar 28 00:00:54 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-28 00:00:54 -0400 (Fri, 28 Mar 2008)
New Revision: 19284

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LeftTupleIndexHashTable.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/RightTupleIndexHashTable.java
Log:
JBRULES-1520 RightTuple merge for asymmetrical Rete propagations
-Corrected bug where fact removal did not alter factSize correctly.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LeftTupleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LeftTupleIndexHashTable.java	2008-03-28 03:59:02 UTC (rev 19283)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/LeftTupleIndexHashTable.java	2008-03-28 04:00:54 UTC (rev 19284)
@@ -178,6 +178,7 @@
         if ( leftTuple.getMemory() != null ) {
             LeftTupleList memory = leftTuple.getMemory();
             memory.remove( leftTuple );
+            this.factSize--;
             if ( memory.first == null ) {
                 final int index = indexOf( memory.hashCode(),
                                            this.table.length );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/RightTupleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/RightTupleIndexHashTable.java	2008-03-28 03:59:02 UTC (rev 19283)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/RightTupleIndexHashTable.java	2008-03-28 04:00:54 UTC (rev 19284)
@@ -25,7 +25,7 @@
 
     private int               factSize;
 
-    private Index             index;
+    private Index             index;      
 
     public RightTupleIndexHashTable(final FieldIndex[] index) {
         this( 128,
@@ -98,40 +98,6 @@
         return this.table[index];
     }
 
-    /**
-     * Fast re-usable iterator
-     *
-     */
-    public static class FieldIndexHashTableIterator
-        implements
-        Iterator {
-        private Entry entry;
-
-        public FieldIndexHashTableIterator() {
-
-        }
-
-        /* (non-Javadoc)
-         * @see org.drools.util.Iterator#next()
-         */
-        public Object next() {
-            final Entry current = this.entry;
-            this.entry = (this.entry != null) ? this.entry.getNext() : null;
-            return current;
-        }
-
-        public void remove() {
-
-        }
-
-        /* (non-Javadoc)
-         * @see org.drools.util.Iterator#reset()
-         */
-        public void reset(final Entry entry) {
-            this.entry = entry;
-        }
-    }
-
     public Entry[] toArray() {
         Entry[] result = new Entry[this.factSize];
         int index = 0;
@@ -163,6 +129,7 @@
         if ( rightTuple.getMemory() != null ) {
             RightTupleList memory = rightTuple.getMemory();
             memory.remove( rightTuple );
+            this.factSize--;
             if ( memory.first == null ) {
                 final int index = indexOf( memory.hashCode(),
                                            this.table.length );




More information about the jboss-svn-commits mailing list