- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经加载了一个带有 uml 图的 xmi 文件。结果我得到了一个 org.eclipse.uml2.uml.Package。
现在我想以编程方式将其转换为 Ecore (ePackage)。
我已经看过 org.eclipse.uml2.uml.util.UMLUtil 中的 UML2EcoreConverter。但我不清楚它的转换方法。
最佳答案
与其直接访问 UML2EcoreConverter,不如看看
org.eclipse.uml2.uml.util.UMLUtil.convertToEcore(包, map )
它接受一个包和一个 Map 选项并返回转换后的 EPackage(s)。可以将 UMLUtil.UML2EcoreConverter.OPTION__* 中的选项作为键提供给选项映射。可能的值为 UMLUtil.OPTION_DISCARD/OPTION_IGNORE/OPTION_PROCESS/OPTION_REPORT。所有选项默认为 OPTION__IGNORE。
这些选项中的大多数用于处理未完全映射到 Ecore 的 UML2 类图的概念,因此您可以控制它们的处理方式。
对于扩展特征映射(子集/联合,重新定义...),请参阅 OPTION_REDEFINING*、OPTION_SUBSETTING*、OPTION__UNION_PROPERTIES、OPTION_DUPLICATE*。将所有这些设置为 OPTION_PROCESS 应该没问题。
您可能想要禁用的一个选项是 OPTION__SUPER_CLASS_ORDER。这将按字母顺序重新排列泛化和接口(interface)实现,这可能会在您想要继承特定的 super 实现时引起实现问题。另一个是 OPTION__CAMEL_CASE_NAMES,它将处理类和功能名称以强制执行严格的驼峰式大小写方案。这仅在您的 UML 工件没有有效的 Java 名称的情况下才有意义。只需将它们设置为 OPTION_IGNORE,或者设置为 OPTION_REPORT 以查看它们将在何处进行更改。
还有一个 convertFromEcore(...) 用于反向。
如果您想更好地了解 UML2EcoreConverter 的内部工作原理:它基本上是一个遍历 UML 模型的简单递归访问器,将每个工件转换为其 Ecore 等效项并进行一些清理。它扩展了 UMLSwitch 来处理不同的元类。例如,要查看 UML 属性如何转换为 EStructuralFeature,请查看 caseProperty(...)
关于uml - eclipse : how to programmatically convert UML to ecore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11016477/
这是我的问题> 目前,我们的应用程序有多种 Ecore 模型。其中一个 Ecore 模型 (mainModel.ecore) 具有在所有其他模型中通用的东西。所以,我想要做的是让所有其他模型都引用该模
为了了解上下文,我目前正在研究 ecore 到 java 模型的转换。实际上,我正在读取一些ecore文件并生成一个字符串,该字符串恰好是有效的java接口(interface)源代码。 作为示例,这
我一直在遵循这些指南: http://www.vogella.com/tutorials/EclipseEMF/article.html http://www.eclipse.org/ecoretoo
我在 xsd 文件中有一个架构。偶尔会创建一个新版本的模式,我需要更新我的 .ecore(和 .genmodel)。我如何更新它们,而不删除它们并重新生成它们。我对 ecore 进行了一些手动修改,我
我想检索 Ecore 类的包含内容。所以我有一个像这样的结构: class SuperClass{ protected EObject superClassProperty; } clas
我的 Xtext 编辑器抛出 com.google.inject.CreationException:Guice 创建错误: 1)打开时注入(inject)方法出错,java.lang.Excepti
我使用 EMF 来存储应用程序的主要数据。然而,ECore 模型随着时间的推移而不断发展。每次新版本发布时,我都会为我的包使用不同的基本 URI。这样,文件存储的版本就非常清楚。 我想添加一个向后兼容
我有多个用于不同目的的 Ecore 文件。我现在正在开发一个使用多个模型的工具。 我可以开发一个引用其他模型的 ECore 模型吗?例如,当我有 A.Ecore 和 B.Ecore 时,如何创建一个
任何人都可以解释 EAnnotation 在 ecore 中的使用,根据其特定领域(即, 来源, 细节, EModel 元素, 内容,以及 引用)。我查看了它的 API documentation h
我正在通过 EMF 中的 Ecore 定义领域特定建模语言的元模型。因此,我从相关的 genmodel 生成一个编辑器,我可以使用它来创建符合元模型的模型。我想对元模型的某些元素可以假定的值指定一些
我有个问题: 在我的建模工具(企业架构师)中,我对元模型(基于 UML)进行了建模。 现在我想将元模型转换为 Ecore。但我不知道该怎么做。 在 Enterprise Architect 中,我可以
在我们的项目中,我们的目标是对具有一系列组件的系统进行建模,每个组件都有一个输入和输出列表。我们希望区分输入和输出,因此我们不希望它成为一个大的 EFloats 列表,而是希望创建一个自定义数据类型,
作为我项目的一部分,我使用 Ecore 图创建了类图并从中生成了一个模型。我使用本教程作为我的引用..http://www.vogella.com/articles/EclipseEMF/articl
是否有任何关于 OpenMP 如何与新的第 12 代英特尔 ecores 和 pcores 一起工作的讨论?这会不会成为 !$omp parallel do 的噩梦,所有线程都应该有类似的工作负载?我
使用 Xcore 定义元模型比使用 EMF 和 Ecore 容易得多。问题是我需要元模型作为 Ecore 文件。是否可以将 Xcore 模型导出到 Ecore 模型?我在 Eclipse 中没有看到任
我知道这样一个事实,当涉及到继承时,我无法在基于 ecore 的模型中整体覆盖或重新定义属性。但是我可以以某种方式为现有的继承属性分配一个新值吗? 例如。 A 类定义了属性名称,它是一个字符串,默认值
将 .ecore 文件转换为 .xsd 文件的最佳方法是什么? 最佳答案 您需要拥有该功能 XSD 生态转换器 已安装(它是 EMF 项目的一部分)。 然后,您可以打开 ecore 生成器模型(扩展名
首先,我是 eclipse 建模功能的新手,所以这个问题可能是微不足道的,但我正在寻找几天并没有找到答案。 我创建了一个带有 ecore 建模项目的 ecore 元模型文件。 URI 是这样的:/co
我已经加载了一个带有 uml 图的 xmi 文件。结果我得到了一个 org.eclipse.uml2.uml.Package。 现在我想以编程方式将其转换为 Ecore (ePackage)。 我已经
我使用 xtext 构建了 DSL。我可以找到我的DSL的ecore文件,它是由xtext生成的。现在我想将这个ecore文件转换为ecorediag文件。这可能吗?我应该使用哪些工具? 最佳答案 使
我是一名优秀的程序员,十分优秀!