[jboss-jira] [JBoss JIRA] Created: (JBRULES-2760) forall CE not fworking for simple forms

Wolfgang Laun (JIRA) jira-events at lists.jboss.org
Thu Oct 28 11:39:54 EDT 2010


forall CE not fworking for simple forms
---------------------------------------

                 Key: JBRULES-2760
                 URL: https://jira.jboss.org/browse/JBRULES-2760
             Project: Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 5.1.1.FINAL
            Reporter: Wolfgang Laun
            Assignee: Mark Proctor
             Fix For: 5.2.0.M1


Given classes
   class Triangle { int a, b, c;... }
   class Quadrangle { int a, b, c, d;... }
with appropriate getters (but no hashCode or equals) and these facts
   Triangle( 3, 3, 3 )
   Triangle( 3, 3, 3 )  // a duplicate, intentional
   Quadrangle ( 3, 4, 5, 6 );
the rule
   rule "all equilaterals have a 'fitting' quadrangle"
   when
      forall( Triangle( $a: a, b == $a, c == $a )
         Quadrangle( a == $a || b == $a || c == $a || d == $a ) )
   then // ...
   end
works as expected - it fires.

But the rule
   rule "all equilaterals have a duplicate"
   when
      forall( $t: Triangle( $a: a, b == $a, c == $a )
         Triangle( this != $t, a == $a, b == $a , c == $a ) )
   then // ...
   end
does not fire, not even when I omit this != $t.


Since he following rule is just a variant of (Expert) Example 4.66, "All Buses are Red", I think that there is a bug, in 5.1.1:

// Does not fire even though all Triangle have all sides > 0
rule "All triangle sides are greater than 0"
when
    forall( Triangle( a > 0, b > 0, c > 0 ) )
then
    System.out.println( "All triangle sides are > 0." );
end

Also, the tortuous equivalent does not fire:

// Does not fire even though all Triangle have all sides > 0
rule "All triangle sides are greater than 0"
when
    forall( $t: Triangle()
               Triangle( this == $t, a > 0, b > 0, c > 0 ) )
then
    System.out.println( "All triangle sides are > 0." );
end

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list