[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