Доступ к свойствам элементов в модели EMF Compare Diff
Я использовал EMF Compare для сравнения 2 моделей, соответствующих пользовательской метамодели.
Я сгенерировал и сохранил модель Diff в файл.xmi.
В настоящее время я работаю над тем, как использовать модель различий в ATL для преобразования различий в другую модель.
Проблема в том, что я не могу понять, как получить доступ к свойствам изменяемого элемента (определенного в моей пользовательской метамодели). Я мог бы получить доступ к таким изменениям, как это:
diffModel.kind
но я не могу получить доступ к свойствам элемента, который был изменен.
1 ответ
Чтобы узнать элемент, который изменился в блоке diff, вам нужно запросить, является ли элемент match, в котором содержится diff, в этом элементе два атрибута: left и right, который ссылается на исходный и целевой элементы.
Чтобы получить доступ к элементу совпадения, в котором содержится блок diff, вы можете использовать операцию ATL refImmediateComposite(). Пример: diff.refImmediateComposite().
Также вам необходимо определить в качестве входной модели сравниваемую исходную и целевую модели.