[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