[jboss-svn-commits] JBL Code SVN: r17680 - 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
Thu Jan 10 12:21:07 EST 2008


Author: mark.proctor at jboss.com
Date: 2008-01-10 12:21:07 -0500 (Thu, 10 Jan 2008)
New Revision: 17680

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
Log:
JBRULES-1412 ContextEntries should have cache nulled
-All constraints can now null their caches
-Still  need to update the nodes to call those resets

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/BetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DefaultBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -149,6 +149,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/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DoubleBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/EmptyBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceEqualsConstraint.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/InstanceNotEqualsConstraint.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/QuadroupleBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/SingleBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TripleBetaConstraints.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/TupleStartEqualsConstraint.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeConstraint.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/AbstractCompositeRestriction.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -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/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ContextEntry.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -19,5 +19,9 @@
 
     public void updateFromFactHandle(InternalWorkingMemory workingMemory,
                                      InternalFactHandle handle);
+    
+    public void resetTuple();
+    
+    public void resetFactHandle();
 
 }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/LiteralRestriction.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -165,6 +165,13 @@
                                     final ReteTuple tuple) {
             // nothing to do
         }
+        
+        public void resetTuple() {            
+        }
+        
+        public void resetFactHandle() {
+            this.object = null;
+        }        
 
     }
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/PredicateConstraint.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -315,6 +315,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/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/ReturnValueRestriction.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -358,6 +358,14 @@
         public InternalWorkingMemory getWorkingMemory() {
             return this.workingMemory;
         }
+        
+        public void resetTuple() {
+            this.leftTuple = null;
+        }
+        
+        public void resetFactHandle() {
+            this.handle = null;
+        }        
     }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2008-01-10 16:27:23 UTC (rev 17679)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java	2008-01-10 17:21:07 UTC (rev 17680)
@@ -212,6 +212,12 @@
         public boolean isRightNull() {
             return this.rightNull;
         }
+        
+        public void resetTuple() {
+        }
+        
+        public void resetFactHandle() {
+        }        
     }
 
     public static class ObjectVariableContextEntry extends VariableContextEntry {
@@ -247,6 +253,14 @@
             this.right = this.extractor.getValue( workingMemory,
                                                   evaluator.prepareObject( handle ) );
         }
+        
+        public void resetTuple() {
+            this.left = null;
+        }
+        
+        public void resetFactHandle() {
+            this.right = null;
+        }        
     }
 
     public static class LongVariableContextEntry extends VariableContextEntry {




More information about the jboss-svn-commits mailing list