Операция копирования QVT на моделях
Мне нужно внести изменения в экземпляр модели (сохраняя оригинал), используя QVT. Я подумал об использовании операции copy(), которая определена в документации QVT (как одна из работ по моделям), но я не понимаю, как ее использовать, я попытался выполнить следующий код и посмотреть, если экземпляр Out скопирован из экземпляра In, но не повезло:
modeltype MMNotation "strict"
uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
transformation QVTONotationTransformation(in SourceNotation: MMNotation,
out TargetNotation: MMNotation);
main() {
TargetNotation := SourceNotation.copy();
}
1 ответ
Похоже, ошибка в общем назначении модели. Пожалуйста, поднимите Bugzilla. Я думаю, что вы должны получить предупреждение, что вы не можете назначить созданную модель.
Попробуйте вместо этого использовать deepclone корневого элемента или присвоить содержимое копии.
С уважением
Эд Виллинк