[jboss-svn-commits] JBL Code SVN: r10651 - in labs/jbossrules/trunk/drools-compiler/src: test/java/org/drools/integrationtests and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 30 13:05:40 EDT 2007
Author: tirelli
Date: 2007-03-30 13:05:39 -0400 (Fri, 30 Mar 2007)
New Revision: 10651
Modified:
labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl
Log:
JBRULES-762: Fixing acummulate variable resolution
Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java 2007-03-30 16:56:08 UTC (rev 10650)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/rule/builder/dialect/java/JavaAccumulateBuilder.java 2007-03-30 17:05:39 UTC (rev 10651)
@@ -68,10 +68,10 @@
final String className = "accumulate" + context.getNextId();
accumDescr.setClassMethodName( className );
- final List[] usedIdentifiers1 = utils.getUsedIdentifiers( context,
+ final List[] usedIdentifiers1 = utils.getUsedCIdentifiers( context,
accumDescr,
accumDescr.getInitCode() );
- final List[] usedIdentifiers2 = utils.getUsedIdentifiers( context,
+ final List[] usedIdentifiers2 = utils.getUsedCIdentifiers( context,
accumDescr,
accumDescr.getActionCode() );
final List[] usedIdentifiers3 = utils.getUsedIdentifiers( context,
Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-03-30 16:56:08 UTC (rev 10650)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2007-03-30 17:05:39 UTC (rev 10651)
@@ -3305,7 +3305,8 @@
wm.assertObject( new Cheese( "provolone",
150 ) );
wm.assertObject( new Person( "Bob",
- "stilton" ) );
+ "stilton",
+ 20 ) );
wm.assertObject( new Person( "Mark",
"provolone" ) );
@@ -3319,6 +3320,8 @@
results.get( 2 ) );
Assert.assertEquals( new Integer( 10 ),
results.get( 3 ) );
+ Assert.assertEquals( new Integer( 210 ),
+ results.get( 4 ) );
}
public void testAccumulateModify() throws Exception {
Modified: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl 2007-03-30 16:56:08 UTC (rev 10650)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_Accumulate.drl 2007-03-30 17:05:39 UTC (rev 10651)
@@ -53,3 +53,15 @@
//System.out.println($person.getName() +" will spend US$ "+ $totalAmount + " buying cheese");
results.add($totalAmount);
end
+
+rule "Accumulate with previous Bindings" salience 60
+ when
+ $person : Person( name == "Bob", $likes : likes, $age : age )
+ $totalAmount : Integer() from accumulate( $cheese : Cheese( type == $likes, $price : price ),
+ init( int total = $age * 10; ),
+ action( total += $price; ),
+ result( new Integer( total ) ) );
+ then
+ results.add($totalAmount);
+end
+
More information about the jboss-svn-commits
mailing list