在C#中开发EA BaselingMerge工作流

本文关键字:BaselingMerge 工作流 EA 开发 | 更新日期: 2023-09-27 18:25:54

我想开发一个工作流,通过GUI:在EA中合并基线

  1. 右键单击软件包并选择"软件包控制">"软件包基线"(STRG+ALT+B)
  2. 单击"将模型与文件进行比较"
  3. 选择XMI文件
  4. 经过比较
  5. 选择包(在"模型元素"中,而不是在"项目浏览器"中)>右键单击->"从基线合并(带选项)"

我认为我必须使用以下方法(如EA Class API中描述的),但我不知道如何使用这些方法:

EA.App eaApp = new EA.App();
EA.Repository repository = null;
if (eaApp.Repository.OpenFile2(/*FileOrDB*/"...", /*User*/"...",/*PWD*/"...")){
    repository = eaApp.Repository;
    repository.GetProjectInterface().DoBaselineCompare(...);
    repository.GetProjectInterface().DoBaselineMerge(...);
}

有人能给我发一个在C#中执行这些步骤的例子吗?

在C#中开发EA BaselingMerge工作流

查看两个DoBaseLine的文档。。。方法似乎只能将这些方法与实际存储在(或另一个)模型中的基线一起使用。API中没有允许您与xmi文件进行比较的内容。

但有一个变通办法。您可以将xmi文件导入到另一个模型中,并使用ProjectInterface.CreateBaselineProjectInterface.CreateBaselineEx为其创建基线。

一旦你有了这个基线,你就可以将它与模型中的包进行比较并合并。