[jboss-svn-commits] JBL Code SVN: r19818 - in labs/jbossrules/branches/4.0.x: drools-compiler/src/test/resources/org/drools/integrationtests and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu May 1 17:34:47 EDT 2008
Author: tirelli
Date: 2008-05-01 17:34:47 -0400 (Thu, 01 May 2008)
New Revision: 19818
Added:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_CollectResultsBetaConstraint.drl
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java
labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java
Log:
JBRULES-1594: disabling indexing for result objects
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java 2008-05-01 21:05:23 UTC (rev 19817)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/FirstOrderLogicTest.java 2008-05-01 21:34:47 UTC (rev 19818)
@@ -1049,4 +1049,41 @@
}
+ public void testCollectResultBetaConstraint() throws Exception {
+
+ // read in the source
+ final Reader reader = new InputStreamReader( getClass().getResourceAsStream( "test_CollectResultsBetaConstraint.drl" ) );
+ RuleBase ruleBase = loadRuleBase( reader );
+
+ StatefulSession wm = ruleBase.newStatefulSession();
+ List results = new ArrayList();
+
+ wm.setGlobal( "results",
+ results );
+
+ wm.insert( new Double( 10 ) );
+ wm.insert( new Integer( 2 ) );
+
+ ruleBase = serializeRuleBase( ruleBase );
+ wm = serializeWorkingMemory( ruleBase,
+ wm );
+ results = (List) wm.getGlobal( "results" );
+
+ wm.fireAllRules();
+
+ Assert.assertEquals( 0,
+ results.size() );
+
+ wm.insert( new Double(15) );
+ wm.fireAllRules();
+
+ Assert.assertEquals( 2,
+ results.size() );
+
+ Assert.assertEquals( "collect",
+ results.get( 0 ) );
+ Assert.assertEquals( "accumulate",
+ results.get( 1 ) );
+ }
+
}
Added: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_CollectResultsBetaConstraint.drl
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_CollectResultsBetaConstraint.drl (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_CollectResultsBetaConstraint.drl 2008-05-01 21:34:47 UTC (rev 19818)
@@ -0,0 +1,25 @@
+package org.drools;
+
+import java.util.ArrayList;
+
+global java.util.List results;
+
+rule "Collect results beta constraint"
+ salience 10
+when
+ Integer( $count : intValue )
+ $doubles: ArrayList( size == $count ) from collect(Double())
+ then
+ results.add( "collect" );
+end
+
+rule "Accumulate results beta constraint"
+when
+ Integer( $count:intValue )
+ $doubles: ArrayList( size == $count ) from accumulate( $d : Double(),
+ init( ArrayList list = new ArrayList(); ),
+ action( list.add( $d ); ),
+ result( list ) )
+ then
+ results.add( "accumulate" );
+end
\ No newline at end of file
Property changes on: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_CollectResultsBetaConstraint.drl
___________________________________________________________________
Name: svn:executable
+ *
Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java 2008-05-01 21:05:23 UTC (rev 19817)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/AccumulateBuilder.java 2008-05-01 21:34:47 UTC (rev 19818)
@@ -85,7 +85,7 @@
final BetaConstraints resultsBinder = utils.createBetaNodeConstraint( context,
resultBetaConstraints,
- false );
+ true );
final BetaConstraints sourceBinder = utils.createBetaNodeConstraint( context,
context.getBetaconstraints(),
false );
Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java 2008-05-01 21:05:23 UTC (rev 19817)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/builder/CollectBuilder.java 2008-05-01 21:34:47 UTC (rev 19818)
@@ -86,7 +86,8 @@
}
BetaConstraints binder = utils.createBetaNodeConstraint( context, context.getBetaconstraints(), false );
- BetaConstraints resultBinder = utils.createBetaNodeConstraint( context, resultBetaConstraints, false );
+ // indexing for the results should be always disabled
+ BetaConstraints resultBinder = utils.createBetaNodeConstraint( context, resultBetaConstraints, true );
context.setTupleSource( (TupleSource) utils.attachNode( context,
new CollectNode( context.getNextId(),
More information about the jboss-svn-commits
mailing list