Как создать ссылки на различные модели XMI в EMF

У меня есть диаграмма EMF, которая содержит 2 класса. Человек и группа. Я пытаюсь сохранить эти 2 класса в 2 разных файла XMI. Это должно выглядеть примерно так

Group.xmi

<XMI>
 <Group>
  <Person id="1"/>
  ...
  ...
 </Group>
 ...
</XMI>

Person.xmi

<XMI>
 <Person id="1">
  <Name>
 </Person
<XMI>

Я знаю, что это возможно... но я не могу воссоздать его... Я могу получить XMI только с людьми, встроенными в группу.

Любые советы / подсказки / учебники... по этому поводу?

1 ответ

Решение

Нашел ответ.

Во-первых, вам нужно убедиться, что у каждого экземпляра есть свой уникальный идентификатор... это можно сделать, установив идентификатор в конструкторе с помощью EcoreUtil:

SETID (EcoreUtil.generateUUID());

После этого вам нужно убедиться, что этот человек сначала создан в файле XMI, а затем сохранить группу. Простое сохранение группы без предварительного сохранения этого лица приведет к тому, что ваше лицо будет включено в эту группу и только в эту группу.

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