infoExecutionCourse.setNumberOfAttendingStudents(new Integer(executionCourse .getAttendingStudents() == null ? 0 : executionCourse.getAttendingStudents().size()));
infoExecutionCourse.setNumberOfAttendingStudents(executionCourse.getAttendsCount());
    public TeacherAdministrationSiteView run(Integer executionCourseId) throws FenixServiceException,            ExcepcaoPersistencia {        TeacherAdministrationSiteView siteView = new TeacherAdministrationSiteView();        ISuportePersistente sp = PersistenceSupportFactory.getDefaultPersistenceSupport();        IPersistentExecutionCourse persistentExecutionCourse = sp.getIPersistentExecutionCourse();        IExecutionCourse executionCourse = (IExecutionCourse) persistentExecutionCourse.readByOID(                ExecutionCourse.class, executionCourseId);        InfoSiteCourseInformation infoSiteCourseInformation = new InfoSiteCourseInformation();        InfoExecutionCourse infoExecutionCourse = InfoExecutionCourseWithExecutionPeriod                .newInfoFromDomain(executionCourse);        infoExecutionCourse.setNumberOfAttendingStudents(new Integer(executionCourse                .getAttendingStudents() == null ? 0 : executionCourse.getAttendingStudents().size()));        infoSiteCourseInformation.setInfoExecutionCourse(infoExecutionCourse);        IPersistentEvaluationMethod persistentEvaluationMethod = sp.getIPersistentEvaluationMethod();        IEvaluationMethod evaluationMethod = persistentEvaluationMethod                .readByIdExecutionCourse(executionCourse.getIdInternal());        if (evaluationMethod == null) {            InfoEvaluationMethod infoEvaluationMethod = new InfoEvaluationMethod();            infoEvaluationMethod.setInfoExecutionCourse(infoExecutionCourse);            infoSiteCourseInformation.setInfoEvaluationMethod(infoEvaluationMethod);        } else {            infoSiteCourseInformation.setInfoEvaluationMethod(InfoEvaluationMethod                    .newInfoFromDomain(evaluationMethod));        }        List responsiblesFor = executionCourse.responsibleFors();        List infoResponsibleTeachers = getInfoResponsibleTeachers(responsiblesFor, sp);        infoSiteCourseInformation.setInfoResponsibleTeachers(infoResponsibleTeachers);        List curricularCourses = executionCourse.getAssociatedCurricularCourses();        List infoCurricularCourses = getInfoCurricularCourses(curricularCourses, sp);        infoSiteCourseInformation.setInfoCurricularCourses(infoCurricularCourses);        List infoCurriculums = getInfoCurriculums(curricularCourses, sp);        infoSiteCourseInformation.setInfoCurriculums(infoCurriculums);        List infoLecturingTeachers = getInfoLecturingTeachers(executionCourse, sp);        infoSiteCourseInformation.setInfoLecturingTeachers(infoLecturingTeachers);        List infoBibliographicReferences = getInfoBibliographicReferences(executionCourse, sp);        infoSiteCourseInformation.setInfoBibliographicReferences(infoBibliographicReferences);        List infoDepartments = getInfoDepartments(responsiblesFor, sp);        infoSiteCourseInformation.setInfoDepartments(infoDepartments);        List infoLessons = getInfoLessons(executionCourse, sp);        infoSiteCourseInformation.setInfoLessons(getFilteredInfoLessons(infoLessons));        infoSiteCourseInformation.setNumberOfTheoLessons(getNumberOfLessons(infoLessons,                ShiftType.TEORICA.name(), sp));        infoSiteCourseInformation.setNumberOfPratLessons(getNumberOfLessons(infoLessons,                ShiftType.PRATICA.name(), sp));        infoSiteCourseInformation.setNumberOfTheoPratLessons(getNumberOfLessons(infoLessons,                ShiftType.TEORICO_PRATICA.name(), sp));        infoSiteCourseInformation.setNumberOfLabLessons(getNumberOfLessons(infoLessons,                ShiftType.LABORATORIAL.name(), sp));        IPersistentCourseReport persistentCourseReport = sp.getIPersistentCourseReport();        ICourseReport courseReport = persistentCourseReport                .readCourseReportByExecutionCourse(executionCourse.getIdInternal());        if (courseReport == null) {            InfoCourseReport infoCourseReport = new InfoCourseReport();            infoCourseReport.setInfoExecutionCourse(infoExecutionCourse);            infoSiteCourseInformation.setInfoCourseReport(infoCourseReport);        } else {            infoSiteCourseInformation.setInfoCourseReport(InfoCourseReport                    .newInfoFromDomain(courseReport));        }        List infoSiteEvaluationInformations = getInfoSiteEvaluationInformation(executionCourse                .getExecutionPeriod(), curricularCourses, sp);        infoSiteCourseInformation.setInfoSiteEvaluationInformations(infoSiteEvaluationInformations);        IPersistentSite persistentSite = sp.getIPersistentSite();        ISite site = persistentSite.readByExecutionCourse(executionCourse.getIdInternal());        siteView.setComponent(infoSiteCourseInformation);        ISiteComponent commonComponent = new InfoSiteCommon();        TeacherAdministrationSiteComponentBuilder componentBuilder = TeacherAdministrationSiteComponentBuilder                .getInstance();        commonComponent = componentBuilder.getComponent(commonComponent, site, null, null, null);        siteView.setCommonComponent(commonComponent);        return siteView;    }