/** * */ package net.sourceforge.fenixedu.applicationTier.Servico.softplanning; import net.sourceforge.fenixedu.applicationTier.Service; import net.sourceforge.fenixedu.domain.FutureTeacher; import net.sourceforge.fenixedu.domain.exceptions.DomainException; import net.sourceforge.fenixedu.persistenceTier.ExcepcaoPersistencia; import net.sourceforge.zas.metainfo.AccessControlled; /** * @author Paulo Costa (paulo.costa@iscte.pt) * */ public class DeleteFutureTeachers extends Service { /** * Deletes a future teacher if future teacher has no professorships * * @throws ExcepcaoPersistencia */ @AccessControlled("DEGREE_ADMINISTRATIVE_OFFICE || SCIENTIFIC_COUNCIL || SOFTPLANNING") public void run(final Integer teacherId) throws ExcepcaoPersistencia { FutureTeacher futureTeacher = rootDomainObject.readFutureTeacherByOID(teacherId); if (futureTeacher != null) { if (futureTeacher.hasAnyProfessorships()) { throw new DomainException("error.future.teacher.has.professorships"); } else { futureTeacher.delete(); } } else { throw new DomainException("error.future.teacher.does.not.exist"); } } }