[jboss-svn-commits] JBL Code SVN: r5494 - in labs/jbossrules/trunk: 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
Sat Aug 5 11:07:33 EDT 2006
Author: tirelli
Date: 2006-08-05 11:07:22 -0400 (Sat, 05 Aug 2006)
New Revision: 5494
Added:
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl
Modified:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
Log:
* JBRULES-389
* Fixed ClassCastException when using exists with later BoundVariables.
* Test case added
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 2006-08-05 14:58:28 UTC (rev 5493)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java 2006-08-05 15:07:22 UTC (rev 5494)
@@ -2691,4 +2691,28 @@
}
}
+ public void testExistsWithBinding() throws Exception {
+ final PackageBuilder builder = new PackageBuilder();
+ builder.addPackageFromDrl( new InputStreamReader(
+ getClass().getResourceAsStream( "test_ExistsWithBindings.drl" ) ) );
+ final Package pkg = builder.getPackage();
+
+ final RuleBase ruleBase = getRuleBase();
+ ruleBase.addPackage( pkg );
+ final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+
+ final List list = new ArrayList();
+ workingMemory.setGlobal( "results",
+ list );
+
+ Cheese c = new Cheese( "stilton", 10 );
+ Person p = new Person( "Mark", "stilton" );
+ workingMemory.assertObject( c );
+ workingMemory.assertObject( p );
+ workingMemory.fireAllRules();
+
+ assertTrue( list.contains( c.getType() ) );
+ assertEquals(1, list.size() );
+ }
+
}
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl 2006-08-05 14:58:28 UTC (rev 5493)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl 2006-08-05 15:07:22 UTC (rev 5494)
@@ -0,0 +1,15 @@
+package com.sample
+
+import org.drools.Cheese
+import org.drools.Person
+
+global java.util.List results
+
+rule "Exists with Bindings"
+ when
+ exists Cheese()
+ c: Cheese( $type : type );
+ p: Person( likes == $type );
+ then
+ results.add( $type );
+end
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java 2006-08-05 14:58:28 UTC (rev 5493)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/VariableRestriction.java 2006-08-05 15:07:22 UTC (rev 5494)
@@ -71,7 +71,7 @@
// declaration.getValue( left ) );
// }
return this.evaluator.evaluate( object,
- this.declaration.getValue( tuple.get( this.column ).getObject() ) );
+ this.declaration.getValue( tuple.get( this.declaration ).getObject() ) );
}
public String toString() {
More information about the jboss-svn-commits
mailing list