|EMFModelAdapter has and strange behaviour with UML models [message #897794]
||Wed, 25 July 2012 05:10
| Miguel Llàcer San Fernando
Registered: July 2009
we have a set of ATL transformations where we maintain the xmiIDs of the generated models. After migrating the code to use the ATL emfvm, we have detected that xmiIDs are regenerated.
Debugging on the emfvm, we have realized that the EMFExtractor.class executes the recreateResourceIfNeeded() method where new models are recreated and so the xmiIDs are regenerated.
To solve part of our problem, we don't use the EMFExtractor and generated models are saved manually. But doing that, UML models are saved without xmiIDs...
Debugging more, we have seen that the EMFModelAdapter.class executes the finalizeModels() method where new models are modified if exists duplicated elements in the root of the resource.
Our transformations generates distinct models that conforms to distinct metamodels (UML, Ecoretools database, AMW Traceability, Sketcher, UIM) but only the UML generated models are modified in the finalizeModels() method because they reach to this method with strange structure where all the elements of the model are duplicated in the root of the resource.
Could be that the UML models are specially treated with the ATL emfvm ?¿?
Thanks a lot