Change in anyType field results into two differences found by comparison [message #1082972] |
Fri, 09 August 2013 09:27 |
John M. Messages: 198 Registered: July 2010 |
Senior Member |
|
|
Hello,
I have a small generated ecore model (source is a xsd file) and want to compare two files. For testing proposal I changed the value of processName in the xml file:
<pd:activity name="ctx_load">
<pd:x>280</pd:x>
<pd:y>141</pd:y>
<config>
<processName>/SERVICES2/Ctx/ctx_load.process</processName>
</config>
<pd:inputBindings>
...
I have already replaced the config EReference on type EObject with an own EClass having an attribute any.
I found in the EMF Compare FAQ http://wiki.eclipse.org/EMF_Compare_FAQ#Custom_data_types_are_always_marked_as_modified_by_EMF_Compare, but I can't solve my problem with it.
I think to replace the matcher isn't the right way. A custom DiffEngine gets already two matches, in my opinion it is incorrect.
I checked the EqualityHelper and it recognizes and matches the change.
Could it be possible that the comparer can't handle anytype correctly?
I has reviewed both differences and noticed the states DELETE (for the new value) and ADD (for the old value).
Thanks for any hints.
-
Attachment: ECore.png
(Size: 9.83KB, Downloaded 204 times)
[Updated on: Fri, 09 August 2013 09:35] Report message to a moderator
|
|
|
|
Re: Change in anyType field results into two differences found by comparison [message #1102013 is a reply to message #1094550] |
Thu, 05 September 2013 08:27 |
|
John,
What would be your question here? You have two models with different values for one attribute (processName) but see no difference when comparing with EMF Compare, or you have two models with the same value for an attribute but see it detected as a delete/add by EMF Compare? In other words, what do you have, and what did you expect to get?
As a side note, EMF Compare 2 has known issues with feature maps handling, so you might have stumbled upon one of those.
Laurent Goubet
Obeo
|
|
|
Powered by
FUDForum. Page generated in 0.05168 seconds