ilimanager ist ein in Java erstelltes Programm, um die Index-Dateien der INTERLIS-Repositories automatisch zu pflegen.
Es bestehen u.a. folgende Funktionen:
Die Log-Meldungen sollen dem Benutzer zeigen, was das Programm macht. Am Anfang erscheinen Angaben zur Programm-Version.:
Info: ilimanager-1.0.0 ... Info: compile models... ... Info: ...clone done
Bei einem Fehler wird das am Ende des Programms vermerkt. Der eigentliche Fehler wird aber in der Regel schon früher ausgegeben.:
Info: ilimanager-1.0.0 ... Info: compile models... ... Error: DM01.Bodenbedeckung.BoFlaeche_Geometrie: intersection tids 48, 48 ... Error: ...clone failed
Das Programm setzt Java 1.8 voraus.
GNU Lesser General Public License
In den folgenden Abschnitten wird die Funktionsweise anhand einzelner Anwendungsfälle beispielhaft beschrieben. Die detaillierte Beschreibung einzelner Funktionen ist im Kapitel „Referenz“ zu finden.
Es existiert aktuell kein GUI. Das Programm kann nur über die Kommandozeile benutzt werden.
Es werden alle Dateien (ITF und XTF) im gegebenen Verzeichnis folder analysiert und dann ein neues newIlidata.xml mit den entsprechenden Metadaten erstellt.
java -jar ilimanager.jar --createIliData --ilidata newIlidata.xml --repos folder
Es werden alle Dateien (ITF und XTF) gemäss Dateiliste files.txt im Repository http://models.geo.admin.ch analysiert und dann ein neues newIlidata.xml mit den entsprechenden Metadaten erstellt.
java -jar ilimanager.jar --createIliData --ilidata newIlidata.xml --repos http://models.geo.admin.ch --srcfiles files.txt
Es wird die gegebene Datei newVersionOfData.xml (ITF oder XTF) analysiert, und dann das ilidata.xml aus dem gegebenen Repository http://models.geo.admin.ch mit einem neuen Eintrag für den Datensatz mit der ID datasetId aktualisiert. Die neue Version des ilidata.xml wird in die Datei updatedIlidata.xml geschrieben und muss durch den Benutzer ins Repository übertragen werden.
java -jar ilimanager.jar --updateIliData --ilidata updatedIlidata.xml --repos http://models.geo.admin.ch --datasetId datasetId newVersionOfData.xml
In den folgenden Abschnitten werden einzelne Aspekte detailliert, aber isoliert, beschrieben. Die Funktionsweise als Ganzes wird anhand einzelner Anwendungsfälle beispielhaft im Kapitel „Funktionsweise“ (weiter oben) beschrieben.
java -jar ilimanager.jar [Options]
Es existiert aktuell kein GUI. Das Programm kann nur über die Kommandozeile benutzt werden.
Der Rückgabewert ist wie folgt:
- 0 Funktion ok, keine Fehler festgestellt
- !0 Funktion nicht ok, Fehler festgestellt
Optionen:
Option | Beschreibung |
---|---|
--modeldir path | Dateipfade, die Modell-Dateien (ili-Dateien) enthalten. Mehrere Pfade können durch Semikolon ‚;‘ getrennt werden. Es sind auch URLs von Modell-Repositories möglich. Default ist %ITF_DIR;http://models.interlis.ch/;%JAR_DIR/ilimodels %ITF_DIR ist ein Platzhalter für das Verzeichnis mit der Transferdatei. %JAR_DIR ist ein Platzhalter für das Verzeichnis des ilivalidator Programms (ilivalidator.jar Datei). Der erste Modellname (Hauptmodell), zu dem ili2db die ili-Datei sucht, ist nicht von der INTERLIS-Sprachversion abhängig. Es wird in folgender Reihenfolge nach einer ili-Datei gesucht: zuerst INTERLIS 2.3, dann 1.0 und zuletzt 2.2. Beim Auflösen eines IMPORTs wird die INTERLIS Sprachversion des Hauptmodells berücksichtigt, so dass also z.B. das Modell Units für ili2.2 oder ili2.3 unterschieden wird. |
--createIliData --ilidata ilidata.xml --repos repository | Es werden alle Daten (ITF und XTF) im gegebenen Folder/Repository analysiert und dann ein neues ilidata.xml mit den entsprechenden Metadaten erstellt. Wenn repository ein remote Repository bezeichnet, muss mit --srcfiles die Liste der Dateien angegeben werden. |
--srcfiles files.txt | Liste mit relativen Dateipfaden (relativ zum gegebenen Folder/Repository). Ein Pfad pro Zeile. |
--updateIliData --ilidata updatedIlidata.xml --repos repository --dataset datasetId newVersionOfData.xml | Es wird die gegebene Datei newVersionOfData.xml (ITF oder XTF) analysiert, und dann das ilidata.xml aus dem gegebenen Repository repository mit einem neuen Eintrag für den Datensatz mit der ID datasetId aktualisiert. Die neue Version des ilidata.xml wird in die Datei updatedIlidata.xml geschrieben und muss durch den Benutzer ins Repository übertragen werden. |
--log filename | Schreibt die log-Meldungen in eine Text-Datei. |
--plugins folder | Verzeichnis mit JAR-Dateien, die Zusatzfunktionen enthalten. Die Zusatzfunktionen müssen das Java-Interface ch.interlis.iox_j.validator.InterlisFunction implementieren, und der Name der Java-Klasse muss mit IoxPlugin enden. |
--proxy host | Proxy Server für den Zugriff auf Modell Repositories |
--proxyPort port | Proxy Port für den Zugriff auf Modell Repositories |
--trace | Erzeugt zusätzliche Log-Meldungen (wichtig für Programm-Fehleranalysen) |
--help | Zeigt einen kurzen Hilfetext an. |
--version | Zeigt die Version des Programmes an. |
Einzelne Funktionen nutzen Meta-Attribute. Metaattribute stehen unmittelbar vor dem Modellelement das sie betreffen und beginnen mit !!@. Falls der Wert (rechts von `=`) aus mehreren durch Leerstellen getrennten Wörtern besteht, muss er mit Gänsefüsschen eingerahmt werden (`"..."`).
Modelelement | Metaattribut | Beschreibung |
---|---|---|
ModelDef | technicalContact |
Wert für das Attribut technicalContact im ilimodels.xml Eintrag des Modells. |
ModelDef | IDGeoIV |
GeoIV-Identifikator dieses Modells. Mehrere Einträge durch Komma getrennt. Beispiel: !!@ IDGeoIV="114.1, 114.3" Der Wert wird auch für das Attribut tags im ilimodels.xml Eintrag des Modells verwendet. |
ModelDef | furtherInformation |
Wert für das Attribut furtherInformation im ilimodels.xml Eintrag des Modells. |
ModelDef | tags |
Wert für das Attribut tags im ilimodels.xml Eintrag des Modells. |
ModelDef | precursorVersion |
Wert für das Attribut precursorVersion im ilimodels.xml Eintrag des Modells. |
ModelDef | furtherMetadata |
Wert für das Attribut furtherMetadata im ilimodels.xml Eintrag des Modells. |
ModelDef | Original |
Wert für das Attribut Original im ilimodels.xml Eintrag des Modells. |