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, zugehörige Attribute und Operationen mit den Parametern für die Operationen)
wird in die Konsolsicht 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.
|
Zustand in JSP
|
Bei dieser Umsetzung dient eine Zustandsmaschine als Quelle. Für jeden Zustand, 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 Zustand in JSP
Bei dieser Umsetzung dient ein UML-Zustand auf einer Zustandsmaschine als Quelle. Mit JETs (Java Emitter
Templates) wird eine Webseite in der Form einer JSP-Datei erzeugt. Wenn Sie eine Zustandsmaschine oder eine
Region als Quelle auswählen, wird bei der Umsetzung eine JSP-Datei für jeden Zustand
in der Zustandsmaschine oder der Region erzeugt, auf den das Profil "ScreenFlow" angewendet wurde.
Diese Beispielumsetzung zeigt Ihnen, wie man Folgendes macht:
-
Stereotype und Schlüsselwörter verwenden, um Regeln selektiv auszulösen
-
JET-Funktionalität und die Umsetzung zum Generieren von Text kombinieren
Um die Quellenzustandsmaschine für die Umsetzung vorzubereiten, müssen Sie das Profil
"ScreenFlow" auf das UML-Modell anwenden, das die Zustandsmaschine enthält, und die Zustandsmaschine markieren,
indem Sie die Stereotype im Profil "ScreenFlow" auf ihre Zustände anwenden.
Das Profil "ScreenFlow" enthält vier Stereotype: form , editform ,
selectlist und display .
Diese Stereotype legen den Darstellungsstil von dynamischen Inhalten auf der generierten Seite fest. Im Beispiel
werden die Stereotype verwendet, um festzustellen, ob es sich beim Darstellungsstil um eine bearbeitbare Maske oder
eine Auswahlliste oder Ähnliches handelt. Wenn Sie auf einen Zustand mehrere Stereotype
anwenden, wird bei der Umsetzung nur das erste Stereotyp berücksichtigt.
In diesem Beispiel werden die Eigenschaften der Stereotype 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 Zustand entspricht, wenn
eins der vier Stereotype auf den Zustand 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 Stereotype 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. |
|