У меня есть два списка объектов
A.Настройка: {Строковая команда, Строковая настройка}
B.Рекомендация: {String command: String рекомендованоSetting, String: risk}
Используя слюни, я хочу проверить, не совпадают ли какие-либо объекты настроек с рекомендациями, где команды равны, но настройка! = Рекомендуемые настройки.
У меня это работает, используя глобальный список для B, где объекты A добавляются в качестве фактов и все правила запускаются.
Я также могу ввести два списка в качестве фактов и сделать вложенный цикл, но это не кажется правильнымпуть.
import com.demo.drools.model.Setting;
import com.demo.drools.model.Recommendation;
import java.util.List;
global List<Recommendation> recommendations;
global List<Recommendation> suggestedRecommendations;
dialect "mvel"
rule "Check Setting For Recommendation"
when
$recommendation : Recommendation() from recommendations;
$setting: Setting(parameter == $recommendation.parameter && setting != $recommendation.setting)
then
suggestedRecommendations.add($recommendation);
end
Я надеялся получить какое-то руководство относительно того, является ли это наилучшей практикой / наиболее эффективным методом.