@Override
protected PhdMeetingSchedulingProcess executeActivity(PhdMeetingSchedulingProcess process, User userView, Object object) {
final PhdThesisProcessBean bean = (PhdThesisProcessBean) object;
final PhdThesisProcess thesisProcess = process.getThesisProcess();
if (bean.isToNotify()) {
// Alert president jury element
AlertService.alertParticipants(thesisProcess.getIndividualProgramProcess(), AlertMessage
.create("message.phd.request.schedule.meeting.president.notification.subject"), AlertMessage
.create("message.phd.request.schedule.meeting.president.notification.body"), thesisProcess
.getPresidentJuryElement().getParticipant());
AlertService.alertResponsibleCoordinators(thesisProcess.getIndividualProgramProcess(), AlertMessage
.create("message.phd.request.schedule.meeting.coordinator.notification.subject"), AlertMessage.create(
"message.phd.request.schedule.meeting.coordinator.notification.body", thesisProcess.getPresidentJuryElement()
.getNameWithTitle()));
}
thesisProcess.createState(PhdThesisProcessStateType.WAITING_FOR_THESIS_MEETING_SCHEDULING, userView.getPerson(),
bean.getRemarks());
process.createState(PhdMeetingSchedulingProcessStateType.WAITING_FIRST_THESIS_MEETING_SCHEDULE, userView.getPerson(),
bean.getRemarks());
return process;