DevOps Cloud (ADM)
Cybersecurity
IT Operations Management
package ch.sysmosoft.drool;
//generate from Decision table
import ch.sysmosoft.sense.common.model.RulesCalendar;
import ch.sysmosoft.sense.common.model.SessionContextHolder;
import ch.sysmosoft.sense.common.enums.AccessDeniedReason;
//rule values at A10, header at A5
rule "Morning"
when
session:SessionContextHolder(this != null)
calendar:RulesCalendar(weekday == true)
eval(calendar.isInInterval("07:00", "12:00"))
then
session.setAccessGranted(true);
session.setAccessDeniedReason(AccessDeniedReason.NO_REASON);
end
//rule values at A11, header at A5
rule "Lunch"
when
session:SessionContextHolder(this != null)
calendar:RulesCalendar(weekday == true)
eval(calendar.isInInterval("12:00", "13:30"))
then
session.setAccessGranted(false);
session.setAccessDeniedReason(AccessDeniedReason.NO_REASON);
end
//rule values at A12, header at A5
rule "Afternoon"
when
session:SessionContextHolder(this != null)
calendar:RulesCalendar(weekday == true)
eval(calendar.isInInterval("13:30", "17:30"))
then
session.setAccessGranted(true);
session.setAccessDeniedReason(AccessDeniedReason.NO_REASON);
end
//rule values at A13, header at A5
rule "Night"
when
session:SessionContextHolder(this != null)
calendar:RulesCalendar(weekday == true)
eval(calendar.isInInterval("17:30", "07:00"))
then
session.setAccessGranted(false);
session.setAccessDeniedReason(AccessDeniedReason.NO_REASON);
end
//rule values at A14, header at A5
rule "Weekend"
when
session:SessionContextHolder(this != null)
calendar:RulesCalendar(weekday == false)
then
session.setAccessGranted(false);
session.setAccessDeniedReason(AccessDeniedReason.NO_REASON);
end