问题标签 [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 回答
1370 浏览

eclipse-emf - 列出 EMF 应用程序中的所有可用模型

我正在开发一个由两个 Eclipse 插件项目组成的项目。一个是 EMF 项目,包含应用程序的元模型。另一个是在该元模型上工作的实际插件。

我现在正在寻找一种方法来列出元模型项目中可用的所有模型类型。因为我基本上需要所有生成的类,所以我可以使用反射来遍历元模型包,但如果有的话,我更喜欢一种更简单的方法。

这些模型已经被列为扩展,plugin.xml如下所示:

MyModelPackage扩展的地方EPackageorg.myproject.metamodel.MyModel还包含我需要列出的所有其他生成的类。我猜我可以使用该信息,但我仍然不知道如何使用。

更新

我正在从事的项目基于EMFStore。运行它会提供 EMFStore 透视图。如果我有一个项目的导航器视图,我可以右键单击该项目并选择New Model Element. 这将打开一个对话框,其中列出了我的元模型中的所有模型元素,因此它是可能的。它必须在 EMFStore 或其依赖项之一中的某个地方完成。我查看了源代码,但似乎找不到它在哪里完成。

plugin.xml项目的是org.eclipse.emf.emfstore.perspectiveorg.eclipse.emf.emfstore.emfperspective.EMFStorePerspective我在源代码中找不到的类。我通过 Eclipse 导入插件和片段功能导入了项目,它没有源文件夹。在 EMFStore git 存储库中,我什至找不到该项目。

更新

我现在得到了包含使用生成的包的注册表EPackage.Registry.INSTANCE。不幸的是,它包含的不仅仅是来自包含元数据的一个项目的 EPackage ( org.myproject.metamodel)。现在我只是在寻找一种适当的方法来过滤它,但仍然无法掌握它。

更新

由于过滤不是我最初问题的一部分,我接受了@SpaceTrucker 的回答。对于那些好奇的人,这就是我现在的做法:

我找不到过滤项目的方法,但幸运的是所有包都以相同的前缀开头。

0 投票
1 回答
912 浏览

eclipse - Eclipse UML2:获取配置文件中定义的属性的值

我是 eclipse UML2 的新手,遇到了以下问题。

我定义了一个具有两个原型的配置文件:ServiceRequest 和 TransitionEdge。ServiceRequest 使用两个附加属性(cpu、内存)扩展了 Action 元类,TransitionEdge 使用称为“概率”的附加属性扩展了 ActivityEdge 元类。所有这些属性都是定义为 PrimitiveType 的 float 类型。

我创建了一个应用了配置文件和原型的活动图。在活动图中,每条边都是配置文件中定义的一个TransitionEdge,并且已经为概率属性分配了一个值。

有了配置文件和活动模型,我使用以下 Java 代码来加载它们。

对元素调用 getValue 方法时会引发异常。以下是错误信息:

我无法弄清楚发生了什么事。有什么建议么?非常感谢!!

0 投票
1 回答
3199 浏览

dsl - Xtext(DSL 文件)到 Ecore

我有一个 Xtext 项目和几个示例 DSL 文件。我可以使用“Sample Ecore Model Editor”打开这些文件并验证它是否符合 Xtext 生成的元模型。但是,由于 DSL 文件未被识别为 Ecore,我无法创建“EMF 项目”或“EMF 生成器模型”。

我的问题是,如何从example.dsl文件中导出 ecore?

PS我相信这是可能的,因为这个事实

0 投票
2 回答
1521 浏览

eclipse - EMF模型的序列化

我正在掌握 EMF,我想检查一下我脑海中的概念是否准确。

我知道可以在 Eclipse 中创建一个 EMF 模型,然后使用它来生成 Java 代码。

我进一步了解模型可以序列化到磁盘然后再返回,但我不明白这个的用途。

当然可以保存模型文件本身吗?序列化是否有明显的用例?

0 投票
1 回答
125 浏览

gwt - 将 acceleo 与 jboss erai 和 gwt 集成

我必须使用 GWT 在 jboss erai 中创建一个项目,但我想使用 eclipse 建模框架 .ecore 模型使用 acceleo 生成我的模型代码。我做过这些事情。

  1. 使用命令创建 maven 项目

mvn archetype:generate -DarchetypeGroupId=org.jboss.errai.archetypes -DarchetypeArtifactId=cdi-quickstart -DarchetypeVersion=2.2.0.Final

  1. 将项目导入 Eclipse 作为现有的 Maven 项目。

  2. 转到 Acceleo-> 将项目转换为 Acceleo 生成器项目,但一无​​所获。

  3. 然后我去 Acceleo->Convert to Acceleo MTL Projects 并创建了一个新的 acceleo 项目并使用 .ecore 模型为我以前的项目生成了模型,但是在模型类中出现错误,因为我在 String 和其他也作为 E-datatype 获取 EString ,请提出解决方案,我如何在我的 jboss errai maven 项目中使用 acceleo 功能。

我的模板文件如下:

从 .ecore 模型生成的模型之一是

在这里,我将 EString 代替 String 和其他原始数据类型作为 E-Data 类型。

请提出一个解决方案我怎样才能获得相同的java数据和其他处理器

0 投票
0 回答
339 浏览

eclipse-rcp - EMF 验证:正确的方法是什么?

我们目前正在使用 EMF 验证向用户提供直接反馈,以防违反模型约束。

系统设置如下:

  • 记录对模型所做的EContentAdapter所有修改
  • ACommandStackListener在完成Command. 这减少了执行的验证次数。EMFLiveValidator被配置为也报告成功。
  • 每个约束都Notification基于以下标准:
    • 它是对正在验证的实体内容的修改吗?
    • 它是添加被验证实体的修改吗?
    • 是否会以其他方式影响先前计算的验证结果的修改?
  • AValidationListener保留了所有约束失败的实体的列表。它使用新的 SUCCESS 或 FAILED ConstraintStatus 消息更新此列表。它还更新列表以删除不再包含在资源中的 FAILED 实体(因为它们已被删除)。

看来我自己实现了很多功能。是否没有标准的 API / 实现可用于执行以下操作?

  • 跟踪验证状态
  • 跟踪约束使用的属性;仅当这些属性之一发生更改时才重新验证。
    • 与 JFace 数据绑定的ComputedValue工作方式相当。

或者我实际上是在充分利用这个框架吗?如果我将使用 OCL 约束,那么系统是否能够检测到哪些更改会影响约束结果?

0 投票
1 回答
90 浏览

eclipse - 如何在 EList 中设置重复项

我一直在尝试在 EList 设置重复项、字符串。

以下方法禁止添加重复的问题:

我一直在寻找一种解决方法,我发现我需要禁用唯一性,但这可能会影响框架的其余部分。

任何想法,将不胜感激。

谢谢。

0 投票
1 回答
176 浏览

java - EMF 比较代码的编译问题

EMF 比较版本:2.1.0 M6 (2013/03/19 17:50)

我正在尝试按照本指南中的说明使用独立比较。我收到以下编译错误

对于下面的代码

我看到它setMatchEngine被其他一些 API 取代,如下图所示。我不确定如何matchEngine使用该 API 指定新的。

在此处输入图像描述

0 投票
1 回答
69 浏览

eclipse-emf - Create File Browser

I am trying to create a file browser when the user clicks on a button at the property I have generated. The following code I use,it fetches the whole files at my workspace. However,I need to browse over all my PC.

Any ideas!

0 投票
1 回答
418 浏览

java - Eclipse 的 EMF

通过遵循本教程,我才刚刚开始学习 EMF:每个 Eclipse 开发人员都应该了解 EMF(Jonas Helming 和 Maximilian Koegel 撰写)

因此,我下载了一个更新以将 EMF 添加到我的 Eclipse。解压后的文件名为:

emf-xsd-Update-2.8.3

现在我该怎么做?如何在我的 IDE 上安装 EMF?

我如何向 IDE 指定它的存在?!

(我有一个供 Java 开发人员使用的 Eclipse IDE [Mac 上的 Juno] 以及 e2m)

谢谢,