Hi Antonio,
Thank you for bringing this breaking change to our attention. This change was discussed numerous times and approved. Furthermore, I believe the return type was mis-specified to begin with because duplicate unsatisfied constraints should not be in the results (which can happen from satisfies operation calls under certain conditions, for example) and the ordering of these is arbitrary.
I know that this change has caused another issue with the Validation view not showing results as it expected a List, but this has been fixed also. I am not aware of any other public API changes of this kind. If returning a Set is a problem, we could change it back to a List when calling the getUnsatisfiedConstraints() method and keep it as a Set internally.
Please let me know if there is anything else I can do to help.
Thanks,
Sina
Hi all,
One warning: I have noticed that EvlContext#getUnsatisfiedConstraints() is returning a Set instead of an ArrayList in the 1.6.0 interim releases since this commit:
commit 6b1e634f08d683c0ab09a5c6014db486edf59967
Date: Fri Mar 30 12:54:37 2018 +0100
Initial commit of Parallel EVL.
This was breaking ecore2thrift. We shouldn't be changing the public API unless we have a very good reason to do so ;-). We shouldn't be returning an ArrayList, but rather a List, of course, but we have to think about other people who may be integrating Epsilon into their solutions.
Have we changed any other return types in previously existing public Epsilon APIs since 1.5.0?
--
Antonio Garcia-Dominguez