[jboss-svn-commits] JBL Code SVN: r5493 - 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
Sat Aug 5 10:58:39 EDT 2006


Author: tirelli
Date: 2006-08-05 10:58:28 -0400 (Sat, 05 Aug 2006)
New Revision: 5493

Added:
   labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.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/BoundVariableConstraint.java
Log:
* JBRULES-389

  * Fixed the use of exists with later BoundVaribleConstraints
  * Testcase added



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-08-05 10:54:35 UTC (rev 5492)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2006-08-05 14:58:28 UTC (rev 5493)
@@ -2588,5 +2588,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/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl	2006-08-05 10:54:35 UTC (rev 5492)
+++ labs/jbossrules/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl	2006-08-05 14:58:28 UTC (rev 5493)
@@ -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/branches/3.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_ExistsWithBindings.drl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/BoundVariableConstraint.java
===================================================================
--- labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/BoundVariableConstraint.java	2006-08-05 10:54:35 UTC (rev 5492)
+++ labs/jbossrules/branches/3.0.x/drools-core/src/main/java/org/drools/rule/BoundVariableConstraint.java	2006-08-05 14:58:28 UTC (rev 5493)
@@ -79,7 +79,7 @@
         //                                       declaration.getValue( left ) );                
         //        }
         return this.evaluator.evaluate( this.fieldExtractor.getValue( handle.getObject() ),
-                                        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