2014-10-08 4 views
0

Я хочу разработать рабочий процесс, чтобы объединить базовые в EA, как описано с помощью графического интерфейса пользователя:Разработка рабочего процесса EA-BaseliningMerge в C#

  1. правой кнопкой мыши на пакете и выберите «контрольный пакет»> «Пакет Baseline "(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#?

+0

Вы разрабатываете надстройку для интеграции в графический интерфейс EA или отдельное приложение? Он имеет отношение к тому, как получить репозиторий на первом этапе. – Uffe

+0

Я разрабатываю пакетное задание. В этом случае автономное приложение. – user2722077

ответ

1

Посмотрите на документацию обоих методов DoBaseLine ... Кажется, что вы можете использовать их только с базовыми линиями, которые фактически хранятся в (или другой) модели. В API нет ничего, что позволяет сравнить с файлом xmi.

Но есть обходное решение. Вы можете импортировать файл xmi в другую модель, создать для нее базовую линию, используя ProjectInterface.CreateBaseline или ProjectInterface.CreateBaselineEx.

Как только у вас есть эта базовая линия, вы можете сравнить ее с пакетом в своей модели и слить его.

Смежные вопросы