Minimales Beispiel - 6. Objekte konvertieren#

In den vorherigen Schritten wurden als Strukturen in Simplex4TwIS die Klasse „Sporthallen“ und das (Sach)Attribut „geometrie“ angelegt. Außerdem wurde die Verbindung zur Klasse „Adressen“ angelegt.

Allerdings sind diese angelegten Strukturen noch nicht mit den Inhalten befüllt.

Als nächster Schritt steht daher das Konvertieren an. Dabei werden die importierten Daten „Sporthallen.csv“ (die aktuell noch als Datenblob vorliegen) in Objekte in der Simplex4TwIS-Struktur überführt.

Es müssen dafür drei Konverter erstellt werden:

  • für die Objekte der Klasse „Sporthallen“

  • für das Geometrie-Attribut „geometrie“

  • für die Verbindungklasse, d.h. die Verbindung zwischen Sporthallen und Adressen

Konverter für die Objekte der Klasse „Sporthallen“ erstellen#

  1. Auf der Ansicht der Klasse „Sporthallen“ auf den Reiter „Konvertierungen“ klicken.

    Klasse "Sporthallen" - Reiter "Konvertierungen" aufrufen

    Auf dem Reiter „Konvertierungen“ gibt es noch keine Konverter. Diese müssen wir im nächsten Schritt anlegen.

    Konvertierungen
  2. Auf „Objekt-Konvertierung“ klicken. Die Ansicht „Objekt-Konvertierung“ öffnet sich auf dem Reiter „Allgemeine Informationen“.

    Objekt-Konvertierung - Detailsicht

    Die Quelle und die Klasse sind vorbefüllt, da wir aus der Klasse „Sporthallen“ heraus gestartet sind.

    Angegeben werden muss die Quelltabelle - in diesem Fall „q_(laufendenummer) Sporthallen.csv (kompletter Datensatz)“ - und ein sprechender Name. Im Beispiel wird als Konvention „<quelle>2<ziel>“ genutzt, das ergibt „Sporthallen.csv2Sporthallen“. Wichtig ist nur, dass eine möglichst gleichbleibende Konvention im eigenen Projekt genutzt wird, um Konverter auch in der Zukunft wiederzufinden.

    Ein Kommentar kann für die Zukunft ebenfalls hilfreich sein.

    Die Felder „Filter“ und „Update-Strategie“ betrachten wir in diesem Minimal-Beispiel nicht.

  3. Auf dem Reiter „Allgemeine Informationen“ nach unten blättern, um den Bereich „Object information“ anzuzeigen.

    Objekt-Konvertierung - Object information

    Hier muss für jedes Attribut des zukünftigen Objekts die Spalte der Quelltabelle q angegeben werden, die diese Inhalte liefern soll. Das Muster dafür ist „q.<spaltenname>“. Diese Zuordnungen wurden in Minimales Beispiel - 2. Daten modellieren modelliert.

    Tipp: Bei Eingabe von SQL ist es hier auch möglich, aus mehreren Spalten der Quelltabelle ein Feld zu befüllen.

    Es ergibt sich das folgende Bild:

    Objekt-Konvertierung - Object Information ausgefüllt

    An diesem Punkt könnten grundsätzlich auf den zwei Reitern „Attribut-Konvertierungen“ und „Verbindungs-Konvertierungen“ die beiden anderen Konverter angelegt werden. In unserem Beispiel wählen wir die alternative Strategie und legen zunächst nur den Objekt-Konverter an, um zu prüfen, ob die Objekte korrekt eingefügt werden.

    Daher an dieser Stelle nur rechts oben auf „Speichern“ klicken. Die Eingabe der Objekt-Konvertierung wird beendet und die Ansicht kehrt zum Reiter „Konvertierungen“ zurück.

    Dort gibt es jetzt einen Eintrag für den Konverter „Sporthallen.csv2Sporthallen“.

    Konverter "Sporthallen.csv2Sporthallen"

Über die Statistik prüfen, wieviele Objekte vorhanden sind#

Um feststellen zu können, ob Objekte erzeugt wurden, kann die Statistik aufgerufen werden.

Dazu auf den Reiter „Statistik“ klicken.

Statistik aufrufen

Die Statistikansicht öffnet sich.

Statistikansicht

Zum Zeitpunkt vor der Konvertierung gibt es hier 0 Objekte, aber 1 Konvertierung, d.h. einen angelegten Objekt-Konverter.

Bei den Attributen wurde zwar eins angelegt, aber hier gibt es weder konvertierte Attribute noch eine Konvertierung.

Objekte konvertieren#

Auf dem Reiter „Konvertierungen“ bei „Sporthallen.csv2Sporthallen“ auf „Alle konvertieren“ klicken. Damit werden alle Konvertierungen durchgeführt, die vorhanden sind - also auch für Attribute und Verbindungen. Diese sind hier aber noch nicht verfügbar.

Eine Prozess-Liste öffnet sich. Diese ist auf den ersten Blick nicht sehr sprechend. Der zuletzt gelaufene Konverter ist unter „converter.executer“ üblicherweise am Ende der Liste zu finden, ggf. an der Uhrzeit orientieren.

Prozess-Übersicht Konverter

Folgendes wird ausgegeben:

  • sourceCount: Zahl der Einträge in der Quelltabelle, hier 165

  • upsertCount: Zahl der Objekte, die aktualisiert wurden, hier 0 (da die Klasse davor leer war)

  • insertCount: Zahl der neu hinzugefügten Objekte, hier 165 (da die Klasse davor leer war), d.h. es wurden alle Zeilen der Quelltabelle importiert

  • targetCount: Zahl der Objekte in der Klasse insgesamt, hier 165 (da die Klasse davor leer war)

Über „Zurück“ diese Ansicht verlassen.

Über die Statistik prüfen, dass neue Objekte vorhanden sind#

Wieder auf den Reiter „Statistik“ klicken.

Statistik aufrufen nach Objektkonvertierung

Zum Zeitpunkt nach der Konvertierung existieren nun 165 Objekte.

Bei den Attributen wurde für 165 Objekte keine Konvertierung durchgeführt, daher steht bei Differenz die Zahl „-165“.

Ergebnis in den Objekten betrachten#

Oben auf „Betrachten“ klicken.

Objekte betrachten aufrufen

Die Ansicht „Sporthallen - Objekte“ öffnet sich. Diese ähnelt der Ansicht von „Sporthallen.csv“, allerdings existieren nur noch die relevanten, bei der Konvertierung befüllten Attribute der Objekte.

Objekte betrachten - Tabellenansicht

Zusätzlich gibt es die Spalte „Letzte Bearbeitungszeit“. Diese ist in diesem Beispiel auch gleich dem Einfügezeitpunkt, könnte aber bei aktualisierten Objekten anders lauten.

Spaltenansicht ändern - versteckte Spalten hinzufügen#

Über „Versteckte Spalten“ können weitere Spalten angezeigt werden.

Versteckte Spalten anzeigen

Diese werden am Ende der Tabelle angezeigt. Allerdings werden die Daten nicht sofort angezeigt, da dies ggf. eine höhere Systemlast erzeugt. Dafür ist noch ein Klick auf das kleine „Reload“-Symbol notwendig.

Neu laden der hinzugefügten Spalten

Da im Beispiel zu diesem Zeitpunkt das Attribut und die Verbindung zu den Adressen noch nicht konvertiert wurden, sind alle Einträge korrekterweise leer.

Anzeige der leeren Daten

Der blau unterstrichene Spaltenname „Adressen“ zeigt eine verbundene Klasse an. Sie ist also als Struktur vorhanden, aber eben noch nicht konvertiert, d.h. es dem Objekt noch nicht bekannt, welche Adresse es hat.

Im nächsten Schritt werden die weiteren Konvertierungen durchgeführt.