У меня есть коллекция (Карта) содержит данные 7 дней. Ключи хэш-карты - это даты в формате YYYY-MM-DD
Мне нужно создать правило, чтобы проверить, существует ли строка внутри List [String] в течение всех дней и всех дней подряд. Есть ли способ, которым я могу это сделать?Drools - Проверьте, существует ли карта последовательных дат.
Я пытаюсь использовать содержит, но это не включает проверку последовательных дат.
rule "bonus A"
lock-on-active true
when
dataBinding : DataBinding($data : data) items : List(size > 6)
from collect( List(this contains "1" &&
this contains "2" &&
this contains "3") from $data.values) then
dataBinding.addPoint(7.5);
end
И вот мой код
Map<String, Object> data = new HashMap<String, Object>();
data.put("2015-08-03", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-05", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-04", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-07", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-06", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-09", Arrays.asList("2", "3", "1", "4"));
data.put("2015-08-08", Arrays.asList("2", "3", "1", "4"));
DataBinding dataBinding = new DataBinding();
dataBinding.setData(data);
ksession.insert(dataBinding);
ksession.fireAllRules();
Спасибо за любые предложения.