[jboss-svn-commits] JBL Code SVN: r36914 - labs/jbossrules/branches/5.1.x/drools-core/src/main/java/org/drools/reteoo.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Apr 13 10:56:54 EDT 2011


Author: tirelli
Date: 2011-04-13 10:56:53 -0400 (Wed, 13 Apr 2011)
New Revision: 36914

Modified:
   labs/jbossrules/branches/5.1.x/drools-core/src/main/java/org/drools/reteoo/CompositeLeftTupleSinkAdapter.java
Log:
JBRULES-2887: fixing NPE on accumulate retracts

Modified: labs/jbossrules/branches/5.1.x/drools-core/src/main/java/org/drools/reteoo/CompositeLeftTupleSinkAdapter.java
===================================================================
--- labs/jbossrules/branches/5.1.x/drools-core/src/main/java/org/drools/reteoo/CompositeLeftTupleSinkAdapter.java	2011-04-13 14:53:29 UTC (rev 36913)
+++ labs/jbossrules/branches/5.1.x/drools-core/src/main/java/org/drools/reteoo/CompositeLeftTupleSinkAdapter.java	2011-04-13 14:56:53 UTC (rev 36914)
@@ -133,17 +133,19 @@
                                                            final PropagationContext context,
                                                            final InternalWorkingMemory workingMemory) {
         LeftTuple child = leftTuple.firstChild;
+        // there should be a single right parent for all children
+        InternalFactHandle rightParent = child.getRightParent().getFactHandle();
         while ( child != null ) {
             LeftTuple temp = child.getLeftParentNext();
             doPropagateRetractLeftTuple( context,
                                          workingMemory,
                                          child,
                                          child.getLeftTupleSink() );
-            workingMemory.getFactHandleFactory().destroyFactHandle( child.getRightParent().getFactHandle() );
             child.unlinkFromRightParent();
             child.unlinkFromLeftParent();
             child = temp;
         }
+        workingMemory.getFactHandleFactory().destroyFactHandle( rightParent );
     }
 
     public void propagateRetractRightTuple(final RightTuple rightTuple,



More information about the jboss-svn-commits mailing list