You can 'disable' this by *explicitly* specifying not to assign the same
object like this:$n : new_item : Item( exId : externalId )
old_item : Item( this != $n, externalId == exId )

this relies on equals/hashCode method, if you need to use object identities:
$n : new_item : Item( exId : externalId )
$o : old_item : Item( eval($o != $n), externalId == exId )


On Thu, Nov 13, 2008 at 3:19 AM, Knych, Thomas <[EMAIL PROTECTED]>wrote:

> Hi -
>
> I'm upgrading a large base of rules from 3.x to 4.0.7. However there
> seem to be a few semantic differences. I have rules like the below in a
> few places:
>
> rule "All items should have a unique external id"
>      when
>                new_item : Item( exId : externalId )
>                    old_item : Item( externalId == exId )
>        then
>                LOG.warn( "DUPE Detected: new:" +  new_item + " old:" +
> old_item );
>                retract( new_item );
> end
>
> And this all worked fine because 3.x would never assign the same object
> to both new_item and old_item. I know my new/old seem arbitary - but I'm
> just getting down to the minimal reproducing case. 4.x now will assign
> one instance of an object to both new_item and old_item. Is there any
> way to disable this behaviour?
>
>
> thanks,
> -Tom
>
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to