Umsetzungsdetails für das Beispiel Modell-in-Text

Dieses Beispiel enthält die folgenden drei Umsetzungen:

Umsetzung

Beschreibung

Klasse in Text -> Konsole Bei dieser Umsetzung dient eine UML-Klasse als Quelle. Eine Beschreibung der Klasse (Name der Klasse, ihre Attribute und Operationen und die Parameter der Operationen) werden in die Sicht 'Konsole' geschrieben.
Klasse in Text -> Datei Diese Umsetzung entspricht der Umsetzung Klasse in Text -> Konsole. Das Ergebnis wird aber in eine Datei und nicht in die Sicht 'Konsole' geschrieben.
Status in JSP Bei dieser Umsetzung dient eine Statusmaschine als Quelle. Für jeden Status, der ein Stereotyp aus dem Profil "ScreenFlow" hat, wird eine JSP-Seite erzeugt.

Um genauer zu verstehen, wie die Umsetzungen funktionieren, sollten Sie die Umsetzungen ausführen und den Quellcode untersuchen. Beim Lesen des Quellcodes sollten Sie diese Richtlinien beachten:

  • Sehen Sie sich zuerst die Java-Klassen an, die die Regeln implementieren. Die Klassen befinden sich in Paketen mit der Endung .rules.
  • Eine Gruppe von Regeln wird in eine oder mehrere Umsetzungen kombiniert. Die Umsetzungen werden von Java-Klassen in Paketen mit der Endung .transforms implementiert. Es empfiehlt sich, zuerst den Code der transform-Klassen und dann den Code für die root transforms zu lesen.
  • Sehen Sie sich schließlich noch die Plug-in-Manifestdatei plugin.xml und den Code für die Klasse TransformationProvider an, um zu verstehen, wie die Umsetzungen mit den Umsetzungsservices zusammenhängen.

Umsetzung Klasse in Text

Bei dieser Umsetzung dient eine UML-Klasse, ein Paket oder ein Modell als Quelle. Die Namen der Klassen, ihrer Attribute und Operationen und die Parameter der Operationen werden entweder in die Sicht 'Konsole' oder in eine Datei geschrieben. Wenn Sie ein Modell oder ein Paket als Quelle auswählen, schreibt die Umsetzung die Details aller im Modell oder Paket enthaltenen Klassen in die Konsole.

Es gibt zwei Arten dieser Umsetzung:

  1. Klasse in Text > Konsole: Bei dieser Umsetzung wird die Ausgabe in die Sicht 'Konsole' geschrieben. Es wird kein Ziel benötigt.

    Diese Beispielumsetzung zeigt Ihnen, wie man Folgendes macht:

    • Einfache Regeln erstellen und zu einer oder mehreren Umsetzungen kombinieren
    • Einen Umsetzungsprovider erstellen
    • Eine Umsetzung und ihren Provider in der Plug-in-Manifestdatei plugin.xml beschreiben

  2. Klasse in Text > Datei: Bei dieser Umsetzung wird die Ausgabe in eine Datei geschrieben. Es wird ein Projekt als Ziel benötigt. Standardmäßig wird eine Datei mit dem Namen class2text.txt im Ordner ClassToTextOutput im von Ihnen angegebenen Projekt erstellt. Sie können den Standardnamen der Datei mit der Umsetzungseigenschaft Name der Zieldatei ändern.

    Diese Beispielumsetzung zeigt Ihnen, wie man zusätzlich Folgendes macht:

    • Die Umsetzungseigenschaften in der Plug-in-Manifestdatei plugin.xml beschreiben
    • Die Umsetzungseigenschaften innerhalb einer Regel ändern


Umsetzung Status in JSP

Bei dieser Umsetzung dient ein UML-Status auf einer Statusmaschine als Quelle. Mit JETs (Java Emitter Templates) wird eine Webseite in der Form einer JSP-Datei erzeugt. Wenn Sie eine Statusmaschine oder eine Region als Quelle auswählen, wird bei der Umsetzung eine JSP-Datei für jeden Status in der Statusmaschine oder der Region erzeugt, auf den das Profil "ScreenFlow" angewendet wurde.

Diese Beispielumsetzung zeigt Ihnen, wie man Folgendes macht:

  • Stereotypen und Schlüsselwörter verwenden, um Regeln selektiv auszulösen
  • JET-Funktionalität und die Umsetzung zum Generieren von Text kombinieren

Um die Quellenstatusmaschine für die Umsetzung vorzubereiten, müssen Sie das Profil "ScreenFlow" auf das UML-Modell anwenden, das die Statusmaschine enthält, und die Statusmaschine markieren, indem Sie die Stereotypen im Profil "ScreenFlow" auf ihre Status anwenden. Das Profil "ScreenFlow" enthält vier Stereotypen: form, editform, selectlist und display. Diese Stereotypen legen den Darstellungsstil von dynamischen Inhalten auf der generierten Seite fest. Im Beispiel werden die Stereotypen verwendet, um festzustellen, ob es sich beim Darstellungsstil um eine bearbeitbare Maske oder eine Auswahlliste oder Ähnliches handelt. Wenn Sie auf einen Status mehrere Stereotypen anwenden, wird bei der Umsetzung nur das erste Stereotyp berücksichtigt.

In diesem Beispiel werden die Eigenschaften der Stereotypen auch zur Bestimmung der Daten verwendet, die durch die JSP-Seiten ausgetauscht werden. Bei der Umsetzung wird nur dann eine JSP-Seite generiert, die einem Status entspricht, wenn eins der vier Stereotypen auf den Status angewendet wird. Vorhandene JSP-Dateien werden bei der Ausführung der Umsetzung nicht überschrieben. Wenn Sie den Wert der Umsetzungseigenschaft zum Überschreiben von Ausgabedateien auf Wahr ändern, werden die Dateien bei der Umsetzung überschrieben.

Profil "ScreenFlow"

Die folgende Tabelle zeigt die Stereotypen im Profil "ScreenFlow" mit ihren Eigenschaften. Die Werte in der Tabelle dienen nur zur Veranschaulichung.

Stereotyp

Basisklasse

Eigenschaften:Werte

Beschreibung

display
<<display>>
State entity:Contact
fields:name, address
Die generierte JSP-Seite zeigt die Kontaktinformationen Name und Adresse an.
editform
<<editform>>
State entity:Contact
fields:name, address
Die generierte JSP-Seite enthält eine Bearbeitungsmaske, in der der Benutzer die Kontaktinformationen Name und Adresse eingeben oder ändern kann.
form
<<form>>
State fields:userName Die generierte JSP-Seite enthält eine Maske zur Eingabe des Benutzernamens.
selectlist
<<selectlist>>
State entity:Contact
fields:name, address
selectfield:id
Die generierte JSP-Seite enthält eine Liste mit Kontakten, aus der ein Kontakt mit einer bestimmten ID ausgewählt werden kann.