PPP-Konfiguration für Preparser
Die PPP-Konfiguration für Preparser fasst die beiden Konfigurations-Items für die Vorbearbeitung zusammen. PPP steht für preparser properties. Eine PPP-Datei ist eine spezielle Properties-Datei, beachten Sie deshalb bitte auch den Abschnitt Aufbau einer Properties-Datei.
Innerhalb der Datei wird zuerst mit dem Property preparser.class.name der vollständige Klassenname der Preparser-Klasse festgelegt, danach folgen die Konfigurations-Properties für diesen Preparser in gewohnter Weise.
Dadurch wird es möglich
die Preparser-Konfiguration als einfache Textdatei weiterzugeben,
auch Preparser-Klassen zu verwenden, die nicht in der Combobox zur Auswahl stehen,
den ChainPreParser zum Verketten mehrerer Preparser einfacher zu konfigurieren,
mit dem PreParserPostExecuter einen Preparser im Antwortweg zu verwenden,
Einen Preparser in der Funktion call-preparser( class a, [config b], [infile c], [result max kb size d], [input encoding e], [result encoding f]) aufzurufen,
im PreParserPostExecuter oder der Funktion verschiedene Konfigurationen zur Laufzeit über eine Variable umzuschalten.
Voraussetzungen
Wichtig: Die Konfiguration eines Preparsers mit einer PPP-Datei ist nur für solche Preparser möglich, die als Konfigurationsparameter den Pfad zu einer Konfigurationsdatei erwarten.
Die Preparser-Konfigurationsdatei muss im Ordner ./conf oder einem Unterverzeichnis darunter liegen und
die Konfigurationsdatei muss die Endung .ppp haben und
in der Konfigurationsdatei muss ein Property preparser.class.name den vollständigen Klassennamen des Preparsers definieren und
die angegebene Klasse muss im Classpath gefunden werden.
Wenn in der .ppp-Datei Variablen mit der Syntax @VAR_VARNAME@ verwendet werden, werden diese zur Laufzeit aufgelöst. Voraussetzung ist aber, dass diese Variablen im Profil definiert sind.
Konfiguration als Preparser
Die .ppp-Datei wird unterhalb ./conf gespeichert.
Auf Seite Erweiterungen (Basis-Daten) wählen Sie bei Vorverarbeitung als Preparser den PPPLauncher aus und als dessen Konfigurationsdatei die .ppp-Datei.
Bei fehlerfreier Konfiguration und wenn die Klasse im Classpath gefunden wird, wird der Klassenname des Preparsers in das Feld für den Klassennamen übernommen.
Beispiel für eine .ppp-Datei für den EncodingPatcher
#############################################################################
# properties for class com.ebd.hub.datawizard.parser.stream.EncodingPatcher #
#############################################################################
preparser.class.name=com.ebd.hub.datawizard.parser.stream.EncodingPatcher
# Umlaute sollen von OEM/ASCII nach ANSI/8859-1 umgesetzt werden
0x8e=0xc4
0x99=0xd6
0x9a=0xdc
0xe1=0xdf
0x84=0xe4
0x94=0xf6
0x81=0xfc
Konfiguration als Postexecuter
In Phase 6, bzw. in Phase 5 wird com.ebd.hub.datawizard.postexec.PreParserPostExecuter als Nachbehandlungs-Klasse ausgewählt.
Dann ist als Konfigurationsdatei nur noch der Pfad zur .ppp-Konfigurationsdatei des Preparsers anzugeben.
Dann wird der PreParserPostExecuter den, in der .ppp-Datei angegebenen, Preparser mit der Konfiguration der .ppp-Datei starten und die Zieldaten vor dem Versenden entsprechend bearbeiten. Der Pfad zur .ppp-Datei kann auch mit einer Variable gesetzt werden mit der Syntax @VARNAME@.
Hinweis: Bei fehlerhafter Konfiguration treten Laufzeitfehler auf.
Verwendung der PPP-Konfiguration für den ChainPreParser
Der ChainPreParser verkettet mehrere Preparser hintereinander. Wenn man beispielsweise eine GPG-verschlüsselte Datei erst entschlüsseln will und dann den Inhalt noch mit dem EncodingPatcher bearbeiten, kann folgende Konfiguration des ChainPreParsers verwendet werden.
############################################################################
# properties for class com.ebd.hub.datawizard.parser.stream.ChainPreParser #
############################################################################
preparser.class.name=com.ebd.hub.datawizard.parser.stream.ChainPreParser
#
# GPG Decryption durch Aufruf des GPG-Programmes.
#
ChainPosition.0=./conf/GPG_decrypt.ppp
#
# EncodingPatcher wandelt die Umlaute von OEM/ASCII nach ANSI/8859-1 um.
#
ChainPosition.1=./conf/ConvertOemAsciiTo8859_1.ppp
# sample properties for Preparser: com.ebd.hub.datawizard.parser.SystemCallPreParser
preparser.class.name=com.ebd.hub.datawizard.parser.SystemCallPreParser
#command is mandatory
#here: call of gpg. Note: PATH is not used to locate the command file.
# for calling a shell script or batch: start command processor (/bin/bash or C:/Windows/cmd.exe) with
# appropriate syntax
# gpg -d -o - - means: call gpg for decryption, use stdout (-o -) and stdin (-),
# keystore may not have a password!
command=C:/Programme/GNU/GnuPG/gpg.exe -d -o - -
# timeout for idle stdout. Each byte from command's stdout will reset the time. Default: 10000 (=10 sec)
#timeout=300000
# current directory for processing command. Default:
#directory=C:/tmp
# charset for error messages from command's stderr. Default: profile encoding
#charset=8859_1
# additional environment variable (here: HOME) for command. If already set in IS start env, the value is
# replaced.
#ENV.HOME=C:/users/demo