问题标签 [emf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
441 浏览

java - 如何将 EMF 模型保存到文件夹和文件的层次结构中

我正在实现一个商业 RCP 应用程序,用户可以在其中创建这种格式的项目:

  • 项目1
    • 子元素 1
    • 子元素2
      • 子子元素1
  • 项目2
  • ……

等等

我正在使用 EMF 对数据域进行建模,并且我想保存数据。我希望为每个项目创建一个文件夹和文件的层次结构,例如文件夹 1 应该是 Project1,其中包含一个包含一些 xml 文件的文件夹 SubElement1。等等

我找到了保存 EMF 模型的示例,但我不知道如何将这个文件夹文件层次结构保存在一个 EMF 资源下......

0 投票
1 回答
1105 浏览

uml - 将构造型应用于属性作为关联结束抛出 IllegalArgumentException

我在http://www.eclipse.org/forums/index.php/t/367608/上问过同样的问题

我想将针对 UML 属性定义的构造型应用于关联中使用的属性。我遇到的问题是,在将构造型用于关联相关属性的情况下会引发 IllegalArgumentException。如果我将构造型应用于在类中用作属性的属性,一切都很好。

这是异常抛出部分的代码片段:

引发以下 IllegalArgumentException。

我用过UML=http://www.eclipse.org/uml2/3.0.0/UML

似乎 p1 不再是一个属性。任何人的想法?会很好。谢谢,马丁

编辑1:

经过一番调试,我发现流程中方法的调用首先是成功的。在调用方法 finalizeModel 之前,一切都很好。当调用 ATL UML2ModelAdapter 中的方法 finalizeModel 时,会抛出堆栈跟踪:

0 投票
1 回答
96 浏览

xml - Eclipse 建模框架 - 无法加载 plugin.xml

我一直在关注本教程:

http://www.vogella.com/articles/EclipseEMF/article.html

我无法处理 Step

5.2. 运行你的插件

我正在尝试打开 plugin.xml 文件,但它给了我一个错误:

编辑器中不支持的内容

0 投票
2 回答
1665 浏览

eclipse-emf - 在 Acceleo 中加载 2 个不同的输入模型

我想在我的 Acceleo 主模板中加载 2 个不同的输入模型(一个 .bpel 和一个 .wsdl)。

我为 bpel 和 wsdl 加载了 ecore 元模型,我希望能够使用这样的东西:

但是当我运行 acceleo 模板时,我得到了这个错误:

我想我必须修改 java 启动器(generate.java),因为现在它不能将 2 个模型作为参数。你知道如何?谢谢!

** Kellindil 建议编辑:

只是想知道我是否理解正确,然后再进行修改:我正在尝试修改 Generate() 构造函数。我将其更改为:

在一般情况下,我可以看到它调用 AbstractAcceleoGenerator.initialize(URI, File, List>?>),我应该调用它两次,每个模型一次吗?喜欢:

然后,在我的 Generate() 构造函数中模仿超级实现中的代码:

我该怎么办?在 initialize() 调用之后,我是否应该尝试在我的 Generate() 构造函数中模仿这个方法正在做什么?

0 投票
1 回答
1066 浏览

xtext - 访问 Xtext 的运行时 EMF 模型

我通过 Xtext 创建了一个 DSL,现在我需要将编辑器中创建的模型转换为另一个模型。我想最直接的方法是使用某种 M2M 转换框架,但我需要访问文本文件背后的模型。问题:如何获得对模型的引用?

0 投票
3 回答
771 浏览

java - 当 EObject 包含无序 EList 时,如何比较它们之间的相等性?

我仍然是 EMF 的新手,所以也许我的问题没有真正意义,或者我假设错误。

我正在做一个模型驱动的项目,所以我定义了一个 ecore 元模型并生成了关联代码。现在我正在尝试进行单元测试,我需要能够测试对象之间的相等性,尤其是扩展 EObject 的对象之间的相等性。

我尝试使用 EcoreUtil.equals() 进行测试,但它总是返回 false,因为我的对象包含列表(类 EList)中的引用,这些引用的排序方式不同。但是,我在我的元模型中明确定义了引用没有排序:我想使用它们更像是 Set 而不是 List。

所以,我最终决定在我生成的 *Impl 类中实现我自己的 equals 方法,即使它在 javadoc 中不鼓励,但它还有另一种更优雅的方式来测试 EMF 对象之间的结构相等性,而不考虑顺序清单?

谢谢!

0 投票
1 回答
106 浏览

xml - 将节点附加到 EMF 数据模型实例 XML

我使用 Eclipse 建模框架创建了一个数据模型。这是 XML 形式的数据模型的一个实例。

我想containsRuleElement用用户输入数据动态附加类型的引用。我正在使用 DOM 解析器来读取 xml,但我不知道如何附加类型containsRuleElement类型的节点。该节点containsRuleElement不是节点类型Element,因为它缺少标签。有人知道如何附加这样的节点吗?我可以为此使用 DOM 吗?

0 投票
1 回答
3567 浏览

eclipse-emf - 如何在 ecore 和 gen 模型中使用默认值 = null 设置枚举引用?

我有一个 Eclass Vehicle,它有一个 enum 属性BreakType breakType

BreakType在相同的 Ecore 模型中定义为:

我想将属性breakType默认设置为空。为此,我为属性设置了以下breakType属性->

在生成 gen-model 和代码之后我得到的是

默认情况下,如何将其设置为 null?

0 投票
1 回答
310 浏览

reference - 如何在 EMF 中创建对不同模型 XMI 的引用

我有一个包含 2 个类的 EMF 图。个人和团体。我正在尝试将这 2 个类保存到 2 个不同的 XMI 文件中。它必须看起来有点像这样

组.xmi

人物.xmi

我知道这是可能的......但我无法重新创建它......我只能通过嵌入组中的人员来获取 XMI。

任何提示/提示/教程...关于这个?

0 投票
1 回答
4972 浏览

xmi - 在 XTend 中加载 EMF 模型实例

我正在 XTend 中构建一个代码生成器,其中我已经有一个输入模型和元模型。也就是说,我使用 ATL 为我的 XTend 代码生成器生成输入模型(作为转换序列的一部分,以逐渐降低抽象级别,而不是一次;这就是我不使用 xtext 创建语法的原因) .

所以要非常清楚,我的代码生成器输入模型是 XMI 格式的文件,而不是 xtext 项目的语法(甚至不使用它)!我认为这给我带来了问题/困惑。

我使用现有模型创建了一个新的 XText 项目,右键单击 .text 文件,运行为,生成人工制品,然后我对 mwe2 文件做了同样的事情。

下一步是什么,我做得对吗?如何启动我的代码生成器?所有示例都来自您使用 XText 创建 DSL 的 POV。我有一个 EMF 元模型和一个基于 XMI 的实例。如何使用 XTend 进一步处理?

任何指向教程的提示或指针都是有帮助的。

解决方案:

该解决方案正如 Sven 在我接受的答案中所建议的那样,但我还想指出,您需要使用 genmodel 从您的元模型生成 Java 工件。此链接显示如何:http ://www.vogella.com/articles/EclipseEMF/article.html ,请参阅第 4 节。这可能看起来太合乎逻辑了,但我认为无论如何都值得注意。