/** * */ package net.sourceforge.fenixedu.applicationTier.Servico.softplanning; import net.sourceforge.fenixedu.applicationTier.Service; import net.sourceforge.fenixedu.domain.FutureTeacher; import net.sourceforge.fenixedu.domain.Teacher; import net.sourceforge.fenixedu.persistenceTier.ExcepcaoPersistencia; import net.sourceforge.zas.metainfo.AccessControlled; /** * @author Paulo Costa (paulo.costa@iscte.pt) * */ public class AssociateTeacherToFutureTeacher extends Service { /** * Creates a new future teacher or changes an existing one * * @throws ExcepcaoPersistencia */ @AccessControlled("DEGREE_ADMINISTRATIVE_OFFICE || SCIENTIFIC_COUNCIL || SOFTPLANNING") public void run(final Integer teacherToAssociateId, final Integer teacherId, String username) throws ExcepcaoPersistencia { FutureTeacher futureTeacher = rootDomainObject.readFutureTeacherByOID(teacherId); if (teacherToAssociateId != null) { Teacher teacher = rootDomainObject.readTeacherByOID(teacherToAssociateId); futureTeacher.setTeacher(teacher); } else if (futureTeacher.hasTeacher()) { futureTeacher.removeTeacher(); } } }