我有一个大型 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 的功能。
非常欢迎任何建议!