问题标签 [ecore]
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.
eclipse - 在ecore中创建动态实例时,是否可以创建多个基类的对象?
和上面的模型一样,Ecore 让我可以在一个学校实例中创建多个学生。如何在同一实例中创建多个学校对象?
eclipse-emf-ecore - ATL 转换规则与嵌套的 BPMN2 元素不匹配
我正在编写从 BPMN2 到另一个模型的 ATL 翻译。问题是代码没有检测到任何嵌套元素。
我已经在此处发布了 atl 代码和我的输入:https ://github.com/behnaaz/BPMN2ATL.git
您可以从输出中看到,唯一执行的规则是 def2mod,它在输出中创建了一个 Reo 模块元素。
如果我删除输入 bpmn 文件中的第一级元素,则会启动规则 mapProcess。
同样在日志中,命令 BPMN20!Process.allInstances() 应该提供所有流程的列表,仅适用于 mapProcess 规则。
我认为解析我的 bpmn 模型存在一些问题。非常感谢帮助!
=== ATL 代码 ====
=== BPMN 输入 ===
eclipse - 将图表添加到 EMF 模型
我正在编写从 BPMN2 到另一个模型的 ATL 翻译。目标模型编辑器需要一个 GMF 图来打开 ATL 转换的输出。在下面的规则中,我创建图表的问题是图表和模型没有写在同一个文件中。如果我为他们的输出选择相同的文件,一个会覆盖另一个。
我已经在此处发布了 atl 代码和我的输入:https ://github.com/behnaaz/BPMN2ATL.git
将这些文件的内容合并到一个文件中也无济于事。输出生成为:文件 1:
文件 2:
eclipse - 两个ecore之间的引用
我有 A.ecore,我在其中创建了类和 ORBAC.ecore,其中有规则和权限类
如何进行引用,以便 A.ecore 中的类可以引用 ORBAC.ecore 中的类权限
xml - eclipse中xml和emf模型的兼容性
对于我的项目,我有一个 emf 模型。该模型是从我从后端获得的数据中填充的,作为 xml 的休息响应。我需要更改后端响应以向元素添加新属性。现在 emf 模型抛出兼容性错误,指出未找到新属性。有什么方法可以使 emf 模型与新的 rest xml 响应兼容。意思是说 emf 模型应该忽略 xml 的新属性并填充其余的东西。这是因为我也想为老客户提供支持。
eclipse - 如何在 Acceleo 项目中设置自定义元模型?
我尝试从我的自定义元模型中制作生成器。我是由 Obeo Designer 创建的——它是 ecore 元模型。
所以我创建了新的 Acceleo 项目,从“运行时版本”中选择我的元模型 URI ( http://org/model/ros ) 并尝试运行它。
但项目无法运行,我得到异常:
我想我应该设置我的自定义元模型,但我该怎么做呢?
编辑:
我添加了这个代码行:
resourceSet.getPackageRegistry().put("http://org/model/ros", Package.class);
但我得到了同样的错误。http://org/model/ros
是我的元模型 nsUri 并且Package.class
是我的元模型对象中的元素实例。:(
我还能做什么?:(
eclipse-emf - 以编程方式指定派生属性的实现
我想derived
在 ecore 模型中使用属性和引用,但到目前为止,我还没有找到任何关于如何为计算派生属性/引用值的方法设置代码的文档。
据我了解,基本工作流程是将属性/引用标记为derived
,生成模型代码,然后手动添加实现。但是,我使用通过 Ecore API 动态生成的模型。有没有办法获取一个字符串并将这个字符串指定为计算派生特征的实现,而无需手动编辑生成的文件?
编辑>
澄清一下:我正在寻找一种直接更改生成的 Java 文件的方法,方法是为派生的 EStructuralFeatures 的 getter 指定方法体(作为字符串)。
java - 是否可以在 EMF 中将 POJO 作为 ESuperType?
问题/问题
给定一个来自非 EMF 感知 API 的普通 Java 类,例如
并且让我们假设我不允许更改或重新编译这个类(因为它来自 API)。
是否有任何简单的方法可以将此类用作 EMF 中 EClass 的 ESuperType?(当然,单个类只是一个示例。我需要包装一个由 30-50 个类组成的 API ...)。
自己的想法
就个人而言,我认为开箱即用是不可能的。
我只能想到两种方法,都比较费力,也不容易实现。
创建一个 Ecore 模型,它反映了原始类(
EBankAccount
、 haveownerName
和accountNumber
asEAttributes
)和一个实用方法/机制,该实用方法/机制通过将原始对象的字段复制到相应的对象中EStructuralFeatures
并添加EAdapter
负责同步两个对象的 s 来包装原始对象。连接到 EMF.CodeGen 并在那里做一些魔术,这使得在生成的代码中可以将原始类作为超类,同时仍然履行 EMF 合同(= 实现
EObject
接口等)。
但也许 EMF (或现有的扩展)有一些隐藏的功能可以按照这些方式做一些事情,我不知道吗?
eclipse - 超类和子类的不同表示
我是使用 Sirius 创建编辑器的新手,我有以下 EMF 模型:
我想为给定的元模型创建一个 Sirius 编辑器,其中 和 具有不同的表示Superclass A
形式Subclass B
。
这两个类A
都B
可以被实例化并且Class B
具有额外的属性和引用。在 的表示中Subclass B
,我只想显示来自 的有限数量的属性Superclass A
和来自 的一些附加属性Subclass B
。
现在的想法是拥有不同的容器,并根据我想要显示相应容器的类。到目前为止,当我在 Sirius 编辑器中定义了两个容器时,每个类一个,然后我创建了一个实例,Subclass B
我现在在表示中得到了两个容器,一个表示用于表示,一个表示表示用于Superclass A
表示Subclass B
。
有什么办法可以告诉 Sirius 只显示相应类的容器?
java - 检索 Ecore 类的容器
我想检索 Ecore 类的容器。所以我有一个这样的结构:
现在我想获取子类(subClassProperty)的所有包含。我这样做:
但是如果我这样做,我也会得到超类的继承容器(superClassProperty)。我如何才能检索给定类中包含的那些(只是 subClassProperty)?