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:
Dear all,
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.
Best regards,
Danny
Dear all,
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.
Best regards,
Danny
Joos Buijs
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Comments
-
To which Dirk Fahland replied:
Dear all,
I'd like to use this opportunity and advocate the introduction of systematic testing to your plugin code. If you need to change your code by the change in OpenXES, please also write a corresponding test that ensures that your changed code provides the desired functionality.
We realized several ideas on adding tests to ProM proposed by Michael in the last ProM meeting. Now, simple tests can be implemented quite quickly. The updated and complete tutorial on
https://svn.win.tue.nl/trac/prom/wiki/TestCases
shows you how to do this. If you run into problems, please contact me.
Cheers,
Dirk
Joos Buijs
Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
Previously Assistant Professor in Process Mining at Eindhoven University of Technology
Howdy, Stranger!
Categories
- 1.6K All Categories
- 45 Announcements / News
- 225 Process Mining
- 6 - BPI Challenge 2020
- 9 - BPI Challenge 2019
- 24 - BPI Challenge 2018
- 27 - BPI Challenge 2017
- 8 - BPI Challenge 2016
- 68 Research
- 1K ProM 6
- 393 - Usage
- 287 - Development
- 9 RapidProM
- 1 - Usage
- 7 - Development
- 54 ProM5
- 19 - Usage
- 187 Event Logs
- 32 - ProMimport
- 75 - XESame