package net.sourceforge.fenixedu.applicationTier.Servico.resourceAllocationManager; import java.util.ArrayList; import java.util.Set; import net.sourceforge.fenixedu.applicationTier.FenixService; import net.sourceforge.fenixedu.dataTransferObject.InfoExecutionCourse; import net.sourceforge.fenixedu.dataTransferObject.InfoExecutionCourseOccupancy; import net.sourceforge.fenixedu.dataTransferObject.InfoShift; import net.sourceforge.fenixedu.domain.ExecutionCourse; import net.sourceforge.fenixedu.domain.Shift; public class ReadShiftsByExecutionCourseID extends FenixService { public InfoExecutionCourseOccupancy run(Integer executionCourseID) { final InfoExecutionCourseOccupancy infoExecutionCourseOccupancy = new InfoExecutionCourseOccupancy(); infoExecutionCourseOccupancy.setInfoShifts(new ArrayList()); final ExecutionCourse executionCourse = rootDomainObject.readExecutionCourseByOID(executionCourseID); final Set shifts = executionCourse.getAssociatedShifts(); infoExecutionCourseOccupancy.setInfoExecutionCourse(InfoExecutionCourse.newInfoFromDomain(executionCourse)); for (final Shift shift : shifts) { Integer capacity = Integer.valueOf(1); if (shift.getLotacao() != null && shift.getLotacao().intValue() != 0) { capacity = shift.getLotacao(); } final InfoShift infoShift = InfoShift.newInfoFromDomain(shift); infoExecutionCourseOccupancy.getInfoShifts().add(infoShift); } return infoExecutionCourseOccupancy; } }