Objekte automatisch aus XML importieren

logi.CAD 3  bietet ein Werkzeug für das automatisierte Importieren von ST-/FBS-Objekte aus einer XML-Datei (= Textdatei im XML-Format). Diese XML-Datei wurde am besten vorher mit Hilfe des Werkzeug für das automatisierte Exportieren erstellt.

Gut zu wissen

(grey lightbulb) Das Werkzeug ist zur Verwendung durch einen fortgeschrittenen Anwender von logi.CAD 3  vorgesehen.

(grey lightbulb)Bedingung für die erfolgreiche Verwendung des Werkzeugs sind Kenntnisse über die durchzuführende Aktion, wie sie in der grafischen Benutzeroberläche von logi.CAD 3  ausgeführt werden würde.

(grey lightbulb)Die Ausgaben des Werkzeugs erfolgen nur in englischer Sprache.

Inhalt dieses Artikels:

Vorbereitungen

  1. Stellen Sie sicher, dass logi.CAD 3  installiert ist. Halten Sie die folgenden Informationen bereit:  
    • der Pfad zum Installationsverzeichnis von logi.CAD 3  
    • der Pfad zu einem Verzeichnis, das als Arbeitsbereich verwendet wird
      Falls das Verzeichnis nicht existiert, wird es vom Werkzeug erstellt. Falls der optionale Parameter
       -checkEmptyWorkspace verwendet wird (siehe die Beschreibung dieses Parameters weiter unten), muss das Verzeichnis leer sein.
       
    • der Pfad zum Projekt, in das die Objekte importiert werden sollen
    • der Pfad zur Konfigurationsdatei für das Protokoll (siehe unten für weitere Informationen)
      Eine Datei mit einer Beispielkonfiguration ist in der Installation von  logi.CAD 3 enthalten.
       
  2. Öffnen Sie eine Befehlszeile: z.B. cmd.exe unter Windows und wechseln Sie in das Installationsverzeichnis von  logi.CAD 3  

Aufruf

Parameter, die innerhalb von [] stehen, sind optional. Das heißt, wenn Sie den Parameter auslassen, wird das Standardverhalten angewendet (siehe unter "Beschreibung der Parameter" weiter unten). Wenn Sie den Parameter verwenden möchten, geben Sie das Zeichen [ und ] nicht ein (siehe die nachfolgenden Beispiele). 

logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.importer.application [-noSplash] -projectPath <PROJECTPATH> [-inputFolder <INPUT_FOLDER> -inputFile <INPUT_FILE> -importFolder <FOLDER_TO_IMPORT_INTO>]|[-workpackagePath  <WORKPACKAGE_PATH>] [-checkEmptyWorkspace] -vmargs -Dlog4j.configuration=file:<LOG-CONFIGURATION>

(warning) Der Aufruf des Werkzeugs wird nicht offiziell für Linux unterstützt. Wenn Sie dennoch versuchen wollen, das Werkzeug unter Linux aufzurufen, ersetzen Sie den Teil logiCAD3c --launcher.ini logiCAD3.ini -application des oben genannten Aufrufs durch logiCAD3 -application. Der restliche Teil des Aufrufs ist identisch mit dem oben genannten Aufruf.

Beschreibung der Parameter:

ParameterBeschreibungBeispiel

<PROJECTPATH>

absoluter Pfad zum Projekt
Falls das Projekt bereits innerhalb des Arbeitsbereichs existiert (z.B. aufgrund eines früheren automatischen Imports des Projekts), ist es auch möglich, nur den Projektnamen anzugeben.

C:\LC3Projects\MyProject
<INPUT_FOLDER>
<INPUT_FILE>
<FOLDER_TO_IMPORT_INTO>

die folgenden Daten für die XML-Datei:

  1. absoluter Pfad, in dem die XML-Datei mit den Daten der zu importierenden Objekte vorhanden ist
  2. Name dieser XML-Datei
  3. Ordner, in dem die zu importierenden Objekte erstellt werden (= der projektrelative Pfad)

(info) Verwenden Sie diese 3 Parameter immer gemeinsam. Oder verwenden Sie den folgende Parameter -workpackagePath <WORKPACKAGE_PATH> als Alternative.

(info) Falls Sie diese 3 Parameter oder -workpackagePath <WORKPACKAGE_PATH> nicht angeben, wird nichts importiert.

C:\lc3
program.xml
src
<WORKPACKAGE_PATH>

absoluter Pfad zu einer CSV-Datei
Diese CSV-Datei ist eine Alternative zu den 3 Parametern, die gemeinsam zu verwenden sind – das sind: -inputFolder <INPUT_FOLDER> -inputFile <INPUT_FILE> -importFolder <FOLDER_TO_IMPORT_INTO>. Mit Hilfe der CSV-Datei können Sie außerdem mehrere Objekte für den Import angeben.
Die CSV-Datei muss die folgenden Daten (in dieser Reihenfolge) pro Zeile enthalten – jeweils durch , voneinander getrennt:

  1. absoluter Pfad, in dem die XML-Datei mit den Daten der zu importierenden Objekte vorhanden ist
  2. Name dieser XML-Datei
  3. Ordner, in dem die zu importierenden Objekte erstellt werden (= der projektrelative Pfad)
Beispiel für den Inhalt einer CSV-Datei: Die Objekte aus 2 XML-Dateien werden in den Projektordner "src" importiert.
C:\lc3,program.xml,src
C:\lc3,EnumType.xml,src
c:\LC3\workpackage.csv

<LOG-CONFIGURATION>

Pfad zur Konfigurationsdatei für das Protokoll
Alle Meldungen des Werkzeugs werden an das Gerät ausgegeben, das in der Konfigurationsdatei für das Protokoll angegeben ist.

C:\LC3LogConfig\log4j.xml

  • Der Parameter -noSplash ist optional. Wird er nicht angegeben, wird der Startbildschirm von logi.CAD 3  nach dem Aufruf angezeigt.
     
  • Der Parameter -checkEmptyWorkspace ist ebenfalls optional. Geben Sie diesen Parameter an, um zu prüfen, ob der angegebene Arbeitsbereich leer ist. Das  logi.CAD 3 -Projekt wird nur importiert, falls der Arbeitsbereich leer ist.
    Beim Standardaufruf (wenn dieser Parameter nicht angegeben wird) wird das  logi.CAD 3 -Projekt immer in den Arbeitsbereich importiert – unabhängig davon, ob der Arbeitsbereich leer ist oder nicht. Ist das  logi.CAD 3 -Projekt bereits im Arbeitsbereich vorhanden, wird das  logi.CAD 3 -Projekt neu importiert.
     
  • Der Parameter -Dlog4j.configuration ist ebenfalls optional. logi.cals  empfiehlt jedoch, diesen Parameter anzugeben, damit Protokoll-Ereignisse ausgegeben werden.
     
Beispiel 1 für Aufruf: Objekte werden basierend auf der XML-Datei importiert.
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.importer.application -noSplash -projectPath C:\LC3Projects\MyProject -inputFolder C:\lc3 -inputFile program.xml -importFolder src -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml
Beispiel 2 für Aufruf: Die Objekte werden laut der CSV-Datei importiert.
logiCAD3c --launcher.ini logiCAD3.ini -application com.logicals.lc32.importer.application -noSplash -projectPath C:\LC3Projects\MyProject -workpackagePath c:\LC3\workpackage.csv -vmargs -Dlog4j.configuration=file:C:\LC3LogConfig\log4j.xml

Konfigurationsdatei für das Protokoll 

Diese Datei wird zur Konfiguration des log4j-Protokollierungsmechanismus benötigt. Die Datei gibt an, wie Protokoll-Ereignisse ausgegeben werden.

Konfigurationsdatei für das Protokoll (Beispiel)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
 
  <!-- This configuration logs to console. -->
  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="target" value="System.out"/>
    <param name="immediateFlush" value="true"/>
    <param name="encoding" value="UTF-8"/>
    <param name="threshold" value="info"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p:  %m%n" />
    </layout>
  </appender>

  <!-- This configuration logs to a file, with more information than for the console. -->
  <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="C:\\temp\\logfile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [THREAD ID=%t] [Method:%M] %c{1}:%L - %m%n" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="console" />
    <appender-ref ref="file" />
  </root>
</log4j:configuration>

Fehlerbehebung

Die Datei, die in der Konfigurationsdatei für das Protokoll angegeben ist, enthält Informationen über das Importieren. Falls das Importieren nicht erfolgreich war, beheben Sie das Problem gemäß der folgenden Tabelle.

Rückgabe-CodeMeldung (ausgegeben auf STDOUT oder STDERR)UrsacheLösung
0Import successful (0)

13<keine Meldung>Ein falscher Wert wurde für -application angegeben.Rufen Sie das Werkzeug wie oben angegeben auf.
-1Import failed (Parameter Error, -1): NameEin Argument oder Parameter fehlt.Rufen Sie das Werkzeug wie oben angegeben auf.
-2Import failed (-2): Project not foundDas angegebene Projekt existiert nicht.Geben Sie ein vorhandenes Projekt an. Oder rufen Sie das Werkzeug mit dem absoluten Pfad für das Projekt auf.
-6Import failed (-6): Workspace not empty

Der Arbeitsbereich enthält bereits Daten (z.B. ein oder mehrere  logi.CAD 3 -Projekte).

Verwenden Sie einen leeren Arbeitsbereich oder entfernen Sie alle vorhandenen Daten aus dem aktuellen Arbeitsbereich.
Alternative: Rufen Sie das Werkzeug ohne den Parameter -checkEmptyWorkspace auf.
-7Import failed (-7): The object "name" does not exist in the project "name".

Sie haben einen Ordner angegeben. der im Projekt nicht vorhanden ist.

Geben Sie einen vorhandenen Ordner an.
-127Import failed. Details: exception messageEin unerwarteter Fehler ist aufgetreten.

Kontaktieren Sie  logi.cals .