[jboss-svn-commits] JBL Code SVN: r19136 - 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 Mar 20 08:36:37 EDT 2008
Author: tirelli
Date: 2008-03-20 08:36:36 -0400 (Thu, 20 Mar 2008)
New Revision: 19136
Added:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl
Modified:
labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AndConstraint.java
labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/OrConstraint.java
Log:
JBRULES-1519: fixing bug with alpha only composite constraints
Modified: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-20 06:55:23 UTC (rev 19135)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java 2008-03-20 12:36:36 UTC (rev 19136)
@@ -82,7 +82,6 @@
import org.drools.Cheesery.Maturity;
import org.drools.audit.WorkingMemoryFileLogger;
import org.drools.audit.WorkingMemoryInMemoryLogger;
-import org.drools.audit.WorkingMemoryLogger;
import org.drools.base.ClassObjectFilter;
import org.drools.common.AbstractWorkingMemory;
import org.drools.common.InternalFactHandle;
@@ -114,7 +113,6 @@
import org.drools.lang.descr.RuleDescr;
import org.drools.rule.InvalidRulePackage;
import org.drools.rule.Package;
-import org.drools.rule.Rule;
import org.drools.rule.builder.dialect.java.JavaDialectConfiguration;
import org.drools.spi.Activation;
import org.drools.spi.ConsequenceExceptionHandler;
@@ -4716,12 +4714,33 @@
list.size() );
}
- public void testModifyBlock() throws Exception {
+ public void testAlphaCompositeConstraints() throws Exception {
final PackageBuilder builder = new PackageBuilder();
- builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyBlock.drl" ) ) );
+ builder.addPackageFromDrl(new InputStreamReader(getClass()
+ .getResourceAsStream("test_AlphaCompositeConstraints.drl")));
final Package pkg = builder.getPackage();
final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage(pkg);
+ final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+ final List list = new ArrayList();
+ workingMemory.setGlobal("results", list);
+
+ Person bob = new Person( "bob", 30 );
+
+ workingMemory.insert(bob);
+ workingMemory.fireAllRules();
+
+ assertEquals( 1, list.size());
+ }
+
+ public void testModifyBlock() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl(new InputStreamReader(getClass()
+ .getResourceAsStream("test_ModifyBlock.drl")));
+ final Package pkg = builder.getPackage();
+ final RuleBase ruleBase = getRuleBase();
ruleBase.addPackage( pkg );
final WorkingMemory workingMemory = ruleBase.newStatefulSession();
Added: labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl (rev 0)
+++ labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_AlphaCompositeConstraints.drl 2008-03-20 12:36:36 UTC (rev 19136)
@@ -0,0 +1,10 @@
+package org.drools;
+
+global java.util.List results;
+
+rule "test alpha composite constraints"
+when
+ Person( eval( age == 25 ) || ( eval( name.equals( "bob" ) ) && eval( age == 30 ) ) )
+then
+ results.add( "OK" );
+end
\ No newline at end of file
Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AndConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AndConstraint.java 2008-03-20 06:55:23 UTC (rev 19135)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/AndConstraint.java 2008-03-20 12:36:36 UTC (rev 19136)
@@ -46,7 +46,7 @@
for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
if ( !this.alphaConstraints[i].isAllowed( object,
workingMemory,
- ctx ) ) {
+ ((MultiFieldConstraintContextEntry) ctx).alphas[i] ) ) {
return false;
}
}
Modified: labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/OrConstraint.java
===================================================================
--- labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/OrConstraint.java 2008-03-20 06:55:23 UTC (rev 19135)
+++ labs/jbossrules/branches/4.0.x/drools-core/src/main/java/org/drools/rule/OrConstraint.java 2008-03-20 12:36:36 UTC (rev 19136)
@@ -49,7 +49,7 @@
for ( int i = 0; i < this.alphaConstraints.length; i++ ) {
if ( this.alphaConstraints[i].isAllowed( object,
workingMemory,
- ctx ) ) {
+ ((MultiFieldConstraintContextEntry) ctx).alphas[i] ) ) {
return true;
}
}
More information about the jboss-svn-commits
mailing list