[jboss-svn-commits] JBL Code SVN: r17690 - in labs/jbossrules/branches/4.0.x/drools-core/src: main/java/org/drools/reteoo and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jan 10 14:26:27 EST 2008


Author: tirelli
Date: 2008-01-10 14:26:27 -0500 (Thu, 10 Jan 2008)
New Revision: 17690

Modified:
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/BetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/FromNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/NotNode.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ContextEntry.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
   labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
   labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/spi/MockConstraint.java
Log:
JBRULES-1412: backporting changes to 4.0.4 branch

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/BetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/BetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/BetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -30,4 +30,8 @@
     public boolean isEmpty();
 
     public BetaMemory createBetaMemory(final RuleBaseConfiguration config);
+    
+    public void resetTuple();
+    
+    public void resetFactHandle();    
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -151,6 +151,18 @@
                                           handle );
         }
     }
+    
+    public void resetTuple() {
+        for ( ContextEntry context = this.contexts; context != null; context = context.getNext() ) {
+            context.resetTuple();
+        }
+    }
+    
+    public void resetFactHandle() {
+        for ( ContextEntry context = this.contexts; context != null; context = context.getNext() ) {
+            context.resetFactHandle();
+        }
+    }     
 
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -138,6 +138,16 @@
         this.context1.updateFromFactHandle( workingMemory,
                                             handle );
     }
+    
+    public void resetTuple() {
+        this.context0.resetTuple();
+        this.context1.resetTuple();
+    }
+    
+    public void resetFactHandle() {
+        this.context0.resetFactHandle();
+        this.context1.resetFactHandle();
+    }      
 
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -60,6 +60,12 @@
                                      final InternalFactHandle handle) {
     }
 
+    public void resetTuple() {
+    }
+    
+    public void resetFactHandle() {
+    } 
+    
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)
      */

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -130,5 +130,13 @@
                                          final InternalFactHandle handle) {
             this.right = handle.getObject();
         }
+        
+        public void resetTuple() {
+            this.left = null;
+        }
+        
+        public void resetFactHandle() {
+            this.right = null;
+        }         
     }
 }

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -123,8 +123,15 @@
         public void updateFromFactHandle(final InternalWorkingMemory workingMemory,
                                          final InternalFactHandle handle) {
             this.right = handle.getObject();
-
         }
+        
+        public void resetTuple() {
+            this.left = null;
+        }
+        
+        public void resetFactHandle() {
+            this.right = null;
+        }                
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -199,6 +199,20 @@
         this.context3.updateFromFactHandle( workingMemory,
                                             handle );
     }
+    
+    public void resetTuple() {
+        this.context0.resetTuple();
+        this.context1.resetTuple();
+        this.context2.resetTuple();
+        this.context3.resetTuple();
+    }
+    
+    public void resetFactHandle() {
+        this.context0.resetFactHandle();
+        this.context1.resetFactHandle();
+        this.context2.resetFactHandle();
+        this.context3.resetFactHandle();
+    }      
 
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -109,6 +109,14 @@
         this.context.updateFromFactHandle( workingMemory,
                                            handle );
     }
+    
+    public void resetTuple() {
+        this.context.resetTuple();
+    }
+    
+    public void resetFactHandle() {
+        this.context.resetFactHandle();
+    }     
 
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -165,6 +165,18 @@
         this.context2.updateFromFactHandle( workingMemory,
                                             handle );
     }
+    
+    public void resetTuple() {
+        this.context0.resetTuple();
+        this.context1.resetTuple();
+        this.context2.resetTuple();
+    }
+    
+    public void resetFactHandle() {
+        this.context0.resetFactHandle();
+        this.context1.resetFactHandle();
+        this.context2.resetFactHandle();
+    }     
 
     /* (non-Javadoc)
      * @see org.drools.common.BetaNodeConstraints#isAllowedCachedLeft(java.lang.Object)

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -141,5 +141,13 @@
             // it MUST be a rete tuple
             this.right = (ReteTuple) handle.getObject();
         }
+        
+        public void resetTuple() {
+            this.left = null;
+        }
+        
+        public void resetFactHandle() {
+            this.right = null;
+        }         
     }
 }

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -138,6 +138,8 @@
                 }
             }
         }
+        
+        this.constraints.resetTuple();
 
         final Object result = this.accumulate.getResult( memory.workingMemoryContext,
                                                          accContext,
@@ -246,6 +248,8 @@
                 }
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -285,6 +289,8 @@
                 }
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     public void modifyTuple(final boolean isAssert,
@@ -389,6 +395,7 @@
                                                 context,
                                                 workingMemory );
             }
+            this.resultBinder.resetTuple();
         }
     }
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/CollectNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/CollectNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -134,6 +134,8 @@
                 result.add( handle.getObject() );
             }
         }
+        
+        this.constraints.resetTuple();
 
         // First alpha node filters
         boolean isAllowed = true;
@@ -218,6 +220,8 @@
                                   workingMemory );
             }
         }
+
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -251,6 +255,8 @@
                                   workingMemory );
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -319,6 +325,8 @@
                                                 context,
                                                 workingMemory );
             }
+            
+            this.resultsBinder.resetTuple();
         }
     }
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -106,6 +106,8 @@
                 break;
             }            
         }
+        
+        this.constraints.resetTuple();
 
         if ( leftTuple.getMatch() != null ) {
             this.sink.propagateAssertTuple( leftTuple,
@@ -148,6 +150,8 @@
                                                      workingMemory );                                 
             }
         }
+        
+        this.constraints.resetFactHandle();
     }
 
     /**
@@ -191,6 +195,8 @@
                         }
                     }
                     
+                    this.constraints.resetTuple();
+                    
                     // if there is now no new tuple match then propagate assert.
                     if ( tuple.getMatch() == null ) {
                         this.sink.propagateRetractTuple( tuple,
@@ -201,6 +207,8 @@
                 
             }
         }
+
+        this.constraints.resetFactHandle();
     }
 
     /**

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/FromNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/FromNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -93,6 +93,9 @@
                                                 workingMemory );
             }
         }
+        
+        this.betaConstraints.resetTuple();
+        
         if ( !list.isEmpty() ) {
             memory.getCreatedHandles().put( leftTuple,
                                             list );

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/JoinNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/JoinNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -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/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/NotNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -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();
     }
 
     /**

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -228,6 +228,18 @@
                                              tuple );
             }
         }
+        
+        public void resetTuple() {
+            for ( int i = 0, length = this.contexts.length; i < length; i++ ) {
+                this.contexts[i].resetTuple();
+            }
+        }
+        
+        public void resetFactHandle() {
+            for ( int i = 0, length = this.contexts.length; i < length; i++ ) {
+                this.contexts[i].resetFactHandle();
+            }
+        }           
 
     }
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -127,6 +127,18 @@
                                                         tuple );
             }
         }
+        
+        public void resetTuple() {
+            for ( int i = 0, length = this.contextEntries.length; i < length; i++ ) {
+                this.contextEntries[i].resetTuple();
+            }
+        }
+        
+        public void resetFactHandle() {
+            for ( int i = 0, length = this.contextEntries.length; i < length; i++ ) {
+                this.contextEntries[i].resetFactHandle();
+            }
+        }        
 
     }
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ContextEntry.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -19,5 +19,9 @@
 
     public void updateFromFactHandle(InternalWorkingMemory workingMemory,
                                      InternalFactHandle handle);
+    
+    public void resetTuple();
+    
+    public void resetFactHandle();
 
 }

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -165,6 +165,13 @@
                                     final ReteTuple tuple) {
             // nothing to do
         }
+        
+        public void resetTuple() {            
+        }
+        
+        public void resetFactHandle() {
+            this.object = null;
+        }        
 
     }
 

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -299,6 +299,14 @@
             this.workingMemory = workingMemory;
             this.leftTuple = tuple;
         }
+        
+        public void resetTuple() {
+            this.leftTuple = null;
+        }
+        
+        public void resetFactHandle() {
+            this.rightObject = null;
+        }        
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -358,6 +358,14 @@
         public InternalWorkingMemory getWorkingMemory() {
             return this.workingMemory;
         }
+        
+        public void resetTuple() {
+            this.leftTuple = null;
+        }
+        
+        public void resetFactHandle() {
+            this.object = null;
+        }        
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -207,6 +207,14 @@
         public boolean isRightNull() {
             return this.rightNull;
         }
+        
+        public void resetTuple() {
+            this.reteTuple = null;
+        }
+        
+        public void resetFactHandle() {
+            this.object = null;
+        }        
     }
 
     public static class ObjectVariableContextEntry extends VariableContextEntry {
@@ -240,6 +248,16 @@
             this.right = this.extractor.getValue( workingMemory,
                                                   handle.getObject() );
         }
+        
+        public void resetTuple() {
+            this.left = null;
+            this.reteTuple = null;
+        }
+        
+        public void resetFactHandle() {
+            this.right = null;
+            this.object = null;
+        }        
     }
 
     public static class LongVariableContextEntry extends VariableContextEntry {

Modified: labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/spi/MockConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/spi/MockConstraint.java	2008-01-10 19:14:09 UTC (rev 17689)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/test/java/org/drools/spi/MockConstraint.java	2008-01-10 19:26:27 UTC (rev 17690)
@@ -74,6 +74,16 @@
             public void updateFromTuple(final InternalWorkingMemory workingMemory,
                                         final ReteTuple tuple) {
             }
+
+            public void resetFactHandle() {
+                // TODO Auto-generated method stub
+                
+            }
+
+            public void resetTuple() {
+                // TODO Auto-generated method stub
+                
+            }
         };
     }
 




More information about the jboss-svn-commits mailing list