为现有模型中存在的子Epackes生成单独的ecore文件



问题:我有一个ecore文件,其中包含sub-E包。使用这个模型,我试图使用Sirius创建GUI部分。但是Sirius的问题是它不支持包含sub-E包的ecore文件。因此,我们必须提取这些sub-E包来分离ecore文件。但是每个sub-E包都与其他sub-E包有关系。那么,我们如何提取这些sub-E包来分离ecore文件,以便在提取它们之后,单独的ecore文件之间仍然存在关系。

感谢

通过提取它们,ecore编辑器将丢失信息,这意味着一些额外的工作。。。我对天狼星和子电子包也有同样的问题,导致天狼星不断破坏图表。以下是我如何解决提取子包装的问题:

  1. 首先为所需的子包创建一个新的.ecore文件
  2. 使用Sample打开两个.ecore文件(主文件和新文件(ecore模型编辑器(树视图(
  3. 将Package属性复制到新的epackage节点(ns、praefix、,uri(,您需要手动执行此操作
  4. 然后拖放您的全部内容(不包括紫色包裹节点(添加到新的Epackage中
  5. 保存并确保新文件中没有出现错误
  6. 通过单击"加载"将新的.ecore文件加载到主文件中resource"现在您的主文件知道了您的子包中有两种EClass,它们的名称是相同的,但它们的uri是不同

你现在可以简单地用更新的或更智能、更安全的替换所有出现的子包装eclasses

  1. 替换一次etype(在根包中实际使用etype的地方(
  2. 以文本形式打开主.ecore文件,您会看到etype值all有一个像eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"这样的路径。然后你需要知道你的etype路径(从你的子包和新的(有什么不同,这样你就可以简单地替换它们和你的好
  3. 最终删除子包装

希望这能帮助

在eclipse ecore编辑器中,您可以使用弹出菜单中的"加载资源"来加载任何ecore文件并使用其中的对象。

相关内容

  • 没有找到相关文章

最新更新