You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current state of the implementation is a Proof of Concept with a lot of room for improvements.
Here is a list of some possible improvements (in German):
Bei der Generierung werden Klassen für alle von HALE per default als "Mapping relevant types" klassifizierten Typen generiert, plus alle entsprechenden Abhängigkeiten. Man kann die Ausgansgtypen prinzipiell aber auch auf eine bestimmte Auswahl von Typen beschränken (wird allerdings im CLI aktuell nicht unterstützt)
In die spezielle Handhabung der Geometrien konnte ich nicht viel Zeit investieren - die JTS-Geometrien sind aktuell wie in HALE in den explizit als Geometrie-Eigenschaften markierten Eigenschaften untergebracht (Typ GeometryProperty). Am besten für ein Beispiel in den "SimpleWriteRead"-Test schauen.
Für das Lesen oder Schreiben von GML mit der HALE API ist es immer nötig auch das entsprechende Schema zu laden. Das Lesen/Schreiben der Modell-Objekte funktioniert so, dass diese aus oder in HALE-"Instance"s konvertiert werden. Dazu werden die in den Modell-Klassen per Annotations hinterlegten Meta-Informationen herangezogen. Das war im Rahmen des PoC der am schnellsten umzusetzende Ansatz. Ein Vorteil liegt darin, dass das Vorgehen unabhängig von der Art des Schemas ist, man könnte also genauso z.B. auch Daten aus einer Datenbank verarbeiten
In der Hierarchie der generierten Modellklassen gibt es noch Probleme bei bestimmten XML Schema Konstrukten die zu Konflikten führen können, deshalb sind für die Generierung des 3A-Modells ca. 10 Klassen ausgenommen die zu Compiler-Problemen führen. An anderer Stelle tritt das Problem teilweise auch auf, sollte die Funktionsweise aber nicht einschränken.
Allgemein gibt es noch viel Potential die Benamung von Klassen und Eigenschaften zu verbessern, speziell bei im XML Schema definierten anonymen Typen und Choices/Sequences. Prinzipiell ist für die Package-Name ein Präfix vorgesehen, wird aber im CLI nicht unterstützt.
The text was updated successfully, but these errors were encountered:
The current state of the implementation is a Proof of Concept with a lot of room for improvements.
Here is a list of some possible improvements (in German):
The text was updated successfully, but these errors were encountered: