在C#中开发EA-BaseliningMerge工作流程

时间:2014-10-08 14:13:47

标签: c# enterprise-architect

我想开发一个工作流来合并EA中的基线,如GUI所述:

  1. 右键单击一个包并选择" Package Control" > "包 基线" (STRG + ALT + B)
  2. 点击"比较模型到文件"
  3. 选择XMI文件
  4. 比较后......
  5. 选择包(在"模型元素"而不是"项目浏览器")>右键单击 - > "从基线合并(带选项)"
  6. 我认为我必须使用以下方法(如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#中执行这些步骤吗?

1 个答案:

答案 0 :(得分:1)

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

但有一个解决方法。您可以将xmi文件导入另一个模型,使用ProjectInterface.CreateBaselineProjectInterface.CreateBaselineEx为其创建基线。

获得此基线后,您可以将其与模型中的包进行比较并合并。