To avoid misunderstandings: yes, equals() is written according to hashCode, i.e., according to the usual Java conventions.
If - an object of class Two contains a member of class One, and - one object Two and one object One are facts, and - a rule modifies One, changing its hashCode then another rule containing the patterns $one: One() $two: Two( $x: one == $one ) does NOT fire (any more). If you use the constraint one == $one || != $one the rule will fire, and you can observe that hashCode results for $one and $x are the same and that $one.equals( $x ) returns true. Reproduced using 5.1.1 and 5.2.x -W
_______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev