微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保存模型时的 EMF 悬空参考

如何解决保存模型时的 EMF 悬空参考

我已经用 EMF 创建了一个模型,我希望能够使用编辑器保存我的模型并在以后打开它。 例如,假设我的模型有 3 个类:A、B、C 和 R。R 是根父级。类 C 有一个对 A 的引用,一个对 B 的引用。 当我编辑模型时,一切正常。但是如果我想将我的文件保存到另一个位置,我可以打开它,但我不能再保存它,而不会收到一条错误消息,告诉我我的 C 对象中的引用是悬空引用。 保存时的xml文件是这样的,供我参考:

<refToA ="//@CompElement.0/@composit/@parts.0">

我试图在我的 ecore 文件中将 containsable 设置为 true。悬空引用消失,但在保存后,如果我触摸 B 的属性,则更改不适用于引用,因为现在我有两个 B 对象。

如何正确制作参考并保存?

解决方法

我的模型有 3 个类:A、B、C 和 R

你的意思是你的元模型有 3 个 EClasses/元类 A、B、C 和 R。

R 是根父级

模型的根元素是 R 类型。 如何包含 A、B 和 C?

当我编辑模型时,一切正常。但是如果我想把我的文件保存到另一个位置,我可以打开它但我不能再保存了

我怀疑简单地将您的资源保存到某个位置或其他位置是否会对您的模型产生重大影响。您如何编辑它并将其保存到另一个位置?

,

我找到了解决方案。 在我的 XMI 文件模型中保存如下:

<R>
  <C refA... refB...>
  <\C>
  <A><\A>
  <B><\B>
<\R>

像这样保存A和B对象后需要放置引用:

<R>
  <A><\A>
  <B><\B>
  <C refA... refB...>
  <\C>
<\R>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?