[jboss-svn-commits] JBL Code SVN: r7522 - in labs/jbossrules/branches/3.0.x: drools-compiler/src/test/java/org/drools/integrationtests drools-compiler/src/test/resources/org/drools/integrationtests drools-core/src/main/java/org/drools/rule
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Nov 9 15:23:23 EST 2006
Author: tirelli
Date: 2006-11-09 15:23:11 -0500 (Thu, 09 Nov 2006)
New Revision: 7522
Added:
labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ReturnValueAndGlobal.drl
Modified:
labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
Log:
JBRULES-505: fixing ReturnValueConstraint equals method to allow for correct RETE building
Modified: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-11-09 20:19:14 UTC (rev 7521)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-11-09 20:23:11 UTC (rev 7522)
@@ -64,6 +64,8 @@
import org.drools.event.AfterActivationFiredEvent;
import org.drools.event.AgendaEventListener;
import org.drools.event.BeforeActivationFiredEvent;
+import org.drools.event.DebugAgendaEventListener;
+import org.drools.event.DebugWorkingMemoryEventListener;
import org.drools.event.DefaultAgendaEventListener;
import org.drools.integrationtests.helloworld.Message;
import org.drools.lang.DrlDumper;
@@ -3011,4 +3013,45 @@
assertEquals( 2,
queryResults.size() );
}
+
+ public void testReturnValueAndGlobal() throws Exception {
+
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ReturnValueAndGlobal.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+
+ final List matchlist = new ArrayList();
+ workingMemory.setGlobal( "matchingList",
+ matchlist );
+
+ final List nonmatchlist = new ArrayList();
+ workingMemory.setGlobal( "nonMatchingList",
+ nonmatchlist );
+
+ workingMemory.setGlobal( "cheeseType",
+ "stilton" );
+
+ final Cheese stilton1 = new Cheese( "stilton",
+ 5 );
+ final Cheese stilton2 = new Cheese( "stilton",
+ 7 );
+ final Cheese brie = new Cheese( "brie",
+ 4 );
+ workingMemory.assertObject( stilton1 );
+ workingMemory.assertObject( stilton2 );
+ workingMemory.assertObject( brie );
+
+ workingMemory.fireAllRules();
+
+ assertEquals( 2,
+ matchlist.size() );
+ assertEquals( 1,
+ nonmatchlist.size() );
+ }
+
+
}
Added: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ReturnValueAndGlobal.drl
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ReturnValueAndGlobal.drl 2006-11-09 20:19:14 UTC (rev 7521)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ReturnValueAndGlobal.drl 2006-11-09 20:23:11 UTC (rev 7522)
@@ -0,0 +1,20 @@
+package org.drools;
+
+global java.lang.String cheeseType;
+global java.util.List matchingList;
+global java.util.List nonMatchingList;
+
+
+rule "Match type"
+ when
+ $cheese : Cheese( type == (cheeseType) )
+ then
+ matchingList.add( $cheese );
+end
+
+rule "Non matching type"
+ when
+ $cheese : Cheese( type != (cheeseType) )
+ then
+ nonMatchingList.add( $cheese );
+end
Property changes on: labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ReturnValueAndGlobal.drl
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:eol-style
+ native
Modified: labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java 2006-11-09 20:19:14 UTC (rev 7521)
+++ labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/ReturnValueConstraint.java 2006-11-09 20:23:11 UTC (rev 7522)
@@ -122,8 +122,8 @@
if ( !this.requiredDeclarations[i].getExtractor().equals( other.requiredDeclarations[i].getExtractor() ) ) {
return false;
}
- }
-
- return this.expression.equals( other.expression );
+ }
+
+ return this.evaluator.equals( other.evaluator ) && this.expression.equals( other.expression );
}
}
\ No newline at end of file
More information about the jboss-svn-commits
mailing list