[jboss-svn-commits] JBL Code SVN: r29263 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 8 17:28:33 EDT 2009


Author: tirelli
Date: 2009-09-08 17:28:32 -0400 (Tue, 08 Sep 2009)
New Revision: 29263

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
Log:
Fixing NPE

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	2009-09-08 20:52:35 UTC (rev 29262)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/SlidingTimeWindow.java	2009-09-08 21:28:32 UTC (rev 29263)
@@ -159,14 +159,17 @@
             queue.expiringTuple = tuple;
             queue.queue.remove();
             final InternalFactHandle handle = tuple.getFactHandle();
-            final PropagationContext propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
-                                                                                      PropagationContext.EXPIRATION,
-                                                                                      null,
-                                                                                      null,
-                                                                                      handle );
-            tuple.getRightTupleSink().retractRightTuple( tuple,
-                                                         propagationContext,
-                                                         workingMemory );
+            if( handle.isValid()) {
+                // if not expired yet, expire it
+                final PropagationContext propagationContext = new PropagationContextImpl( workingMemory.getNextPropagationIdCounter(),
+                                                                                          PropagationContext.EXPIRATION,
+                                                                                          null,
+                                                                                          null,
+                                                                                          handle );
+                tuple.getRightTupleSink().retractRightTuple( tuple,
+                                                             propagationContext,
+                                                             workingMemory );
+            }
             tuple.unlinkFromRightParent();
             queue.expiringTuple = null;
             tuple = queue.queue.peek();



More information about the jboss-svn-commits mailing list