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


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


ConvertOemAsciiTo8859_1.ppp
#############################################################################
# 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.


GpgDecryptAndCharReplacement.ppp
############################################################################
# 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

GPG_decrypt.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