To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.
[ProM-developers] Changes to XAttribute 'equals(object )' method in OpenXES
Yesterday, Danny van Heumen send around the following message on the ProM Developers mailing list:
As of today, the equality of an XAttribute and its specializations (XAttributeLiteral, XAttributeBoolean, XAttributeDiscrete, XAttributeContinuous and XAttributeTimestamp) have been modified. The new implementation is more in line with what one would expect of this method: two attributes are considered equivalent if key, value type and value all are equivalent in both attributes.
Previously, when we would compare two XAttribute instances, it would only test whether or not the key of both instances is equal. The value type and value of the attribute would be ignored. As of now, when we compare two XAttribute instances, key, value type and value have to all be equivalent in order for two XAttribute instances to be considered equal.
Note that given the large amount of ProM packages already present and the nature of the 'equals(...)' method, i.e. 'equals(...)' may also be used (under the hood) by algorithms and data structures, we cannot easily test if this change breaks any of the existing ProM packages. So, if anyone notices a sudden breakage it might be related to this change, although there should only be such a problem if your packages uses XAttribute's 'equals(...)' method for comparing one XAttribute to another.
If the old behavior is required, you can trivially achieve this with the XAttribute's 'getKey()' method which returns the key and those keys can then be compared.
Post edited by JBuijs on
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor). Previously Assistant Professor in Process Mining at Eindhoven University of Technology