[jboss-svn-commits] JBL Code SVN: r12875 - 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
Tue Jun 26 19:02:55 EDT 2007
Author: mark.proctor at jboss.com
Date: 2007-06-26 19:02:55 -0400 (Tue, 26 Jun 2007)
New Revision: 12875
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java
Log:
JBRULES-904 ArrayIndexOutOfBoundsException in org.drools.util.TupleIndexHashTable.toArray
-The toArray() was using the wrong size variable, it should have used factSize.
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java 2007-06-26 22:11:54 UTC (rev 12874)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/AbstractHashTable.java 2007-06-26 23:02:55 UTC (rev 12875)
@@ -95,7 +95,7 @@
this.table = newTable;
this.threshold = (int) (newCapacity * this.loadFactor);
- }
+ }
public Entry[] toArray() {
Entry[] result = new Entry[this.size];
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java 2007-06-26 22:11:54 UTC (rev 12874)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/FactHandleIndexHashTable.java 2007-06-26 23:02:55 UTC (rev 12875)
@@ -117,7 +117,7 @@
}
public Entry[] toArray() {
- Entry[] result = new Entry[this.size];
+ Entry[] result = new Entry[this.factSize];
int index = 0;
for ( int i = 0; i < this.table.length; i++ ) {
FieldIndexEntry fieldIndexEntry = (FieldIndexEntry)this.table[i];
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java 2007-06-26 22:11:54 UTC (rev 12874)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/TupleIndexHashTable.java 2007-06-26 23:02:55 UTC (rev 12875)
@@ -168,7 +168,7 @@
}
public Entry[] toArray() {
- Entry[] result = new Entry[this.size];
+ Entry[] result = new Entry[this.factSize];
int index = 0;
for ( int i = 0; i < this.table.length; i++ ) {
FieldIndexEntry fieldIndexEntry = (FieldIndexEntry)this.table[i];
@@ -278,6 +278,7 @@
this.table.length );
FieldIndexEntry entry = (FieldIndexEntry) this.table[index];
+ // search to find an existing entry
while ( entry != null ) {
if ( entry.matches( tuple,
hashCode ) ) {
@@ -286,6 +287,7 @@
entry = (FieldIndexEntry) entry.next;
}
+ // entry does not exist, so create
if ( entry == null ) {
entry = new FieldIndexEntry( this.index,
hashCode );
More information about the jboss-svn-commits
mailing list