Tipps zur Synchronisierung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Projekte und Code Engineering > Synchronisieren von Modell und Quellcode >

Tipps zur Synchronisierung

Umbenennen von Classifiern und Reverse Engineering

Der unten beschriebenen Vorgang beim Reverse Engineering oder der automatischen Synchronisierung bezieht sich sowohl auf die Standalone-Applikation als auch auf die Plug-In-Versionen (Visual Studio oder Eclipse).

 

Wenn Sie einen Classifier im Code-Fenster Ihrer Programmierapplikation umbenennen, wird er gelöscht und als neuer Classifier in die Modell-Struktur eingefügt.

 

Der neue Classifier wird nur in diejenigen Modellierungsdiagramme eingefügt, die beim Reverse Engineering automatisch erstellt werden, oder wenn ein Diagramm mit dem Befehl In neuem Diagramm anzeigen | Inhalt erstellt wird. Der neue Classifier wird an der Standardposition im Diagramm eingefügt. Diese ist wahrscheinlich nicht mit der vorherigen Position identisch.

 

Siehe auch Refactoring und Synchronisierung von Code.

 

Automatische Generierung von Komponentenrealisierungen

UModel kann in Rahmen der Codegenerierung automatisch Komponentenrealisierungen generieren. Komponentenrealisierungen werden nur generiert, wenn es absolut klar ist, welcher Komponente eine Klasse zugewiesen werden soll:

 

Es ist nur eine Visual Studio-Projektdatei im .ump-Projekt vorhanden.
Es gibt mehrere Visual Studio-Projekte, doch deren Klassen sind im Modell streng getrennt.

 

So aktivieren Sie die automatische Generierung von Komponentenrealisierungen:

1.Wählen Sie den Menübefehl Extras | Optionen.
2.Klicken Sie auf das Register Code Engineering und aktivieren Sie die Option Fehlende Komponentenrealisierungen generieren.

 

 

Automatische Komponentenrealisierungen werden für einen Classifier generiert, dem eine (und nur eine) Komponente zugewiesen werden kann.

 

ohne Komponentenrealisierung oder
eine im Namespace einer Codesprache enthaltene Komponente

 

 

Die Art, wie die Komponente gesucht wird, ist in den beiden Fällen unterschiedlich:

 

Komponente, die eine Code-Projektdatei repräsentiert (Eigenschaft "projectfile" ist aktiviert)

 

wenn es EINE Komponente gibt, die Classifier im Paket, das sie enthält, hat/realisiert
wenn es EINE Komponente gibt, die Classifier in einem Unterpaket, des Pakets, das sie enthält, hat/realisiert (von oben nach unten)
wenn es EINE Komponente gibt, die Classifier in einem der übergeordneten Pakete hat/realisiert (von unten nach oben)
wenn es EINE Komponente gibt, die Classifier in einem Unterpaket eines der übergeordneten Paket hat/realisiert (von oben nach unten)

 

Komponente, die ein Verzeichnis repräsentiert (Eigenschaft "directory" ist aktiviert)

wenn es EINE Komponente gibt, die Classifier im Paket, das sie enthält, hat/realisiert
wenn es EINE Komponente gibt, die Classifier in einem der übergeordneten Pakete hat/realisiert (von unten nach oben)

 

Anmerkungen:

Die Option "Code Engineering | Fehlende Komponentenrealisierungen generierten" muss aktiviert sein.
Sobald bei einem der obigen Schritte EINE verwendbare Komponente gefunden wird, wird diese Komponente verwendet und die restlichen Schritte werden ignoriert!

 

Fehler/Warnungen:

Wenn keine verwendbare Komponente gefunden wird, wird eine Warnmeldung generiert  (Meldungsprotokoll)
Wenn mehrere verwendbare Komponenten gefunden werden, wird eine Fehlermeldung generiert (Meldungsprotokoll)

 


© 2019 Altova GmbH