2008-10-21 9 views
9

Enterprise Architect hat eine Möglichkeit, die Dokumentation in HTML/RTF/etc zu generieren. die Sie veröffentlichen könnten, aber Sie müssen die GUI dazu verwenden, dies manuell zu tun. Wenn Sie Ihre * .eap-Dateien auf einem CVS/Subversion-Server haben, wäre es nützlich, ein Skript zu haben, das täglich die neueste Version auscheckt und auf einem Webserver veröffentlicht. Solange ich weiß, EA hat kein Befehlszeilenprogramm für diesen Zweck. Ich habe festgestellt, dass Sie fast alles mit seiner COM-Schnittstelle automatisieren können, aber das bedeutet, dass Sie dafür ein kleines Programm schreiben müssen. Irgendwelche Ideen über die einfachste/sauberste Art, dies zu tun (ohne Code schreiben zu müssen, wenn möglich)?So automatisieren Sie die Generierung von HTML-Ausgabe in Enterprise Architect

Antwort

6

Ich fürchte, Sie müssen etwas Code schreiben, aber es sollte nicht mehr als ein Dutzend Zeilen oder so sein. Die Funktion, die Sie aufrufen möchten, ist Project.RunHTMLReport() - eine schnelle Suche nach "RunHTMLReport" in der EA-Hilfedatei wird Ihnen sagen, welche Parameter es benötigt, und eine Suche auf dem Sparx-Website-Forum finden Sie ein oder zwei Beispiele.

7

Danke Schimpanse, Es war einfacher als ich dachte. In 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(); 
    } 
} 
+0

Von http://stackoverflow.com/users/486534/jeff: Der erste arg ist der PackageGUID wie gibst du das zurück? Woher kommt dieser Parameter? –

+0

Es wird in den Paketeigenschaften angezeigt. –

+1

Eine Sache, die ich gerade bemerkt habe: Wenn die EAP-Datei oder das Paket nicht existiert, wird RunHTMLReport nicht sagen: keine Fehlermeldung, keine Ausnahme, nichts. Außerdem scheint es relative Pfade nicht zu mögen. Schließlich ist das letzte arg (output) ein Pfad. Wenn Sie einen Pfad angeben, der nicht existiert oder nicht gültig ist, wird auch nichts automatisch ausgeführt. –