It seems that this is more of a technical problem on the Java side: how to register the fact that a certain property of an element has changed. You'll need somthing like a "clone" method.
The old version of Person need and should not remain in Working Memory, but a simple wrapper fact referencing to the cloned Person object (not a fact!) would be required. Then you might do Person( $adress: adress ) Wrapper( $person: person, eval( $adress != $person.getAddress() ) ) -W On 9 November 2011 09:57, kapokfly <ivan.jiang...@foxmail.com> wrote: > Thanks, when I am saying person address is changed, our app only concerns > about its initial value and its final value, any change in the middle, we > don't care. > > Examples: > person.address.address1 starts with 'my addr1' > > later a couple of changes were made, say its final value is 'my addr1', > we treat it as no change and no middle rules should be fired. > > Even for the 2 objects approach, how I can write the rules to get the old > and new object matched correctly? > > They are both Person instances without any identity to tell which one is > the > old which one is the new one, unless I enable some kinds of map/or list in > the rule and one structure to host only new objects and the other one hosts > only the old values? > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/How-to-write-Drools-rule-basing-on-a-changed-property-tp3492926p3492979.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users