[jboss-svn-commits] JBL Code SVN: r19586 - in labs/jbossrules/branches/4.0.x: drools-compiler/src/test/resources/org/drools/integrationtests/sequential and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Apr 15 19:31:48 EDT 2008
Author: mark.proctor at jboss.com
Date: 2008-04-15 19:31:48 -0400 (Tue, 15 Apr 2008)
New Revision: 19586
Added:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSalience.drl
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java
labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
Log:
JBRULES-1564 Salience does not work for sequential mode
-Fixed bug by always setting sequence
-Added simple unit test
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java 2008-04-15 23:30:10 UTC (rev 19585)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/sequential/SequentialTest.java 2008-04-15 23:31:48 UTC (rev 19586)
@@ -13,6 +13,7 @@
import org.drools.RuleBase;
import org.drools.RuleBaseConfiguration;
import org.drools.RuleBaseFactory;
+import org.drools.StatefulSession;
import org.drools.StatelessSession;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
@@ -54,7 +55,32 @@
list.size() );
}
+
+ public void testSalience() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "simpleSalience.drl" ) ) );
+ final Package pkg = builder.getPackage();
+ RuleBaseConfiguration conf = new RuleBaseConfiguration();
+ conf.setSequential( true );
+ RuleBase ruleBase = getRuleBase( conf );
+ ruleBase.addPackage( pkg );
+ final StatelessSession session = ruleBase.newStatelessSession();
+
+ final List list = new ArrayList();
+ session.setGlobal( "list",
+ list );
+
+ session.execute( new Person( "pob") );
+
+ assertEquals( 3,
+ list.size() );
+
+ assertEquals( "rule 3", list.get( 0 ));
+ assertEquals( "rule 2", list.get( 1 ));
+ assertEquals( "rule 1", list.get( 2 ));
+ }
+
public void XXtestProfileSequential() throws Exception {
runTestProfileManyRulesAndFacts( true,
Added: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSalience.drl
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSalience.drl (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/sequential/simpleSalience.drl 2008-04-15 23:31:48 UTC (rev 19586)
@@ -0,0 +1,29 @@
+package salience_test;
+
+import org.drools.Person
+
+global java.util.List list;
+
+rule "rule 2"
+ salience 2
+ when
+ Person()
+ then
+ list.add("rule 2");
+end
+
+rule "rule 1"
+ salience 1
+ when
+ Person()
+ then
+ list.add("rule 1");
+end
+
+rule "rule 3"
+ salience 3
+ when
+ Person()
+ then
+ list.add("rule 3");
+end
\ No newline at end of file
Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-04-15 23:30:10 UTC (rev 19585)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/reteoo/RuleTerminalNode.java 2008-04-15 23:31:48 UTC (rev 19586)
@@ -62,7 +62,7 @@
// Instance members
// ------------------------------------------------------------
- private int sequence;
+ private int sequence = -1; // -1 means not set
/**
*
@@ -238,9 +238,7 @@
this.rule,
this.subrule );
- if ( this.tupleMemoryEnabled ) {
- item.setSequenence( this.sequence );
- }
+ item.setSequenence( this.sequence );
if ( this.rule.getActivationGroup() != null ) {
// Lazy cache activationGroup
More information about the jboss-svn-commits
mailing list