Мне нужна небольшая помощь с назначением Drools и переменной.Drools получает информацию из базы данных во время выполнения
rule "check that no previously submitted requests exist"
when
$user : UserFormField(name == 'employeeId', value != null)
$repository : Repository()
$activeRequests : List() from $repository.findActiveRequestsByEmployee($user.getValue()) # call to repository
eval($activeRequests.size() > 0)
then
System.err.println(' You have active requests: ' + ((Request)$activeRequests.get(0)).getTitle);
insert(Boolean.TRUE);
end
В этом правиле я пытаюсь получить доступ к репозиторию и получать активные запросы для текущего пользователя. Правило компилируется и выполняется без каких-либо исключений или предупреждений. В режиме отладки видно, что репозиторий возвращает не пустой список, и я ожидаю увидеть сообщение консоли «У вас активные запросы», но этого не происходит. Я думаю, что проблема в этой строке
$activeRequests : List() from $repository.findActiveRequestsByEmployee($user.getValue())
потому, что это правило работает отлично
rule "check that no previously submitted requests exist"
when
$user : UserFormField(name == 'employeeId', value != null)
$repository : Repository()
eval($repository.findActiveRequestsByEmployee($user.getValue()).size() > 0)
then
System.err.println(' You have active requests !');
insert(Boolean.TRUE);
end
Так может кто-то момент мне, как решить эту проблему?
Спасибо!