Операция копирования 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 корневого элемента или присвоить содержимое копии.

С уважением

Эд Виллинк

Другие вопросы по тегам