Inhaltsverzeichnis

New & Noteworthy in 2.5.0

Refactoring-Support

Faktor-IPS bietet nun die folgenden Refactorings für das Modell an:

Aufgerufen werden kann das Refactoring entweder aus dem Kontextmenü des Model-Explorers bzw. aus dem Kontextmenü im Editor für Vertrags- bzw. Produktklassen. Hervorzuheben ist, dass nicht nur das Modell-, die Produktbausteine und die Testfälle angepasst werden sondern auch der Java Sourcecode. Beim Java Sourcecode wird nicht nur neu generiert, sondern alle Referenzen, auch in manuellen erstellen Codeteilen angepasst. Die folgende Grafik zeigt dies am Beispiel der Tutorialprojekte.

Aus der im Modell definierten Klasse HausratVertrag werden die beiden Java-Sourcefiles HausratVertrag und IHausratVertrag generiert. Die manuell codierte Klasse JAXBDemo erzeugt eine Instanz von HausratVertrag und setzt Werte für die Attribute. Das folgende Codebeispiel enthält einen Ausschnitt der Klasse JAXBDemo.

private IHausratVertrag createHausratVertrag() {
    IHausratProdukt produkt = (IHausratProdukt) repository.getProductComponent("hausrat.HR-Kompakt 2008-04");
	IHausratVertrag vertrag = produkt.createHausratVertrag();
	vertrag.setPlz("12345");
        ...
	return vertrag;
}


Benennt man nun das Attribut plz im Modell in postleitzahl um, so wird die Änderung nicht nur in den generierten Sourcefiles HausratVertrag und IHausratVertrag berücksichtig, sondern die damit verbundene Änderung der Setter-Methode von setPlz(...) in setPostleitzahl(...) auch in JAXBDemo durchgeführt. Der Code von JAXBDemo sieht danach also wie folgt aus.

private IHausratVertrag createHausratVertrag() {
    IHausratProdukt produkt = (IHausratProdukt) repository.getProductComponent("hausrat.HR-Kompakt 2008-04");
	IHausratVertrag vertrag = produkt.createHausratVertrag();
	vertrag.setPostleitzahl("12345");
        ...
	return vertrag;
}


Realisiert ist dies, indem Faktor-IPS die Refactoringfunktionen des Eclipse JDTs verwendet.

Verwendung eigener Icons für Produktbausteine

Um in Faktor IPS die visuelle Unterscheidung der verschiedenen Produktbausteine zu erleichtern, ist es jetzt möglich in einer Produktbausteinklasse benutzerdefinierte Icons einzustellen. Dabei wird ebenfalls die Typhierarchie beachtet: ein Produktbaustein wird stets mit dem in der Produktbausteinklasse eingestellten Icon angezeigt, wenn in dieser kein benutzerdefiniertes Icon eingestellt ist, wird im Supertypen gesucht. Wird kein Icon gefunden, verwenden wir weiterhin das bekannte P auf grünem Grund.

Im Tutorial-Projekt wurden bereits benutzerdefinierte Icons eingestellt:

Die neuen Icons werden in der Produktbausteinklasse auf der Seite Icons konfiguriert. Im Moment werden die Formate .gif und .png unterstützt. Die Dateien müssen sich in einem referenzierten Faktor-IPS-Quellverzeichnis befinden.

Erweiterungen im Struktur-Explorer

Auswahl der Anpassungsstufe

Der Produktstruktur-Explorer wurde angepasst um die Struktur einer bestimmten Anpassungsstufe, unabhängig vom eingestellten Wirksamkeitsdatum zu betrachten. Das Auswahlfeld über der Struktur enthält alle Anpassungsstufen der angezeigten Struktur. Abhängig von der Auswahl kann sich die angezeigte Struktur ändern.

Bearbeiten der Produktstruktur im Produktstruktur-Explorer

Im Produktstruktur-Explorer ist es nun möglich, Beziehungen zu anderen Produktbausteinen per Drag & Drop hinzuzufügen. Neue Produktbausteine können auf angezeigte Produktbausteine oder Beziehungsknoten gezogen werden. Der neue Produktbaustein wird als neue Beziehung unter dem Ziel eingefügt.

Zum weiteren bearbeiten der Struktur wurde das Kontextmenü erweitert. Neben den Einträgen zum Hinzufügen und Entfernen von Beziehungen kann man nun auch direkt im Produktstruktur-Explorer die Aktionen „Neue Generation Erzeugen..." sowie „Kopiere Produkt..." aufrufen.

Überarbeiteter Kopierassistent

Der Assistent zum Kopieren von Produkten bzw. Produktgenerationen wurde überarbeitet. Er bietet nun eine klarere Benutzerführung bzgl. der Möglichkeit die bestehenden Produktbausteine zu kopieren oder die bestehenden Bausteine in der neuen Produktstruktur zu referenzieren. In der neuen Version können nun alle Einstellungen auf der 1. Seite des Assistenten durchgeführt werden und die Aktion (Copy/Link) wird im Klartext angezeigt. In vorherigen Versionen wurde dies lediglich durch ein Symbol versucht kenntlich zu machen. Die 2. Seite bietet nun die Voransicht der neuen anzulegenden Produktstruktur inkl. der Information welcher Produktbaustein in welchem Package neu erzeugt wird. Die folgenden beiden Bildschirmausschnitte zeigen, wie der Assistent dazu verwendet wird, für das HausratKompakt-Produkt aus dem Tutorial eine neue Produktgeneration anzulegen.


Migration

Eine spezielle Migration ist nicht erforderlich.