问题标签 [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.
java - 如何将 EMF 模型保存到文件夹和文件的层次结构中
我正在实现一个商业 RCP 应用程序,用户可以在其中创建这种格式的项目:
- 项目1
- 子元素 1
- 子元素2
- 子子元素1
- 项目2
- ……
等等
我正在使用 EMF 对数据域进行建模,并且我想保存数据。我希望为每个项目创建一个文件夹和文件的层次结构,例如文件夹 1 应该是 Project1,其中包含一个包含一些 xml 文件的文件夹 SubElement1。等等
我找到了保存 EMF 模型的示例,但我不知道如何将这个文件夹文件层次结构保存在一个 EMF 资源下......
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 时,会抛出堆栈跟踪:
xml - Eclipse 建模框架 - 无法加载 plugin.xml
我一直在关注本教程:
http://www.vogella.com/articles/EclipseEMF/article.html
我无法处理 Step
5.2. 运行你的插件
我正在尝试打开 plugin.xml 文件,但它给了我一个错误:
编辑器中不支持的内容
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() 构造函数中模仿这个方法正在做什么?
xtext - 访问 Xtext 的运行时 EMF 模型
我通过 Xtext 创建了一个 DSL,现在我需要将编辑器中创建的模型转换为另一个模型。我想最直接的方法是使用某种 M2M 转换框架,但我需要访问文本文件背后的模型。问题:如何获得对模型的引用?
java - 当 EObject 包含无序 EList 时,如何比较它们之间的相等性?
我仍然是 EMF 的新手,所以也许我的问题没有真正意义,或者我假设错误。
我正在做一个模型驱动的项目,所以我定义了一个 ecore 元模型并生成了关联代码。现在我正在尝试进行单元测试,我需要能够测试对象之间的相等性,尤其是扩展 EObject 的对象之间的相等性。
我尝试使用 EcoreUtil.equals() 进行测试,但它总是返回 false,因为我的对象包含列表(类 EList)中的引用,这些引用的排序方式不同。但是,我在我的元模型中明确定义了引用没有排序:我想使用它们更像是 Set 而不是 List。
所以,我最终决定在我生成的 *Impl 类中实现我自己的 equals 方法,即使它在 javadoc 中不鼓励,但它还有另一种更优雅的方式来测试 EMF 对象之间的结构相等性,而不考虑顺序清单?
谢谢!
xml - 将节点附加到 EMF 数据模型实例 XML
我使用 Eclipse 建模框架创建了一个数据模型。这是 XML 形式的数据模型的一个实例。
我想containsRuleElement
用用户输入数据动态附加类型的引用。我正在使用 DOM 解析器来读取 xml,但我不知道如何附加类型containsRuleElement
类型的节点。该节点containsRuleElement
不是节点类型Element
,因为它缺少标签。有人知道如何附加这样的节点吗?我可以为此使用 DOM 吗?
eclipse-emf - 如何在 ecore 和 gen 模型中使用默认值 = null 设置枚举引用?
我有一个 Eclass Vehicle
,它有一个 enum 属性BreakType breakType
。
BreakType
在相同的 Ecore 模型中定义为:
我想将属性breakType
默认设置为空。为此,我为属性设置了以下breakType
属性->
在生成 gen-model 和代码之后我得到的是
默认情况下,如何将其设置为 null?
reference - 如何在 EMF 中创建对不同模型 XMI 的引用
我有一个包含 2 个类的 EMF 图。个人和团体。我正在尝试将这 2 个类保存到 2 个不同的 XMI 文件中。它必须看起来有点像这样
组.xmi
人物.xmi
我知道这是可能的......但我无法重新创建它......我只能通过嵌入组中的人员来获取 XMI。
任何提示/提示/教程...关于这个?
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 节。这可能看起来太合乎逻辑了,但我认为无论如何都值得注意。