Modellierung und Produktkonfigurierung

Hello-Fakor-IPS®

Im ersten Schritt dieses Tutorials legen wir ein Faktor-IPS® Projekt an, definieren eine Modellklasse und generieren Java-Sourcecode zu dieser Modellklasse.

Falls Sie Faktor-IPS® noch nicht installiert haben, tun Sie das jetzt. Die Software und die Installationsleitung finden Sie auf https://www.faktorzehn.org/de/download/. In diesem Tutorial verwenden wir Eclipse 4.5 (Mars) und Faktor-IPS® 3.16.0. Eclipse wird in Englisch verwendet. Hingegen Faktor-IPS® in Sprache Deutsch.

Starten Sie Eclipse. Am besten verwenden Sie für dieses Tutorial einen eigenen Workspace. Wenn Faktor-IPS® korrekt installiert ist, sollten Sie bei geöffneter Java-Perspektive [2] in der Toolbar folgende Symbole sehen [3]:

faktor ips icons

Abbildung 1: Faktor-IPS® Icons

[2] In der Menüleiste WindowPerspectiveOpen PerspectiveJava auswählen
[3] In den Tutorials von Faktor-IPS® wird von einer Installation ohne Faktor-IPS German Language-Pack ausgegangen. Wenn Sie das Language-Pack installiert haben, aber trotzdem ohne die Übersetzung arbeiten wollen, können sie einfach Eclipse mit einer anderen Locale starten, z.B. mit eclipse -vmargs -Duser.language=en

Faktor-IPS-Projekte sind normale Java-Projekte mit einer zusätzlichen Faktor-IPS-Nature. Als erstes legen Sie also ein neues Java-Projekt mit dem Namen „Hausratmodell“ an. Hierzu klicken Sie im Menü auf FileNewJava Project. In dem Dialog brauchen Sie lediglich den Namen des Projektes angeben und klicken dann auf Finish.

new project

Abbildung 2: Projekt neu anlegen

In diesem Projekt werden wir die Modellklassen anlegen. Die Faktor-IPS-Nature fügen Sie dem Projekt hinzu, indem Sie es im Java Package-Explorer markieren und im Kontextmenü Faktor-IPS®Faktor-IPS Nature hinzufügen…​ wählen.

faktor ips nature

Abbildung 3: Hinzufügen der IPS-Nature

Als Sourceverzeichnis geben Sie „model“ ein, als Basis-Package für die generierten Java-Klassen „org.faktorips.tutorial.model“, als Runtime-ID-prefix „hausrat.“ und drücken Sie auf OK. Dem Projekt werden die Laufzeitbibliotheken von Faktor-IPS® hinzugefügt und das angegebene Sourceverzeichnis („model“) angelegt. In dem Sourceverzeichnis wird die Modelldefinition abgelegt. Unterhalb dieses Verzeichnisses kann die Modellbeschreibung wie in Java durch Packages (Pakete) strukturiert werden. Faktor-IPS® verwendet wie Java qualifizierte Namen zur Identifikation der Klassen des Modells. Die Bedeutung des RuntimeID-Prefixes wird im Kapitel „Definition der Produkte" erläutert.

Darüber hinaus wurde dem Projekt ein neues Java Sourceverzeichnis mit dem Namen „derived“ hinzugefügt. In dieses Verzeichnis generiert Faktor-IPS® Java Sourcefiles und kopiert XML-Dateien, die zu 100% generiert werden. Der Inhalt des Verzeichnisses kann also jederzeit gelöscht und neu erzeugt werden. Im Gegensatz hierzu enthält das ursprüngliche Java Sourceverzeichnis Dateien, die vom Entwickler bearbeitet werden können und die beim Generieren gemerged werden.

Bevor wir die erste Klasse „HausratVertrag“ definieren, stellen Sie noch ein, dass der Workspace automatisch gebaut wird (im Menü: ProjectBuild automatically).

Wechseln Sie zunächst in den Modell-Explorer von Faktor-IPS® direkt neben dem Package-Explorer.

Falls der Modell-Explorer nicht sichtbar ist, liegt das daran, dass Sie diesen Workspace bereits vor der Installation von Faktor-IPS® verwendet haben. Rufen Sie in diesem Fall im Menü WindowReset Perspective auf.

modell explorer

Abbildung 4: Ansicht der Projekte im Modell-Explorer

Im Modell-Explorer wird die Modelldefinition ohne die Java-Details dargestellt. In der Datei „.ipsproject“ sind die Eigenschaften des Faktor-IPS® Projektes gespeichert. Hierzu gehören zum Beispiel die gerade im Add IpsNature-Dialog eingegebenen Informationen, Einstellungen für die Codegenerierung, die erlaubten Datentypen etc. Der Inhalt ist in XML abgelegt und ausführlich in der Datei dokumentiert.

Die Klassen werden wir in einem Package mit dem Namen „hausrat“ ablegen. Zum Anlegen des IPS Packages Rechtsklick auf das Sourceverzeichnis „model“, neuIPS Package. Danach Name des neuen Packages eingeben, „hausrat“, anschließend auf Button Finish drücken. Alternativ können Sie IPS Packages über den Button button , in der Toolbar, anlegen.

ips package

Abbildung 5: Anlegen eines IPS Packages

Als nächstes wollen wir eine Klasse anlegen, die unseren Hausratvertrag repräsentiert. Markieren Sie dazu das neu angelegte Package im Package Explorer und drücken auf den Button vertragsteiltyp in der Toolbar.

vertragsklasse

Abbildung 6: Anlegen einer neuen Vertragsklasse

In dem Dialog sind Sourceverzeichnis und Package bereits entsprechend vorbelegt und Sie geben noch den Namen der Klasse an, also „HausratVertrag“ und klicken auf Finish. Faktor-IPS® hat jetzt die neue Klasse angelegt und den Editor zur Bearbeitung geöffnet. Wechseln Sie zurück in den Package-Explorer. Sie sehen, dass die Klasse „HausratVertrag“ in einer eigenen Datei mit dem Namen „HausratVertrag.ipspolicycmpttype“ gespeichert ist.