<!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>
      &nbsp;&nbsp; - an object of class Two contains a member of class One, and<br>
      &nbsp;&nbsp; - one object Two and one object One are facts, and<br>
      &nbsp;&nbsp; - a rule modifies One, changing its hashCode<br>
      <br>
      then<br>
      <br>
      &nbsp;&nbsp; another rule containing the patterns<br>
      &nbsp;&nbsp; $one: One()<br>
      &nbsp;&nbsp; $two: Two( $x: one == $one )<br>
      <br>
      does NOT fire (any more).<br>
      <br>
      If you use the constraint<br>
      &nbsp;&nbsp; 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>