Возникли проблемы с синтаксисом drools. Не уверен, в чем проблема. Должен ли я снова привести «$ values1» к HashMap в части «then» правила?
Вот сообщение об ошибке: метод get (String) не определен для типа Object
import drools.spring.example.beans.*;
import drools.spring.example.controller.*;
import java.util.Date;
import java.util.HashMap;
import java.util.ArrayList;
rule "Chr check"
when
$values1: HashMap() and
$allPatients: ArrayList() and
$d: Date()
then
for(Patient p : (ArrayList<Patient>) $allPatients) {
for(Appointment pr : (ArrayList<Appointment>) p.getAppointments()) {
if(pr.getDateOfAppointment().after(workWithDates($d, "-", 1, 2))) {
//Following line is where the error occurs
$values1.get(p.getIdPatient()).put((String) pr.getDiagnosedDisease().getName(), (int) $values1.get((String)p.getIdPatient()).get(pr.getDiagnosedDisease().getName())+1);
}
}
}
end