Ich habe eine Reihe von Regeln für jeden meiner Benutzer. Im Moment sind diese Regeln in einer Datei eingerichtet. Aber ich möchte meinen Benutzern erlauben, Regeln zu ändern/hinzuzufügen. Die Regeln sind nicht so kompliziert. Zum Beispiel, unten sind ein paar Regeln:Den Endbenutzern erlauben, die Regeldatei zu ändern
rule "Rule 1"
when
$order : OrderInfo(getOrderDate() < new Date(...)
then
$order.setReturnEligibility(false);
end
rule "Rule 2"
when
$item : ItemInfo(nonReturnableCategory.contains(getItemCategory().toLowerCase()))
then
$item.setReturnEligibility(false);
end
rule "Rule 3"
when
$item : ItemInfo(isFinalSale())
then
$item.setReturnMethod(...);
end
Ich möchte eine Benutzeroberfläche ähnlich Drools Werkbank bauen. Aber das ist für den Endkunden, also möchte ich, dass es eine sehr einfache, benutzerfreundliche Oberfläche ist. Und ich plante, die Regeln in einer Datenbank zu speichern.
Ich möchte den Benutzern erlauben, neue Regeln hinzuzufügen und bestehende zu ändern. Zum Beispiel, wenn Regel 3 oben nicht verfügbar war, wird der Benutzer eine Dropdown-Liste in der Benutzeroberfläche haben, wo er die Kategorien auswählen kann, die nicht zurückgegeben werden können. Oder sie können eine der Regeln aktivieren oder deaktivieren.
Was ich wissen wollte, ist, was ist der beste Weg, um die Regeln zu erhalten? Sollte ich nur die gesamte Regel-Datei als eine Zeichenfolge in der DB mit einer Art von Platzhaltern haben, und die Zeichenfolge ändern, wenn der Benutzer die Regeln hinzufügt/aktualisiert? Ich benutze Drools 6.2. Ich weiß, dass die Frage irgendwie vage ist, aber ich habe keine Ahnung, wie/wo ich anfangen soll, also wird jeder Vorschlag geschätzt.
Danke.
Ihre "Endbenutzer" kennen zumindest eine solide Java-Untermenge? Bist du sicher? * – laune