[jboss-svn-commits] JBL Code SVN: r32525 - 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
Mon Apr 12 23:07:19 EDT 2010
Author: mark.proctor at jboss.com
Date: 2010-04-12 23:07:18 -0400 (Mon, 12 Apr 2010)
New Revision: 32525
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-2240 True modify
-Make sure that ModifyRightTuple still updates the correct buckets, even for queries with no left memory.
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 2010-04-12 21:37:43 UTC (rev 32524)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/ExistsNode.java 2010-04-13 03:07:18 UTC (rev 32525)
@@ -365,13 +365,17 @@
public void modifyRightTuple(RightTuple rightTuple,
PropagationContext context,
- InternalWorkingMemory workingMemory) {
+ InternalWorkingMemory workingMemory) {
+ final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
+
if ( !this.tupleMemoryEnabled ) {
// do nothing here, as we know there are no left tuples at this stage in sequential mode.
+
+ //normally do this at the end, but as we are exiting early, make sure the buckets are still correct.
+ memory.getRightTupleMemory().remove( rightTuple );
+ memory.getRightTupleMemory().add( rightTuple );
return;
- }
-
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
+ }
// TODO: wtd with behaviours?
// if ( !behavior.assertRightTuple( memory.getBehaviorContext(),
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 2010-04-12 21:37:43 UTC (rev 32524)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/NotNode.java 2010-04-13 03:07:18 UTC (rev 32525)
@@ -304,14 +304,17 @@
public void modifyRightTuple(RightTuple rightTuple,
PropagationContext context,
- InternalWorkingMemory workingMemory) {
+ InternalWorkingMemory workingMemory) {
+ final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
if ( !this.tupleMemoryEnabled ) {
// do nothing here, as we know there are no left tuples at this stage in sequential mode.
+
+ //normally do this at the end, but as we are exiting early, make sure the buckets are still correct.
+ memory.getRightTupleMemory().remove( rightTuple );
+ memory.getRightTupleMemory().add( rightTuple );
return;
}
- final BetaMemory memory = (BetaMemory) workingMemory.getNodeMemory( this );
-
// TODO: wtd with behaviours?
// if ( !behavior.assertRightTuple( memory.getBehaviorContext(),
// rightTuple,
More information about the jboss-svn-commits
mailing list