Hi,
I have a similar problem when using objects from an external framework as
facts : the equals method is invoked despite using the
WM_BEHAVIOR_IDENTITYproperty.
Here is an exmple reproducing this with JBoss Rules 3.0.5 : I have created
a JBoss Rules project under Eclipse, and created 2 classes MyObject and
MyObject2.
These classes have hashCode() returning 0 and equals throwing a
ClassCastException when comparing 2 object of different classes
Actually, after debugging a bit, it seems that the equals method is
invoked by the TruthMaintenanceSystem.assertMap, which has a hardcoded
EqualityKeyComparator (never set to IdentityKeyComparator).
The WorkingMemory.assertMap has its KetComparator set correctly to
IdentityKeyComparator
Also, the equals method is not called when the hashCode() method returns
different values for different objects, which makes it a bit harder to
reproduce the issue.
This is a roadblock for using JBoss Rules in our context ; has someone any
idea for a workaround?
Thanks in advance,
Guillaume
*************************************************************************
This message and any attachments (the "message") are confidential and intended
solely for the addressee(s).
Any unauthorised use or dissemination is prohibited. E-mails are susceptible to
alteration.
Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the
message if altered, changed or falsified.
************
Ce message et toutes les pieces jointes (ci-apres le "message") sont
confidentiels et etablis a l'intention exclusive de ses
destinataires. Toute utilisation ou diffusion non autorisee est interdite. Tout message
electronique est susceptible d'alteration.
La SOCIETE GENERALE et ses filiales declinent toute responsabilite au titre de ce message
s'il a ete altere, deforme ou falsifie.
*************************************************************************
Show replies by date