use of com.peterphi.rules.types.Rules in project stdlib by petergeneric.
the class RulesDaemon method execute.
@Override
protected void execute() throws Exception {
if (!enabled)
// We have been disabled
return;
Rules rules = rulesProvider.get();
rulesEngine.run(rules, true);
}
use of com.peterphi.rules.types.Rules in project stdlib by petergeneric.
the class RulesUIServiceImpl method getIndex.
@Override
public String getIndex() {
final TemplateCall call = templater.template("rules");
call.set("daemon", rulesDaemon);
boolean inputsValid;
Rules rules = null;
try {
rules = rulesProvider.get();
Map<String, Object> varMap = rulesEngine.prepare(rules);
call.set("varMap", varMap);
inputsValid = true;
} catch (Exception e) {
inputsValid = false;
call.set("inputsError", e.getMessage());
}
boolean expressionsValid;
try {
if (rules != null) {
Map<String, String> validationResults = rulesEngine.validateSyntax(rules);
if (validationResults.size() > 0) {
expressionsValid = false;
call.set("expressionsErrorMap", validationResults);
call.set("expressionsError", "Parse erorrs");
} else {
expressionsValid = true;
}
} else {
call.set("expressionsError", "Rules not loaded!");
expressionsValid = false;
}
} catch (Exception e) {
expressionsValid = false;
call.set("expressionsError", e.getMessage());
}
call.set("inputsValid", inputsValid);
call.set("expressionsValid", expressionsValid);
return call.process();
}
Aggregations