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:

Parameter

Abkürzung

Beschreibung

--rule

-r

Hier werden die Validierungsregeln definiert, die mit Hilfe von openValidation erstellt werden sollen

--schema

-s

Das Schema definiert die Datenstruktur des Datensatzes

--culture

-c

Diese Option definiert die natürliche Sprache, in welcher die Regeln definiert wurden

--language

-l

Diese Option definiert die Programmiersprache, in welcher der Code generiert werden soll

--output

-o

Die Output-Option definiert ein Verzeichnis, in dem die generierten Code-Dateien gespeichert werden. Ohne Angabe des Output-Parameters wird der generierte Code lediglich in der Console ausgegeben

--single-file

-f

Durch diese Option wird der Output als eine einzige Datei gespeichert. Diese Option ist abhängig vom angegeben Pfad für die Speicherung des Outputs

--params

-p

Eingabe bestimmter Parameter

--help

-h

Hilfe zu der openValidation - CLI aufrufen

--verbose

-v

Gibt die Logs von openValidation aus

--al

-a

Diese Option gibt die Liste aller verfügbaren Programmiersprachen aus.

--no-banner

-n

Diese Option bestimmt die Anzeige des Banners.

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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
-s "{Nachricht : \"Text\"}"
Unix
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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r C:/Pfad_zum_Ordner/regeln.txt ^
-s "{Wohnort : \"Berlin\"}"
Unix
java -jar openvalidation.jar \
-r /home/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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN der Typ DES Fahrzeug IST Fahrrad DANN Fahrradkuriere sind erwünscht" ^
-s "{Fahrzeug: {Typ : \"Fahrrad\"}}"
Unix
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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN der Typ DES Fahrzeug IST Fahrrad DANN Fahrradkuriere sind erwünschscht" ^
-s C:/Pfad_zum_Ordner/schema.json
Unix
java -jar openvalidation.jar \
-r "WENN der Typ DES Fahrzeug IST Fahrrad DANN Fahrradkuriere sind erwünscht" \
-s /home/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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt!" ^
-s "{Nachricht : \"Text\"}" ^
-c de
Unix
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:

Sprache

Befehl

Deutsch

-c de

Englisch

-c en

Russisch

-c ru

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.

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

Programmiersprachen

Folgende Programmiersprachen werden zurzeit unterstützt:

Programmiersprache

Befehl

Java

-l java

C#

-l csharp

JavaScript

-l javascript

Python

-l python

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.

Windows
Unix
Windows
java -jar openvalidation.jar /
-a
Unix
java -jar openvalidation.jar \
--al

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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
-s "{Nachricht : \"Text\"}" ^
-o C:/Pfad_zum_Ordner
Unix
java -jar openvalidation.jar \
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" \
-s "{Nachricht : \"Text\"}" \
-o /home/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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
-s "{Nachricht : \"Text\"}" ^
-o C:/Pfad_zum_Ordner ^
-f
Unix
java -jar openvalidation.jar \
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" \
-s "{Nachricht : \"Text\"}" \
-o /home/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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
-s "{Nachricht : \"Text\"}" ^
-v
Unix
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.

Windows
Unix
Windows
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
Unix
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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-r "WENN die Nachricht IST GLEICH hallo DANN Hallo Welt" ^
-s "{Nachricht : \"Text\"}" ^
-n true
Unix
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.

Windows
Unix
Windows
java -jar openvalidation.jar ^
-h
Unix
java -jar openvalidation.jar \
-h