<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
As One is a field of Two. When you change One you are also changing
Two, so you most notify the engine for Two too.<br>
<br>
MArk<br>
On 22/06/2011 14:37, Wolfgang Laun wrote:
<blockquote
cite="mid:BANLkTina7_fvQV-kzZaJNQ5oKbwBseMB5w@mail.gmail.com"
type="cite">To avoid misunderstandings: yes, equals() is written
according to hashCode, i.e., according to the usual Java
conventions.<br>
<br>
If<br>
<br>
- an object of class Two contains a member of class One, and<br>
- one object Two and one object One are facts, and<br>
- a rule modifies One, changing its hashCode<br>
<br>
then<br>
<br>
another rule containing the patterns<br>
$one: One()<br>
$two: Two( $x: one == $one )<br>
<br>
does NOT fire (any more).<br>
<br>
If you use the constraint<br>
one == $one || != $one<br>
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.<br>
<br>
Reproduced using 5.1.1 and 5.2.x<br>
<br>
-W<br>
<br>
<br>
<br>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>