[jboss-svn-commits] JBL Code SVN: r19254 - in labs/jbossrules/trunk/drools-core/src: test/java/org/drools/reteoo and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 26 14:47:11 EDT 2008


Author: mark.proctor at jboss.com
Date: 2008-03-26 14:47:10 -0400 (Wed, 26 Mar 2008)
New Revision: 19254

Removed:
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/InstrumentedReteTuple.java
Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
Log:
JBRULES-1520 RightTuple merge for asymmetrical Rete propagations
-Removed InstrumentedReteTuple, no longer needed

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-03-26 18:36:31 UTC (rev 19253)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java	2008-03-26 18:47:10 UTC (rev 19254)
@@ -91,7 +91,7 @@
                                 final PropagationContext context,
                                 final InternalWorkingMemory workingMemory) {
         final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-        
+
         this.constraints.updateFromTuple( memory.getContext(),
                                           workingMemory,
                                           leftTuple );
@@ -116,7 +116,7 @@
         this.constraints.resetTuple( memory.getContext() );
 
         if ( leftTuple.getBlocker() == null ) {
-            // only add it to node memory if still need Objects to attempt to match
+            // tuple is not blocked, so add to memory so other fact handles can attempt to match
             if ( this.tupleMemoryEnabled ) {
                 memory.getLeftTupleMemory().add( leftTuple );
             }
@@ -175,11 +175,9 @@
                 // this is now blocked so remove from memory
                 memory.getLeftTupleMemory().remove( leftTuple );
 
-                if ( leftTuple.getBetaChildren() != null ) {
-                    this.sink.propagateRetractLeftTuple( leftTuple,
-                                                         context,
-                                                         workingMemory );
-                }
+                this.sink.propagateRetractLeftTuple( leftTuple,
+                                                     context,
+                                                     workingMemory );
             }
 
             leftTuple = temp;

Deleted: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/InstrumentedReteTuple.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/InstrumentedReteTuple.java	2008-03-26 18:36:31 UTC (rev 19253)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/reteoo/InstrumentedReteTuple.java	2008-03-26 18:47:10 UTC (rev 19254)
@@ -1,38 +0,0 @@
-package org.drools.reteoo;
-
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.drools.FactHandle;
-import org.drools.common.DefaultFactHandle;
-import org.drools.common.InternalFactHandle;
-
-public class InstrumentedReteTuple extends LeftTuple {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 400L;
-
-    public InstrumentedReteTuple(final LeftTuple left,
-                                 final FactHandle handle) {
-        super( left,
-               (InternalFactHandle) handle );
-    }
-
-    public InstrumentedReteTuple(final FactHandle handle) {
-        super( (DefaultFactHandle) handle );
-    }
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2008-03-26 18:36:31 UTC (rev 19253)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/FieldConstraintTest.java	2008-03-26 18:47:10 UTC (rev 19254)
@@ -38,8 +38,9 @@
 import org.drools.base.evaluators.Operator;
 import org.drools.common.InternalFactHandle;
 import org.drools.common.InternalWorkingMemory;
-import org.drools.reteoo.InstrumentedReteTuple;
+import org.drools.reteoo.LeftTuple;
 import org.drools.reteoo.ReteooRuleBase;
+import org.drools.reteoo.RightTuple;
 import org.drools.rule.PredicateConstraint.PredicateContextEntry;
 import org.drools.rule.ReturnValueRestriction.ReturnValueContextEntry;
 import org.drools.spi.Evaluator;
@@ -51,8 +52,8 @@
 
 public class FieldConstraintTest extends TestCase {
 
-    ClassFieldExtractorCache cache = ClassFieldExtractorCache.getInstance();
-    EqualityEvaluatorsDefinition equals = new EqualityEvaluatorsDefinition();
+    ClassFieldExtractorCache       cache       = ClassFieldExtractorCache.getInstance();
+    EqualityEvaluatorsDefinition   equals      = new EqualityEvaluatorsDefinition();
     ComparableEvaluatorsDefinition comparables = new ComparableEvaluatorsDefinition();
 
     public FieldConstraintTest() {
@@ -83,7 +84,8 @@
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
-        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE, Operator.EQUAL );
+        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE,
+                                                         Operator.EQUAL );
 
         final LiteralConstraint constraint = new LiteralConstraint( extractor,
                                                                     evaluator,
@@ -132,7 +134,8 @@
 
         final FieldValue field = FieldFactory.getFieldValue( 5 );
 
-        final Evaluator evaluator = equals.getEvaluator( ValueType.PINTEGER_TYPE, Operator.EQUAL );
+        final Evaluator evaluator = equals.getEvaluator( ValueType.PINTEGER_TYPE,
+                                                         Operator.EQUAL );
 
         final LiteralConstraint constraint = new LiteralConstraint( extractor,
                                                                     evaluator,
@@ -210,7 +213,7 @@
                                     Declaration[] previousDeclarations,
                                     Declaration[] localDeclarations,
                                     WorkingMemory workingMemory,
-                                    Object context ) {
+                                    Object context) {
                 int price1 = previousDeclarations[0].getIntValue( (InternalWorkingMemory) workingMemory,
                                                                   workingMemory.getObject( tuple.get( previousDeclarations[0] ) ) );
                 int price2 = localDeclarations[0].getIntValue( (InternalWorkingMemory) workingMemory,
@@ -224,7 +227,8 @@
                 return null;
             }
 
-            public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
             }
 
             public void writeExternal(ObjectOutput out) throws IOException {
@@ -238,15 +242,18 @@
 
         final Cheese cheddar0 = new Cheese( "cheddar",
                                             5 );
-        final FactHandle f0 = workingMemory.insert( cheddar0 );
-        InstrumentedReteTuple tuple = new InstrumentedReteTuple( f0 );
+        final InternalFactHandle f0 = (InternalFactHandle) workingMemory.insert( cheddar0 );
+        LeftTuple tuple = new LeftTuple( f0,
+                                         null );
 
         final Cheese cheddar1 = new Cheese( "cheddar",
                                             10 );
         final InternalFactHandle f1 = (InternalFactHandle) workingMemory.insert( cheddar1 );
 
-        tuple = new InstrumentedReteTuple( tuple,
-                                           f1 );
+        tuple = new LeftTuple( tuple,
+                               new RightTuple( f1,
+                                               null ),
+                               null );
 
         final PredicateContextEntry context = (PredicateContextEntry) constraint1.createContextEntry();
         context.updateFromTuple( workingMemory,
@@ -296,7 +303,7 @@
                                        Declaration[] previousDeclarations,
                                        Declaration[] localDeclarations,
                                        WorkingMemory workingMemory,
-                                       Object context ) {
+                                       Object context) {
                 int price = ((Number) previousDeclarations[0].getValue( (InternalWorkingMemory) workingMemory,
                                                                         workingMemory.getObject( tuple.get( previousDeclarations[0] ) ) )).intValue();
                 return FieldFactory.getFieldValue( 2 * price );
@@ -306,8 +313,10 @@
             public Object createContext() {
                 return null;
             }
-            public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
 
+            public void readExternal(ObjectInput in) throws IOException,
+                                                    ClassNotFoundException {
+
             }
 
             public void writeExternal(ObjectOutput out) throws IOException {
@@ -320,7 +329,8 @@
                                                                                 new Declaration[]{priceDeclaration},
                                                                                 new Declaration[0],
                                                                                 new String[0],
-                                                                                equals.getEvaluator( ValueType.INTEGER_TYPE, Operator.EQUAL ) );
+                                                                                equals.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                                                     Operator.EQUAL ) );
 
         final ReturnValueConstraint constraint1 = new ReturnValueConstraint( priceExtractor,
                                                                              restriction1 );
@@ -330,22 +340,26 @@
                                                                                 new Declaration[]{priceDeclaration},
                                                                                 new Declaration[0],
                                                                                 new String[0],
-                                                                                comparables.getEvaluator( ValueType.INTEGER_TYPE, Operator.GREATER ) );
+                                                                                comparables.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                                                          Operator.GREATER ) );
 
         final ReturnValueConstraint constraint2 = new ReturnValueConstraint( priceExtractor,
                                                                              restriction2 );
 
         final Cheese cheddar0 = new Cheese( "cheddar",
                                             5 );
-        final FactHandle f0 = workingMemory.insert( cheddar0 );
+        final InternalFactHandle f0 = (InternalFactHandle) workingMemory.insert( cheddar0 );
 
-        InstrumentedReteTuple tuple = new InstrumentedReteTuple( f0 );
+        LeftTuple tuple = new LeftTuple( f0,
+                                         null );
 
         final Cheese cheddar1 = new Cheese( "cheddar",
                                             10 );
         final InternalFactHandle f1 = (InternalFactHandle) workingMemory.insert( cheddar1 );
-        tuple = new InstrumentedReteTuple( tuple,
-                                           f1 );
+        tuple = new LeftTuple( tuple,
+                               new RightTuple( f1,
+                                               null ),
+                               null );
 
         final ReturnValueContextEntry context1 = (ReturnValueContextEntry) constraint1.createContextEntry();
         context1.updateFromTuple( workingMemory,
@@ -392,7 +406,8 @@
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
-        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE, Operator.EQUAL );
+        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE,
+                                                         Operator.EQUAL );
 
         final LiteralConstraint constraint1 = new LiteralConstraint( extractor,
                                                                      evaluator,
@@ -404,7 +419,8 @@
 
         final FieldValue priceField = FieldFactory.getFieldValue( 10 );
 
-        final Evaluator priceEvaluator = comparables.getEvaluator( ValueType.INTEGER_TYPE, Operator.GREATER );
+        final Evaluator priceEvaluator = comparables.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                   Operator.GREATER );
 
         final LiteralConstraint constraint2 = new LiteralConstraint( priceExtractor,
                                                                      priceEvaluator,
@@ -468,7 +484,8 @@
 
         final FieldValue field = FieldFactory.getFieldValue( "cheddar" );
 
-        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE, Operator.EQUAL );
+        final Evaluator evaluator = equals.getEvaluator( ValueType.STRING_TYPE,
+                                                         Operator.EQUAL );
 
         final LiteralConstraint constraint1 = new LiteralConstraint( extractor,
                                                                      evaluator,
@@ -480,7 +497,8 @@
 
         final FieldValue priceField = FieldFactory.getFieldValue( 10 );
 
-        final Evaluator priceEvaluator = comparables.getEvaluator( ValueType.INTEGER_TYPE, Operator.GREATER );
+        final Evaluator priceEvaluator = comparables.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                   Operator.GREATER );
 
         final LiteralConstraint constraint2 = new LiteralConstraint( priceExtractor,
                                                                      priceEvaluator,
@@ -543,7 +561,8 @@
 
         final FieldValue cheddarField = FieldFactory.getFieldValue( "cheddar" );
 
-        final Evaluator stringEqual = equals.getEvaluator( ValueType.STRING_TYPE, Operator.EQUAL );
+        final Evaluator stringEqual = equals.getEvaluator( ValueType.STRING_TYPE,
+                                                           Operator.EQUAL );
 
         // type == 'cheddar'
         final LiteralConstraint constraint1 = new LiteralConstraint( typeExtractor,
@@ -556,7 +575,8 @@
 
         final FieldValue field10 = FieldFactory.getFieldValue( 10 );
 
-        final Evaluator integerGreater =  comparables.getEvaluator( ValueType.INTEGER_TYPE, Operator.GREATER );
+        final Evaluator integerGreater = comparables.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                   Operator.GREATER );
 
         // price > 10
         final LiteralConstraint constraint2 = new LiteralConstraint( priceExtractor,
@@ -574,7 +594,8 @@
                                                                      stringEqual,
                                                                      stiltonField );
 
-        final Evaluator integerLess =  comparables.getEvaluator( ValueType.INTEGER_TYPE, Operator.LESS );
+        final Evaluator integerLess = comparables.getEvaluator( ValueType.INTEGER_TYPE,
+                                                                Operator.LESS );
 
         // price < 10
         final LiteralConstraint constraint4 = new LiteralConstraint( priceExtractor,




More information about the jboss-svn-commits mailing list