[jboss-svn-commits] JBL Code SVN: r32010 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: rule and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Mar 9 17:00:14 EST 2010
Author: tirelli
Date: 2010-03-09 17:00:13 -0500 (Tue, 09 Mar 2010)
New Revision: 32010
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/LeftTupleIndexHashTable.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/RightTupleIndexHashTable.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectRuntimeData.java
Log:
JBRULES-2339: JBRULES-2340: fixing true modify
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/LeftTupleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/LeftTupleIndexHashTable.java 2010-03-09 19:13:09 UTC (rev 32009)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/LeftTupleIndexHashTable.java 2010-03-09 22:00:13 UTC (rev 32010)
@@ -100,7 +100,7 @@
}
public LeftTuple getFirst(final LeftTuple leftTuple) {
- final LeftTupleList bucket = getOrCreate( leftTuple );
+ final LeftTupleList bucket = get( leftTuple );
if ( bucket != null ) {
return bucket.getFirst( ( LeftTuple ) null );
} else {
@@ -328,6 +328,24 @@
return entry;
}
+ private LeftTupleList get(final LeftTuple tuple) {
+ final int hashCode = this.index.hashCodeOf( tuple );
+
+ final int index = indexOf( hashCode,
+ this.table.length );
+ LeftTupleList entry = (LeftTupleList) this.table[index];
+
+ // search to find an existing entry
+ while ( entry != null ) {
+ if ( entry.matches( tuple,
+ hashCode ) ) {
+ return entry;
+ }
+ entry = (LeftTupleList) entry.next;
+ }
+ return entry;
+ }
+
public int size() {
return this.factSize;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/RightTupleIndexHashTable.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/RightTupleIndexHashTable.java 2010-03-09 19:13:09 UTC (rev 32009)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/core/util/RightTupleIndexHashTable.java 2010-03-09 22:00:13 UTC (rev 32010)
@@ -93,7 +93,7 @@
}
public RightTuple getFirst(final RightTuple rightTuple) {
- final RightTupleList bucket = getOrCreate( rightTuple.getFactHandle().getObject() );
+ final RightTupleList bucket = get( rightTuple.getFactHandle().getObject() );
if ( bucket != null ) {
return bucket.getFirst( ( RightTuple ) null );
} else {
@@ -345,6 +345,21 @@
return entry;
}
+ private RightTupleList get(final Object object) {
+ final int hashCode = this.index.hashCodeOf( object );
+ final int index = indexOf( hashCode,
+ this.table.length );
+ RightTupleList entry = (RightTupleList) this.table[index];
+ while ( entry != null ) {
+ if ( entry.matches( object,
+ hashCode ) ) {
+ return entry;
+ }
+ entry = (RightTupleList) entry.next;
+ }
+ return entry;
+ }
+
public int size() {
return this.factSize;
}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectRuntimeData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectRuntimeData.java 2010-03-09 19:13:09 UTC (rev 32009)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectRuntimeData.java 2010-03-09 22:00:13 UTC (rev 32010)
@@ -222,8 +222,9 @@
removeClasses( rule.getLhs() );
// Now remove the rule class - the name is a subset of the consequence name
+ String sufix = StringUtils.ucFirst( rule.getConsequence().getName() )+"ConsequenceInvoker";
remove( consequenceName.substring( 0,
- consequenceName.indexOf( "ConsequenceInvoker" ) ) );
+ consequenceName.indexOf( sufix ) ) );
}
}
More information about the jboss-svn-commits
mailing list