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:
-
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
- 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. |
|