[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.modeling.gmt.amw] [AMW] ATL and xmiID

Hi,

I try to use ATL to perform such kind of transformation:

Input model : A
Output models : B, W, C

where B and C are "linked" by the weaving model (for further information, B is a class metamodel with attribute elements, and C is a table with column elements, W is linking attributes to elements).

Currently, I set the B.attributes and C.columns refs with target __xmiID__. However, whereas it was working perfectly, it began to fail when I modified the C meta-model (I just added a composite link on the column element), and thus the ATL transformation respectively. Failure is identified with broken links in the weaving navigator. When I look at the file in text mode, the references are indeed not uniform regarding the C elements (table columns).

To illustrate the problem, here are the links before the changing of the C model:
<rightModel xsi:type="ModelRefXMI" name="Data Table" ref="/FirstExample/SVF/Models/DataTable.ecore">
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.0"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.1"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.2"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.3"/>
</rightModel>


and after:
<rightModel xsi:type="ModelRefXMI" name="Data Table" ref="/FirstExample/SVF/Models/DataTable.ecore">
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.0"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.1"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="/0/@columns.2"/>
<ownedElementRef xsi:type="ElementRefXMI" ref="//@columns.3"/>
</rightModel>


I do not understand the problem. I also tried to set the __xmiID__: If I set it manually (for example, by setting it with the related input __xmiID__), the weaving model does work in the navigator. But this is of course not a solution! I also tried to use the setElementIDbyRefType, but without any success (maybe I do not use it in the correct manner?).

Have someone any idea of the problem? I'm certainly doing something wrong but I can't figure out the problem.

Brice.