Как автоматизировать создание вывода HTML в Enterprise Architect

У Enterprise Architect есть способ генерировать документацию в HTML / RTF / и т. Д. которые вы могли бы опубликовать, но вы должны использовать его графический интерфейс, чтобы сделать это вручную. Если у вас есть файлы * .eap на сервере CVS / Subversion, было бы полезно иметь сценарий, который будет ежедневно проверять последнюю версию и публиковать ее на веб-сервере. Насколько мне известно, у EA нет утилиты командной строки для этой цели. Я обнаружил, что с помощью его COM-интерфейса можно автоматизировать практически все, но это означает, что для этого необходимо написать небольшую программу. Есть идеи о самом простом / чистом способе сделать это (без необходимости писать код, если это возможно)?


person Fabio Ceconello    schedule 21.10.2008    source источник


Ответы (2)


Боюсь, вам нужно будет написать код, но не более десятка строк или около того. Вы захотите вызвать функцию Project.RunHTMLReport () - быстрый поиск «RunHTMLReport» в файле справки EA подскажет вам, какие параметры ему нужны, а поиск на форуме веб-сайта Sparx найдет вам один или два примера.

person chimp    schedule 23.10.2008

Спасибо, шимпанзе, это было проще, чем я думал. В Java:

class EADump
{
    public static void main(String[] args)
    {
     org.sparx.Repository r = new org.sparx.Repository();

     System.out.println("Repository: " + args[0]);
     System.out.println("Package:    " + args[1]);
     System.out.println("Output:     " + args[2]);
     r.OpenFile(args[0]);
     r.GetProjectInterface().RunHTMLReport(args[1], args[2], "GIF", "<default>", ".html");
     r.CloseFile();
    }
}
person Fabio Ceconello    schedule 24.10.2008
comment
Из stackoverflow.com/users/486534/jeff: 1-й аргумент - это PackageGUID, как его вернуть? Откуда этот параметр? - person Fabio Ceconello; 26.10.2010
comment
Я только что заметил одну вещь: если файл EAP или пакет не существует, RunHTMLReport не сообщит вам: ни сообщения об ошибке, ни исключения, ничего. Кроме того, мне не нравятся относительные пути. Наконец, последний аргумент (вывод) - это путь. Если вы укажете путь, который не существует или недействителен, он тоже ничего не сделает. - person Fabio Ceconello; 26.10.2010
comment
Справа от EA: Чтобы получить GUID, щелкните правой кнопкой мыши диаграмму, пакет или элемент в Диспетчере проектов и выберите пункт контекстного меню «Копировать ссылку». - person Pedro Dusso; 22.08.2013
comment
Что ж, я все еще получаю Неуместный аргумент. сообщение. Любая идея? - person Pedro Dusso; 22.08.2013
comment
Ну, мне не хватало {} вокруг GUID пакета ... Он должен быть с ними - {E9EB7335-C586-4bc2-84E8-CFAD6A856362}. - person Pedro Dusso; 22.08.2013
comment
Кто-нибудь пробовал запустить это как запланированное задание? Кажется совершенно невозможным. Есть технический документ, объясняющий, как запустить его как интерактивную службу, но я хочу, чтобы он запускался полностью без присмотра из запланированной задачи, когда пользователь, от имени которого она запускается, не вошел в систему. - person Anttu; 22.12.2014