[jboss-svn-commits] JBL Code SVN: r17687 - 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
Thu Jan 10 14:05:34 EST 2008


Author: tirelli
Date: 2008-01-10 14:05:34 -0500 (Thu, 10 Jan 2008)
New Revision: 17687

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
Log:
JBRULES-1412: reseting cache in beta nodes

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -138,6 +138,8 @@
                 }
             }
         }
+        
+        this.constraints.resetTuple();
 
         final Object result = this.accumulate.getResult( memory.workingMemoryContext,
                                                          accContext,
@@ -251,6 +253,8 @@
                 }
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -290,6 +294,8 @@
                 }
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     public void modifyTuple(final boolean isAssert,
@@ -396,6 +402,8 @@
             } else {
                 workingMemory.getFactHandleFactory().destroyFactHandle( createdHandle );
             }
+            
+            this.resultBinder.resetTuple();
         } else {
             workingMemory.getFactHandleFactory().destroyFactHandle( createdHandle );
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -133,6 +133,8 @@
                 result.add( handle.getObject() );
             }
         }
+        
+        this.constraints.resetTuple();
 
         // First alpha node filters
         boolean isAllowed = true;
@@ -217,6 +219,8 @@
                                   workingMemory );
             }
         }
+
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -250,6 +254,8 @@
                                   workingMemory );
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -318,6 +324,8 @@
                                                 context,
                                                 workingMemory );
             }
+            
+            this.resultsBinder.resetTuple();
         }
     }
 

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	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -105,6 +105,8 @@
                 break;
             }            
         }
+        
+        this.constraints.resetTuple();
 
         if ( leftTuple.getMatch() != null ) {
             this.sink.propagateAssertTuple( leftTuple,
@@ -147,6 +149,8 @@
                                                      workingMemory );                                 
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -190,6 +194,8 @@
                         }
                     }
                     
+                    this.constraints.resetTuple();
+                    
                     // if there is now no new tuple match then propagate assert.
                     if ( tuple.getMatch() == null ) {
                         this.sink.propagateRetractTuple( tuple,
@@ -200,6 +206,8 @@
                 
             }
         }
+
+        this.constraints.resetFactHandle();
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -92,6 +92,9 @@
                 workingMemory.getFactHandleFactory().destroyFactHandle( handle );
             }
         }
+        
+        this.betaConstraints.resetTuple();
+        
         if ( !list.isEmpty() ) {
             memory.getCreatedHandles().put( leftTuple,
                                             list );

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -110,6 +110,8 @@
                                                 workingMemory );
             }
         }
+        
+        this.constraints.resetTuple();
     }
 
     /**
@@ -152,6 +154,7 @@
                                                 workingMemory );
             }
         }
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -184,6 +187,8 @@
                                                  workingMemory );
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -219,6 +224,8 @@
                                                  workingMemory );
             }
         }
+        
+        this.constraints.resetTuple();
     }
 
     /* (non-Javadoc)
@@ -244,6 +251,8 @@
                                       workingMemory );
                 }
             }
+            
+            this.constraints.resetTuple();
         }
     }
 

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	2008-01-10 18:47:23 UTC (rev 17686)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-01-10 19:05:34 UTC (rev 17687)
@@ -104,6 +104,8 @@
                 break;
             }
         }
+        
+        this.constraints.resetTuple();
 
         if ( leftTuple.getMatch() == null ) {
             this.sink.propagateAssertTuple( leftTuple,
@@ -146,6 +148,8 @@
                                                      workingMemory );                    
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -191,6 +195,7 @@
                         }
                     }
                     
+                    this.constraints.resetTuple();
                     // if there is now no new tuple match then propagate assert.
                     if ( tuple.getMatch() == null ) {
                         this.sink.propagateAssertTuple( tuple,
@@ -200,6 +205,8 @@
                 }
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**




More information about the jboss-svn-commits mailing list