[jboss-svn-commits] JBL Code SVN: r33354 - 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
Fri Jun 4 14:46:17 EDT 2010


Author: tirelli
Date: 2010-06-04 14:46:17 -0400 (Fri, 04 Jun 2010)
New Revision: 33354

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
Log:
Chaning accumulate to handle null results

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2010-06-04 15:01:39 UTC (rev 33353)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/reteoo/AccumulateNode.java	2010-06-04 18:46:17 UTC (rev 33354)
@@ -589,10 +589,6 @@
                                                          leftTuple,
                                                          workingMemory );
 
-        if ( result == null ) {
-            throw new RuntimeDroolsException( "Accumulate must not return a null value." );
-        }
-
         if ( accctx.result == null ) {
             final InternalFactHandle handle = workingMemory.getFactHandleFactory().newFactHandle( result,
                                                                                                   workingMemory.getObjectTypeConfigurationRegistry().getObjectTypeConf( context.getEntryPoint(),
@@ -606,13 +602,12 @@
         }
 
         // First alpha node filters
-        boolean isAllowed = true;
-        for ( int i = 0, length = this.resultConstraints.length; i < length; i++ ) {
+        boolean isAllowed = result != null;
+        for ( int i = 0, length = this.resultConstraints.length; isAllowed && i < length; i++ ) {
             if ( !this.resultConstraints[i].isAllowed( accctx.result.getFactHandle(),
                                                        workingMemory,
                                                        memory.alphaContexts[i] ) ) {
                 isAllowed = false;
-                break;
             }
         }
         if ( isAllowed ) {



More information about the jboss-svn-commits mailing list