[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