package net.sourceforge.fenixedu.applicationTier.Servico.bolonhaManager; import net.sourceforge.fenixedu.applicationTier.Service; import net.sourceforge.fenixedu.domain.CompetenceCourse; import net.sourceforge.fenixedu.domain.ExecutionYear; import net.sourceforge.fenixedu.domain.exceptions.DomainException; import net.sourceforge.fenixedu.domain.organizationalStructure.CCGUContext; import net.sourceforge.fenixedu.domain.organizationalStructure.ScientificAreaUnit; import net.sourceforge.fenixedu.persistenceTier.ExcepcaoPersistencia; import net.sourceforge.zas.metainfo.AccessControlled; public class CopyCompetenceCourse extends Service { @AccessControlled("MANAGER || BOLONHA_MANAGER || BOLONHA_MANAGER_SUPER_USER") public void run(Integer competenceCourseID, Integer scientificAreaUnitID, Integer beginExecutionYearID, Integer endExecutionYearID) throws ExcepcaoPersistencia { ExecutionYear beginExecutionYear = rootDomainObject.readExecutionYearByOID(beginExecutionYearID); ExecutionYear endExecutionYear = rootDomainObject.readExecutionYearByOID(endExecutionYearID); CompetenceCourse competenceCourse = rootDomainObject.readCompetenceCourseByOID(competenceCourseID); ScientificAreaUnit scientificAreaUnit = (ScientificAreaUnit) rootDomainObject.readPartyByOID(scientificAreaUnitID); if(scientificAreaUnit == null){ throw new DomainException("error.CopyCompetenceCourse.scientificAreaUnit.cannotBeNull"); } // create new context new CCGUContext(scientificAreaUnit.getCompetenceCourseGroupUnits().get(0), competenceCourse, beginExecutionYear, endExecutionYear); } }