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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jul 3 19:41:21 EDT 2007


Author: mark.proctor at jboss.com
Date: 2007-07-03 19:41:21 -0400 (Tue, 03 Jul 2007)
New Revision: 13062

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
Log:
JBRULES-947 sequential rete
-updated NotNode and ExistsNode, although not yet tested.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2007-07-03 23:14:26 UTC (rev 13061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2007-07-03 23:41:21 UTC (rev 13062)
@@ -108,7 +108,10 @@
                             final PropagationContext context,
                             final InternalWorkingMemory workingMemory) {
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-        memory.getTupleMemory().add( leftTuple );
+        
+        if ( !workingMemory.isSequential() ) {
+            memory.getTupleMemory().add( leftTuple );
+        }
 
         final Iterator it = memory.getFactHandleMemory().iterator( leftTuple );
         this.constraints.updateFromTuple( workingMemory,
@@ -147,6 +150,11 @@
                              final InternalWorkingMemory workingMemory) {
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
         memory.getFactHandleMemory().add( handle );
+        
+        if ( workingMemory.isSequential() ) {
+            // do nothing here, as we know there are no left tuples at this stage in sequential mode.
+            return;
+        }          
 
         final Iterator it = memory.getTupleMemory().iterator( handle );
         this.constraints.updateFromFactHandle( workingMemory,

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2007-07-03 23:14:26 UTC (rev 13061)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2007-07-03 23:41:21 UTC (rev 13062)
@@ -103,7 +103,10 @@
                             final PropagationContext context,
                             final InternalWorkingMemory workingMemory) {
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-        memory.getTupleMemory().add( leftTuple );
+        
+        if ( !workingMemory.isSequential() ) {
+            memory.getTupleMemory().add( leftTuple );
+        }
 
         final Iterator it = memory.getFactHandleMemory().iterator( leftTuple );
         this.constraints.updateFromTuple( workingMemory,
@@ -142,6 +145,11 @@
                              final InternalWorkingMemory workingMemory) {
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
         memory.getFactHandleMemory().add( handle );
+        
+        if ( workingMemory.isSequential() ) {
+            // do nothing here, as we know there are no left tuples at this stage in sequential mode.
+            return;
+        }        
 
         final Iterator it = memory.getTupleMemory().iterator( handle );
         this.constraints.updateFromFactHandle( workingMemory,




More information about the jboss-svn-commits mailing list