private InfoSiteTeacherInformation getTeacherInformation(String user, ExecutionYear executionYear) throws ExcepcaoPersistencia {
private InfoSiteTeacherInformation getTeacherInformation(Teacher teacher, ExecutionYear executionYear) throws ExcepcaoPersistencia {
    private InfoSiteTeacherInformation getTeacherInformation(String user, ExecutionYear executionYear) throws ExcepcaoPersistencia {        InfoSiteTeacherInformation infoSiteTeacherInformation = new InfoSiteTeacherInformation();        Teacher teacher = Teacher.readTeacherByUsername(user);        InfoTeacher infoTeacher = InfoTeacher.newInfoFromDomain(teacher);        infoSiteTeacherInformation.setInfoTeacher(infoTeacher);        infoSiteTeacherInformation.setInfoQualifications(getInfoQualifications(teacher));        infoSiteTeacherInformation.setInfoProfessionalCareers(getInfoCareers(teacher, CareerType.PROFESSIONAL));        infoSiteTeacherInformation.setInfoTeachingCareers(getInfoCareers(teacher,CareerType.TEACHING));        ServiceProviderRegime serviceProviderRegime = teacher.getServiceProviderRegime();        if (serviceProviderRegime == null) {            InfoServiceProviderRegime infoServiceProviderRegime = new InfoServiceProviderRegime();            infoServiceProviderRegime.setInfoTeacher(infoTeacher);            infoSiteTeacherInformation.setInfoServiceProviderRegime(infoServiceProviderRegime);        } else {            InfoServiceProviderRegime infoServiceProviderRegime = InfoServiceProviderRegime.newInfoFromDomain(serviceProviderRegime);            infoSiteTeacherInformation.setInfoServiceProviderRegime(infoServiceProviderRegime);        }        infoSiteTeacherInformation.setInfoExternalActivities(getInfoExternalActivities(teacher));        infoSiteTeacherInformation.setInfoLecturingExecutionCourses(getInfoLecturingExecutionCourses(teacher, executionYear));        infoSiteTeacherInformation.setInfoResponsibleExecutionCourses(getInfoRepersistentSupportonsibleExecutionCourses(teacher, executionYear));        WeeklyOcupation weeklyOcupation = teacher.getWeeklyOcupation();        if (weeklyOcupation == null) {            InfoWeeklyOcupation infoWeeklyOcupation = new InfoWeeklyOcupation();            infoWeeklyOcupation.setInfoTeacher(infoTeacher);            infoWeeklyOcupation.setResearch(Integer.valueOf(0));            infoWeeklyOcupation.setManagement(Integer.valueOf(0));            infoWeeklyOcupation.setLecture(Integer.valueOf(0));            infoWeeklyOcupation.setSupport(Integer.valueOf(0));            infoWeeklyOcupation.setOther(Integer.valueOf(0));            infoSiteTeacherInformation.setInfoWeeklyOcupation(infoWeeklyOcupation);        } else {            InfoWeeklyOcupation infoWeeklyOcupation = InfoWeeklyOcupation.newInfoFromDomain(weeklyOcupation);            infoSiteTeacherInformation.setInfoWeeklyOcupation(infoWeeklyOcupation);        }        infoSiteTeacherInformation.setInfoDegreeOrientation(getInfoOrientation(teacher, OrientationType.DEGREE));        infoSiteTeacherInformation.setInfoMasterOrientation(getInfoOrientation(teacher, OrientationType.MASTER));        infoSiteTeacherInformation.setInfoPhdOrientation(getInfoOrientation(teacher, OrientationType.PHD));        infoSiteTeacherInformation.setInfoArticleChapterPublicationsNumber(getInfoPublicationsNumber(teacher, PublicationType.ARTICLES_CHAPTERS));        infoSiteTeacherInformation.setInfoEditBookPublicationsNumber(getInfoPublicationsNumber(teacher, PublicationType.EDITOR_BOOK));        infoSiteTeacherInformation.setInfoAuthorBookPublicationsNumber(getInfoPublicationsNumber(teacher, PublicationType.AUTHOR_BOOK));        infoSiteTeacherInformation.setInfoMagArticlePublicationsNumber(getInfoPublicationsNumber(teacher, PublicationType.MAG_ARTICLE));        infoSiteTeacherInformation.setInfoComunicationPublicationsNumber(getInfoPublicationsNumber(teacher, PublicationType.COMUNICATION));        infoSiteTeacherInformation.setInfoOldCientificPublications(getInfoOldPublications(teacher, OldPublicationType.CIENTIFIC));        infoSiteTeacherInformation.setInfoOldDidacticPublications(getInfoOldPublications(teacher, OldPublicationType.DIDACTIC));        ExecutionPeriod executionPeriod = ExecutionPeriod.readActualExecutionPeriod();        infoSiteTeacherInformation.setInfoExecutionPeriod(InfoExecutionPeriod.newInfoFromDomain(executionPeriod));        return infoSiteTeacherInformation;    }