2017-04-15 3 views
0

Je dois effectuer des modifications dans une instance d'un modèle (en conservant l'original) à l'aide de QVT. J'ai pensé en utilisant l'opération copy() qui est définie dans la documentation de QVT (comme l'un des Orerations sur les modèles), mais je ne comprends pas comment l'utiliser, j'ai essayé d'exécuter le code suivant et regarder si l'instance Out est copié à partir de l'instance En, mais n'a pas eu de chance:Opération de copie QVT sur les modèles

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(); 

} 

Répondre

0

Cela ressemble à un bogue dans l'affectation totale du modèle. S'il vous plaît élever un Bugzilla. Je pense que vous devriez avoir un avertissement que vous ne pouvez pas attribuer à un modèle créé.

Essayez plutôt d'utiliser deepclone de l'élément racine ou d'affecter le contenu de la copie.

Cordialement

Ed Willink