/* * ReadShiftsByExecutionDegreeAndCurricularYear.java * * Created on 2003/08/09 */ package net.sourceforge.fenixedu.applicationTier.Servico.resourceAllocationManager; import java.util.ArrayList; import java.util.List; import net.sourceforge.fenixedu.applicationTier.FenixService; import net.sourceforge.fenixedu.dataTransferObject.InfoCurricularYear; import net.sourceforge.fenixedu.dataTransferObject.InfoExecutionDegree; import net.sourceforge.fenixedu.dataTransferObject.InfoShift; import net.sourceforge.fenixedu.domain.CurricularYear; import net.sourceforge.fenixedu.domain.DegreeCurricularPlan; import net.sourceforge.fenixedu.domain.ExecutionCourse; import net.sourceforge.fenixedu.domain.ExecutionDegree; import net.sourceforge.fenixedu.domain.Shift; import net.sourceforge.fenixedu.domain.time.calendarStructure.AcademicInterval; import pt.ist.fenixWebFramework.security.accessControl.Checked; import pt.ist.fenixWebFramework.services.Service; public class ReadShiftsByExecutionPeriodAndExecutionDegreeAndCurricularYear extends FenixService { @Checked("RolePredicates.RESOURCE_ALLOCATION_MANAGER_PREDICATE") @Service public static List run(AcademicInterval academicInterval, InfoExecutionDegree infoExecutionDegree, InfoCurricularYear infoCurricularYear) { final ExecutionDegree executionDegree = rootDomainObject.readExecutionDegreeByOID(infoExecutionDegree.getIdInternal()); final DegreeCurricularPlan degreeCurricularPlan = executionDegree.getDegreeCurricularPlan(); final CurricularYear curricularYear = rootDomainObject.readCurricularYearByOID(infoCurricularYear.getIdInternal()); final List infoShifts = new ArrayList(); final List executionCourses = ExecutionCourse .filterByAcademicIntervalAndDegreeCurricularPlanAndCurricularYearAndName(academicInterval, degreeCurricularPlan, curricularYear, "%"); for (final ExecutionCourse executionCourse : executionCourses) { for (final Shift shift : executionCourse.getAssociatedShifts()) { final InfoShift infoShift = new InfoShift(shift); infoShifts.add(infoShift); } } return infoShifts; } }