Innovator 11 excellence Code generieren mit Eclipse und oaw Eclipse und oaw konfigurieren und zur Code-Generierung mit xpand-schablonen nutzen Albert Scheuerer, René Beckert HowTo www.mid.de
Inhaltsverzeichnis Einleitung... 1 Zweck... 1 Voraussetzungen... 1 Installationsalternativen... 2 Anmerkung zur nachfolgenden Beschreibung... 2 Eclipse Modeling Framework installieren... 2 Eclipse installieren... 2 Start von Eclipse... 2 Eclipse konfigurieren (Proxy-Settings einstellen)... 3 oaw-plug-in für Eclipse und Innovator-Metamodell installieren... 4 openarchitectureware 4.3 installieren... 4 Innovator-Metamodell installieren... 6 Voreingestellte Oberflächenansicht nach der Installation... 7 Einrichten eines Projekts zur Codegenerierung... 8 Innovator-API in das Projekt einbinden... 9 Projekteinstellungen vornehmen... 11 xpand-schablone im Projekt anlegen... 12 Workflow-Datei im Projekt anlegen... 13 Codegenerierung mit den erstellten Schablonen... 16 Einleitung Zweck Das oaw-plug-in für Eclipse hilft bei der Erstellung von xpand-schablonen für die Generierung aus Innovator Object excellence und bietet Funktionalitäten wie Syntax Highlighting, kontextsensitive Vervollständigung von Schlüsselwörtern und automatische Markierung von Fehlern. Das oaw-plug-in besitzt Abhängigkeiten zum Eclipse Modeling Framework. Aus diesem Grund muss diese Komponente vor der Installation des oaw-plug-ins wie in diesem HowTo beschrieben installiert werden. Voraussetzungen Bitte stellen Sie sicher, dass auf Ihrem System Java in der Version 1.5 oder einer neueren Version installiert ist. 1
Installationsalternativen Es gibt zwei Möglichkeiten, die Installation von oaw 4.3 vorzunehmen: Die nachfolgend beschriebene Installation (stellt eine Referenzinstallation her) Falls ein Kollege bereits eine Referenzinstallation (z. B. unter C:\Programme) hat: Das Verzeichnis eclipse des Kollegen auf den eigenen Rechner kopieren (zum Beispiel unter C:\Programme; ein dort eventuell bereits bestehendes Verzeichnis eclipse vorher entweder umbenennen oder löschen) Anmerkung zur nachfolgenden Beschreibung Die nachfolgende Beschreibung bezieht sich auf die Eclipse-Version 3.4 (Ganymede) und die oaw- Version 4.3. Die Installation von oaw bei anderen Versionen von oaw und Eclipse kann von dieser Beschreibung abweichen. Eclipse Modeling Framework installieren Eclipse installieren Um Eclipse zu installieren:» Laden Sie Eclipse Version 3.4 (Ganymede), Distribution Eclipse IDE for Java Developers von der Web-Seite http://www.eclipse.org/downloads/ herunter.» Entpacken Sie die zip-datei in ein beliebiges Verzeichnis (zum Beispiel: C:\Programme); falls in diesem Verzeichnis bereits ein Unterverzeichnis eclipse vorhanden ist, benennen Sie vorher dieses Unterverzeichnis um oder löschen Sie das Verzeichnis, falls es nicht mehr benötigt wird. Start von Eclipse Um Eclipse zu starten:» Rufen Sie aus dem Windows-Explorer eclipse.exe auf (Im Falle der Installation unter C:\Programme zu finden unter C:\Programme\eclipse). Beim erstmaligen Aufruf von Eclipse erscheint der Workspace-Launcher: 2
» Wählen Sie den gewünschten Workspace.» Falls der Workspace-Launcher nicht bei jedem Start von Eclipse erscheinen soll: Aktivieren Sie das Auswahlfeld Use this as the default and do not ask again. Eclipse konfigurieren (Proxy-Settings einstellen) Werden Komponenten in Eclipse nachinstalliert, so lädt Eclipse die erforderlichen Dateien automatisch aus dem Internet. Dazu muss eine funktionierende Internetverbindung existieren. Falls Sie in Ihrem Netzwerk über einen Proxy ins Internet gehen, müssen Sie diesen Proxy in Eclipse konfigurieren. Um einen Proxy zu konfigurieren:» Wählen Sie im Menü Window>Preferences.» Wählen Sie in der linken Baumstruktur den Eintrag General>Network Connections. Die folgende Ansicht erscheint: 3
» Selektieren Sie die Option Manual proxy configuration.» Tragen Sie den Host-Name und Port des Proxies ein.» Betätigen Sie die Schaltfläche [Apply].» Verfahren Sie ggf. ebenso mit den Zeilen HTTPS bzw. SOCKS.» Betätigen Sie die Schaltfläche [OK]. oaw-plug-in für Eclipse und Innovator-Metamodell installieren openarchitectureware 4.3 installieren Um das oaw-plug-in für Eclipse zu installieren:» Wählen Sie im Menü Help>Software Updates» Wechseln Sie zum Reiter Available Software. Folgende Ansicht öffnet sich:» Betätigen Sie die Schaltfläche [Add Site ] Es öffnet sich folgender Dialog: 4
» Geben Sie im Feld Location den folgenden Wert ein: http://www.openarchitectureware.org/updatesite/milestone/site.xml» Betätigen Sie die Schaltfläche [OK].» Selektieren Sie die Checkbox vor der Zeile für das oaw-plugin.» Betätigen Sie die Schaltfläche [Install ].» Betätigen Sie im nachfolgenden Dialog die Schaltfläche [Finish]. Das oaw-plugin wird nun installiert.» Bestätigen Sie den folgenden Dialog mit [Yes]. 5
Das oaw-plugin wurde nun erfolgreich installiert. Innovator-Metamodell installieren Um das Innovator-Metamodell zu installieren:» Installieren Sie analog zum oaw-plugin das Innovator-Metamodell.» Referenzieren Sie dazu die Update-Site http://eclipse.innovator.de/updatesite/11.3.2.» Installieren Sie die aktuellen Komponenten, die in der folgenden Abbildung beispielhaft dargestellt sind:» Starten Sie nach erfolgreicher Installation Eclipse neu, wenn Sie dazu aufgefordert werden. 6
Voreingestellte Oberflächenansicht nach der Installation Beim erstmaligen Aufruf von Eclipse nach der Installation erhalten Sie folgende Oberflächen-Ansicht:» Schließen Sie den Reiter Welcome. 7
Einrichten eines Projekts zur Codegenerierung Eclipse bietet nach der Installation von oaw an, ein Projekt vom Typ openarchitectureware Project zu erstellen. Bei dieser Projektart ist es allerdings nicht möglich, Java-Bibliotheken einzubinden. Insbesondere kann das Innovator-Metamodell nicht in das Projekt eingebunden werden. Aus diesem Grund wird vorgeschlagen, ein Java-Projekt zu erzeugen. Wird eine xpand-schablone geschrieben, so erkennt Eclipse dies automatisch und fügt die oaw-nature zum Projekt hinzu. Um ein neues Projekt anzulegen:» Wählen Sie im Menü File>New>Java Project.» Tragen Sie den Projektnamen ein.» Klicken Sie auf die Schaltfläche [Next].» Erzeugen Sie einen neuen Quelldatei-Ordner namens templates, indem Sie auf den Link Create new Source Folder klicken. Dieser Ordner dient zur Aufnahme der xpand-schablonen, während Java-Klassen im Ordner src abgelegt werden sollten. 8
» Betätigen Sie die Schaltfläche [Finish]. Innovator-API in das Projekt einbinden Um die Innovator-API in das Projekt einzubinden:» Wählen Sie im Package Explorer das neu angelegte Projekt.» Wählen Sie im Kontext-Menu Build Path>Configure Build Path und wählen Sie Java Build Path.» Wechseln Sie auf die Registerkarte Libraries. 9
Der Dialog sollte sich nun folgendermaßen darstellen:» Betätigen Sie die Schaltfläche [Add External JARs ].» Wählen Sie die Datei inojapi.jar aus (nach einer regulären Innovator-Installation zu finden unter $INODIR\java\lib\ext). Der Dialog sollte sich nun folgendermaßen darstellen: 10
» Betätigen Sie die Schaltfläche [Add External JARs ].» Wählen Sie die Datei de.mid.innovator.oaw.adapter.jar aus (nach einer regulären Innovator-Installation zu finden unter $INODIR\java\ Innovator.oaw.adapter\bin) Der Dialog sollte sich nun folgendermaßen darstellen:» Betätigen Sie die Schaltfläche [OK]. Projekteinstellungen vornehmen Dem Projekt muss das Innovator-Metamodell bekannt gemacht werden, so dass Eclipse entsprechende Hinweise bei der Erstellung der Schablonen geben kann. Um dem Projekt das Innovator-Metamodell bekannt zu machen:» Rufen Sie den Eigenschaften-Dialog des Projekts auf.» Selektieren Sie den Abschnitt openarchitectureware.» Selektieren Sie die Option Enable project specific settings.» Deselektieren Sie den Eintrag EMF Metamodels.» Selektieren Sie den Eintrag Innovator excellence Model. 11
Die nachfolgende Abbildung zeigt den Dialog zur Konfiguration der Metamodelle mit aktiviertem Innovator-Metamodell:» Betätigen Sie die Schaltfläche [OK]. Das Innovator-Metamodell ist dem Projekt nun bekannt gemacht worden. Die Java-API von Innovator ist mit der Java-Version 1.5 kompatibel. Hat das im Projekt verwendete JDK die Version 1.6, so muss das Compliance-Level des Compilers auf die Version 1.5 eingestellt werden. Um das Compliance-Level des Compilers einzustellen:» Selektieren Sie im Eigenschaften-Dialog des Projekts den Abschnitt Java Compiler.» Selektieren Sie die Option Enable project specific settings.» Wählen Sie in der Klappbox Compiler compliance level den Wert 1.5 aus.» Betätigen Sie die Schaltfläche [OK]. xpand-schablone im Projekt anlegen Um eine neue xpand-schablone im Projekt anzulegen:» Wählen Sie im Menü File>New>Other» Wählen Sie unter openarchitectorware den Eintrag xpand Template. 12
» Betätigen Sie die Schaltfläche [Next].» Tragen Sie den Dateinamen ein. Innerhalb der Schablone kann auf Innovator-Modelle mittels der Java-API zugegriffen werden. Neben den xpand-schablonen können bei Bedarf im Projekt auf analoge Weise auch xtend- und Check-Dateien angelegt werden. Die Syntax, die den xpand-schablonen sowie xtend- und Check-Dateien jeweils zugrunde liegt, ist auf der Web-Seite http://www.openarchitectureware.org/pub/documentation/4.3.1/html/contents/reference.html dokumentiert. Um mit den erstellten Schablonen Code zu generieren, benötigt man im Projekt eine Workflow-Datei, welche die Schablone(n) referenziert. Workflow-Datei im Projekt anlegen Um eine Workflow-Datei im Projekt anzulegen:» Wählen Sie im Menü File>New>Other...» Wählen Sie unter openarchitectorware den Eintrag Workflow File. 13
» Betätigen Sie die Schaltfläche [Next].» Tragen Sie den Dateinamen ein.» Betätigen Sie die Schaltfläche [Finish]. Der nachfolgend dargestellte Inhalt kann in die leere Workflow-Datei kopiert und entsprechend den Erfordernissen angepasst werden. 14
<?xml version="1.0" encoding="windows-1252"?> <workflow> <property file="workflow.properties"/> <property name="prj.root.dir" value="."/> <property name="src.dir" value="${prj.root.dir}/${srcgenpath}"/> <property name="gendir" value="${srcgenpath } "/> <component id="inosrv" class="de.mid.innovator.oaw4.wf.onlinemodelaccess"> <!-- these params are needed only, if the workflow is startet from eclipse --> <inohost value="${inohost}"/> <server value="${inosrv}"/> <model value="${inomodel}"/> <loginuser value="${inouser}"/> <loginpwd value="${inopwd}"/> <outputslot value="model"/> </component> <component id="generator" class="org.openarchitectureware.xpand2.generator > <metamodel id="mm" class="de.mid.innovator.oaw4.type.inometamodel"/> <expand value="root::root FOREACH model"/> <genpath value="${gendir}"/> <beautifier class="de.mid.model2text.jpdl.xmlbeautifier"/> </component> </workflow>» Erstellen Sie eine neue Datei workflow.properties und kopieren Sie den folgenden Inhalt in diese Datei: Inohost= <Name des Hosts>.<Port des Hosts> inomodel=<name des Modells> inopwd=<passwort des Logins> inosrv=<name des Repositoryservers> inouser=<name des anzumeldenden Nutzers> srcgenpath =<Zielpfad der Generierung>» Ergänzen Sie die Werte entsprechend ihrer Innovator-Umgebung. 15
Codegenerierung mit den erstellten Schablonen Um mit den erstellten Schablonen Code zu generieren:» Wählen Sie im Package Explorer die Workflow-Datei.» Wählen Sie im Kontext-Menü der Workflow-Datei entweder Run As>oAW Workflow oder Debug As>oAW Workflow (Debug). Copyright 2011 MID GmbH Bei Fragen wenden Sie sich bitte an unsere Hotline. Telefon: +49 (0)911 96836-222, E-Mail: support@mid.de. Dieses Dokument finden Sie neben anderen auch im exklusiven Login-Download-Bereich für Innovator-Wartungskunden unter http://www.mid.de/support/. Ihre MID MID GmbH, Kressengartenstraße 10, 90402 Nürnberg Telefon: +49 (0)911 96836-0, Fax: +49 (0)911 96836-100, E-Mail: info@mid.de, Internet: http://www.mid.de Innovator 11.3 HowTo Eclipse oaw 110103.doc 16