}
}
else {
if (activityStart != null || activityEnd != null) {
// no solution
Issue issue = new Issue();
issue.setCode(Issue.NO_PLANNING);
issue.setType(Issue.TYPE.error);
issue.setMessage("No free interval found for the meeting");
issue.setTimestamp(DateTime.now().toString());
// TODO: generate hints
addIssue(issue);
Status status = activity.withStatus();
status.setStart(null);
status.setEnd(null);
status.setActivityStatus(Status.ACTIVITY_STATUS.error);
status.setUpdated(DateTime.now().toString());
state.put("activity", activity);
logger.info(issue.getMessage()); // TODO: cleanup logging
return true;
}
else {
// planning did not change (no solution was already the case)
}