gpt4 book ai didi

java - EMF 扩展现有模型

转载 作者:行者123 更新时间:2023-11-30 04:47:54 27 4
gpt4 key购买 nike

我有一个大型 EMF 模型,更具体地说是来自 MDT 项目的 BPMN2.0 模型。我们的软件有一个要求,就是必须支持 oracle JDeveloper BPMN2 导出格式,该格式几乎对应于 BPMN2.0 模式,但有自己的扩展。这是一个例子:

<startEvent isInterrupting="false" name="Start" id="startEvent0">
<ns2:OracleExtensions>
<ns2:GraphicsAttributes>
<ns2:Position y="225" x="100"/>
<ns2:Size height="21" width="21"/>
</ns2:GraphicsAttributes>
<ns2:FeatureSet>
<ns2:BooleanFeature value="false" name="sync"/>
<ns2:BooleanFeature value="false" name="catchAllErrors"/>
<ns2:BooleanFeature value="false" name="catchAllSystemExceptions"/>
<ns2:StringFeature value="" name="associatedProcess"/>
<ns2:StringFeature value="" name="associatedNode"/>
<ns2:StringFeature value="" name="initiator"/>
<ns2:StringFeature value="operation" name="definedOperationName"/>
<ns2:StringFeature value="PROCESS_DEFAULT" name="generatesEvents"/>
<ns2:StringFeature value="USE_PROCESS_PERMISSION" name="sealType"/>
</ns2:FeatureSet>
<ns2:Participant/>
</ns2:OracleExtensions>
<outputSet/>
<messageEventDefinition/>
</startEvent>

ns2 有一个 XSD 架构,因此我可以轻松生成相应的 eCore 模型。我这两天试图解决的问题是如何以正确的方式将 OracleExtensions 模型“插入”现有的 BPMN2.0 eCore 模型。我试图实现的目标是使用 BPMN2.0 建模器插件编辑模型,并提供扩展属性来编辑 Oracle 特定的功能。

非常欢迎任何建议!

最佳答案

这听起来像是 EMF Facet 的任务:

The problem when you develop a tool is that you can never imagine all the possible extensions that the final user will really want. That's why EMF Facet proposes a solution to extend existing Ecore metamodels without having to modify them.

The idea is to provide non-intrusive mechanisms to add new features (types, attributes, operations and references) to a metamodel and to customize the existing features by adding extra properties (icons, labels, etc.)

关于java - EMF 扩展现有模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com