Я пытаюсь определить простое правило с помощью Drools 7 внутри моего приложения Java.
import com.ruleengine.domain.Alert;
import com.unifiedformat.UnifiedData;
import com.ruleengine.utils.DroolsUtils;
import java.util.*;
global com.ruleengine.domain.Alert alert;
dialect "java"
rule "Calculate MAE - Scenario 1"
when
mae : DroolsUtils.stringToDouble(UnifiedData(getData().getValue()) > 0.1);
then
alert.setAlertMessage("The MAE is over 0.1! It is an anomaly!");
alert.getNotifiedParties().add("SMS");
alert.getNotifiedParties().add("EMAIL");
alert.getNotifiedParties().add("FACEBOOK");
end
UnifiedData.getData (). GetValue () возвращает объект String, что-то вроде 0.094342 (случайно case)
Я пытаюсь разобрать эту строку в двойной, так как я хочу сравнить заданное значение строки с моим порогом (0,1).
Как я могу сделать это с Drools? Я получаю следующую ошибку с моим кодом:
Unable to resolve ObjectType 'DroolsUtils.stringToDouble' : [Rule name='Calculate MAE - Scenario 1']