Zum Inhalt

Erstellen und Verwenden von benutzerdefinierten Generatoren und Konvertern in DATAMIMIC

DATAMIMIC ermöglicht es Dir, benutzerdefinierte Generatoren und Konverter zu erstellen, um spezifische Anforderungen an die Datengenerierung zu erfüllen. Dieser Leitfaden erklärt, wie Du einen benutzerdefinierten Generator implementierst, ihn in Deiner XML-Konfiguration verwendest und ihn mit DATAMIMIC integrierst. Zusätzlich werden wir behandeln, wie Du die DATAMIMIC UI verwenden kannst, um eine Python-Skriptdatei für den benutzerdefinierten Generator zu erstellen.

Erstellen eines benutzerdefinierten Generators

Um einen benutzerdefinierten Generator zu erstellen, musst Du eine Python-Klasse definieren, die von der übergeordneten Klasse Generator erbt. Hier ist ein Beispiel für einen benutzerdefinierten String-Generator, der einem Zählerwert ein Präfix hinzufügt:

1
2
3
4
5
6
7
8
class CustomStringGenerator(Generator):
    def __init__(self, prefix: str = ""):
        self.prefix = prefix
        self.counter = 0

    def generate(self) -> str:
        self.counter += 1
        return f"{self.prefix}{self.counter}"

Erstellen eines benutzerdefinierten Konverters

Um einen benutzerdefinierten Konverter zu erstellen, musst Du eine Python-Klasse definieren, die von der übergeordneten Klasse Converter erbt. Hier ist ein Beispiel für einen benutzerdefinierten Konverter, der einen String in Großbuchstaben umwandelt:

1
2
3
class CustomConverter(Converter):
    def convert(self, value: str) -> str:
        return value.upper()

Verwenden des benutzerdefinierten Generators und Konverters in XML

Sobald Du Deinen benutzerdefinierten Generator definiert hast, kannst Du ihn in Deiner XML-Konfigurationsdatei verwenden. So kannst Du das machen:

1
2
3
4
    <generate name="script5" count="50" target="ConsoleExporter">
        <variable name="count" type="integer" generator="IncrementGenerator"/>
        <key name="generatorTest" generator="CustomStringGenerator(prefix=f'nr {count}-')" converter="CustomConverter"/>
    </generate>

Schritte zur Integration des benutzerdefinierten Generators und Konverters mit DATAMIMIC

1. Erstelle die Python-Skriptdatei

  • Erstelle eine Python-Skriptdatei (z.B. custom.py) mit der in ihr definierten benutzerdefinierten Generator- und\oder Konverterklasse.

2. Verwende die DATAMIMIC UI, um die Python-Skriptdatei zu erstellen

  1. Öffne DATAMIMIC UI:
  2. Navigiere zum Abschnitt Skripte.

  3. Erstelle ein neues Skript:

  4. Klicke auf "Neues Python-Skript erstellen".
  5. Gib den Skriptnamen ein (z.B. lib).

  6. Füge den benutzerdefinierten Generator-Code hinzu:

  7. Kopiere und füge den benutzerdefinierten Code in den Skript-Editor ein.
  8. Speichere das Skript.

3. Aktualisiere die Startdatei (datamimic.xml)

Stelle sicher, dass Deine benutzerdefinierte Python-Skriptdatei in der Startdatei (datamimic.xml) ausgeführt wird, um den benutzerdefinierten Generator im Kontext verfügbar zu machen. Hier ist ein Beispiel, wie Du dies in der Startdatei einbinden kannst:

1
2
3
4
5
6
7
8
9
<setup>
    <include uri="conf/base.properties"/>
    <memstore id="mem"/>

    <!-- Führe die benutzerdefinierte Skriptdatei aus, um sie im DATAMIMIC-Kontext verfügbar zu machen -->
    <execute uri="script/lib.scr.py"/>

    <include uri="1_generate.xml"/>
</setup>

4. Verwende den benutzerdefinierten Generator in Deiner XML-Konfiguration

Du kannst nun den benutzerdefinierten Generator in Deiner XML-Konfigurationsdatei verwenden, wie im vorherigen Abschnitt gezeigt.

1
<key name="generatorTest" generator="CustomStringGenerator(prefix=f'nr {count}-')" converter="CustomConverter"/>