Command Line Interface

Beschreibung der CLI - Nutzung

Voraussetzungen

Für die Nutzung von openValidation wird Java ab Version 8 benötigt. Hier kann das entsprechende JRE 1.8 heruntergeladen werden.

Ein Befehlsspracheninterpreter (CLI) ist ein Mittel zur Interaktion mit der openValidation.jar , bei dem der Benutzer Befehle an das Programm in Form von aufeinanderfolgenden Textzeilen (Befehlszeilen) eingibt.

openValidation.jar ist ein einfaches Java Command Line Interface, welches man hier herunterladen kann.

Optionen

Die Optionen geben die grundlegende Aktion an, die openValidation.jar ausführen soll und liefern zusätzliche Informationen darüber, wie der Befehl funktionieren soll.

Hier sind die möglichen Optionen aufgelistet:

Rule

Mit der Hilfe der Option Rule (-r) kann die Validierungsregel angegeben werden. Diese muss ein bestimmtes Format haben, um für die Software nutzbar zu sein.

Außerdem ist dies eine Pflicht-Option. Ohne Validierungsregel kann schließlich auch kein sinnvoller Code generiert werden.

Jede eingegebene Regel soll einen bestimmten Aufbau haben, um für openValidation lesbar zu sein.

Der Aufbau wird explizit durch die Grammatik definiert die von openValidation genutzt wird. Die Grammatik teilt die Eingaben in vier möglichen Elemente ein, die in einer Eingabe durch einen Absatz (doppelte Leerzeile) getrennt werden müssen.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
     -s "{Nachricht : \"Text\"}" 

Die Regeln können als reiner Text geschrieben werden. Außerdem besteht die Möglichkeit des Einfügens einer URL oder eines Pfades zu einer Datei mit diversen Validierungsregeln. Wenn es mehrere Regel in einem gleichen Kontext geben soll, wird empfohlen diese in einer Datei bzw. URL abzuspeichern. Bei einem Verweis auf eine Datei wird empfohlen, die Datei in UTF-8 zu formatieren.

java -jar openvalidation.jar ^
     -r C:/Pfad_zum_Ordner/regeln.txt ^
     -s "{Wohnort : \"Berlin\"}" 

Schema

Mit Hilfe der Option Schema (-s) kann das Schema definiert werden. Dadurch kann openValidation erkennen, welche Eigenschaften und Typen für den Output benötigt werden.

Außerdem ist dies eine Pflicht-Option. Ohne Eingabe des Schemas kann kein Code generiert werden kann.

Das Schema wird im JSON-Format angegeben. Bei einem Verweis auf eine Datei wird empfohlen die Datei in UTF-8 zu formatieren.

java -jar openvalidation.jar ^
     -r "WENN der Typ DES Fahrzeug IST Fahrrad DANN Fahrradkuriere sind erwünscht" ^
     -s "{Fahrzeug: {Typ : \"Fahrrad\"}}"

Um Fehler bei der Eingabe des Schemas zu vermeiden, wird empfohlen, den Pfad zu dem gewünschten Schema anzugeben.

java -jar openvalidation.jar ^
     -r "WENN der Typ DES Fahrzeug IST Fahrrad DANN Fahrradkuriere sind erwünschscht" ^
     -s C:/Pfad_zum_Ordner/schema.json

Culture

Mit Hilfe der Option Culture (-c) kann die natürliche Sprache angegeben werden, in der die Validierungsregeln verfasst wurden.

Diese Option ist keine Pflicht. Wenn keine Angaben zu der natürlichen Sprache vorliegen, wird die Sprache des Betriebssystems / Nutzers benutzt.

Wichtig ist dabei zu beachten, dass die Sprache der Validierungsregel auch der natürlichen Sprache entspricht, die mit der Culture-Option festgelegt wird.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt!" ^
     -s "{Nachricht : \"Text\"}" ^
     -c de

Sprachen

Folgende Sprachen werden zurzeit unterstützt:

java -jar openvalidation.jar ^
     -r "IF the Message EQUALS hallo THEN Hello World" ^
     -s "{Message : \"Text\"}" ^
     -c en

Language

Mit der Option Language (-l) kann die Programmiersprache des Outputs angegeben werden.

Diese Option ist keine Pflicht. Wenn die Programmiersprache nicht explizit angegeben wurde, wird standardmäßig Java als Output ausgegeben.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
     -s "{Nachricht : \"Text\"}" ^
     -l javascript 

Programmiersprachen

Folgende Programmiersprachen werden zurzeit unterstützt:

Außerdem können alle verfügbaren Programmiersprachen durch die Option --al (-a) ausgegeben werden. Diese Option kann auch ohne Eingabe anderer Optionen bzw. Pflicht-Optionen genutzt werden.

java -jar openvalidation.jar /
     -a

Output

Mit Hilfe der Option Output (-o) kann der Output in einer Datei oder einem Ordner gespeichert werden. Wenn diese Option nicht definiert wurde, wird die Ausgabe nur in der Konsole ausgegeben.

Festlegung des Pfades für Dateien und Ordner zum Speichern des generierte Codes.

In diesen Pfad werden die Regel und das Framework in der entsprechenden Programmiersprache generiert. Es werden immer zwei Dateien generiert.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
     -s "{Nachricht : \"Text\"}" ^
     -o C:/Pfad_zum_Ordner

Single File

Um den Output auf eine Datei zu reduzieren, gibt es die Option Single-File (-f). Durch Aktivierung dieser Option wird nur eine einzelne Datei erstellt. Diese enthält die Regel und das dazugehörige Framework.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
     -s "{Nachricht : \"Text\"}" ^
     -o C:/Pfad_zum_Ordner ^
     -f

Verbose

Mit Hilfe der Option Verbose (-v) kann zusätzlicher Output ausgegeben werden. Dieser hilft dabei, den generierten Code und zusätzlich die ausgeführten Schritte besser zu verstehen.

Außerdem kann jeder Schritt der Generierung genau analysiert werden. Diese Option erleichtert das Finden von Fehlern und somit die Verifizierung möglicher falscher Eingaben.

Zusätzlich zu allen Eingaben wird auch jeder Schritt des gesamten Prozesses dargestellt.

java -jar openvalidation.jar ^
     -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
     -s "{Nachricht : \"Text\"}" ^
     -v

Params

Mit der Hilfe der Option Params (-p) kann man den generierten Code customizen. Mehrere Parameter werden im Format name=value und durch Semikolon getrennt eingegeben.

java -jar openvalidation.jar ^
   -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
   -s "{Nachricht : \"Text\"}" ^
   -p model_type=io.openvalidation.Data;^
      generated_class_namespace=io.openvalidation.rules;^
      generated_class_name=MyRuleSet

model_type (default=leer) ist ein kompletter(package + classname) Name des externen Typen des Models. Diese Angabe wird zum deklarieren des Models innerhalb des generierten Codes verwendet.

generated_class_namespace (default=io.openvalidation.rules) ist der Name des packages der generierten Klassen. Sowohl das Framework als auch die Implementierung(das eigentlich Rule Set) bekommen diesen Packagenamen zugewiesen.

generated_class_name (default=HUMLValidator) ist der Name der generierten Klasse, die die eigentliche Implementierung des Rule Sets enthält.

No Banner

Mit der Hilfe der Option No-Banner (-n) kann der Banner aus der Konsole entfernt werden.

java -jar openvalidation.jar ^
   -r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
   -s "{Nachricht : \"Text\"}" ^
   -n true

Help

Durch Nutzung der Option Help (-h) kann die Hilfe ausgegeben werden.

Diese Option bietet Hilfestellungen für den Umgang mit der openValidation - CLI an.

java -jar openvalidation.jar ^
     -h

Last updated