infoExecPeriod = (InfoExecutionPeriod) session.getAttribute( SessionConstants.INFO_EXECUTION_PERIOD_KEY);
infoExecPeriod = RequestUtils.getExecutionPeriodFromRequest(request);
	public ActionForward executionCourseViewerSelectedByInitials(		ActionMapping mapping,		ActionForm form,		HttpServletRequest request,		HttpServletResponse response,		String exeCourseCode)		throws Exception {		HttpSession session = request.getSession(true);				ActionErrors errors = new ActionErrors();		InfoExecutionPeriod infoExecPeriod = null;		InfoExecutionCourse infoExecCourse = null;		if (session != null) {			infoExecPeriod =				(InfoExecutionPeriod) session.getAttribute(					SessionConstants.INFO_EXECUTION_PERIOD_KEY);			if (infoExecPeriod == null) {				infoExecPeriod =					RequestUtils.getExecutionPeriodFromRequest(request);			}			GestorServicos gestor = GestorServicos.manager();			Object args[] = { infoExecPeriod, exeCourseCode };			try {				infoExecCourse =					(InfoExecutionCourse) gestor.executar(						null,						"ReadExecutionCourse",						args);			} catch (FenixServiceException nee) {				errors.add(					ActionErrors.GLOBAL_ERROR,					new ActionError(nee.getMessage()));			} finally {				if (!errors.isEmpty()) {					saveErrors(request, errors);					return mapping.getInputForward();				}			}			if (infoExecCourse != null) {				RequestUtils.setExecutionCourseToRequest(request,infoExecCourse);											}			// Read associated curricular courses to display curricular course information.			Object argsReadCurricularCourseListOfExecutionCourse[] =				{ infoExecCourse };			List infoCurricularCourses =				(List) gestor.executar(					null,					"ReadCurricularCourseListOfExecutionCourse",					argsReadCurricularCourseListOfExecutionCourse);			if (infoCurricularCourses != null				&& !infoCurricularCourses.isEmpty()) {				request.setAttribute(					"publico.infoCurricularCourses",					infoCurricularCourses);			}			//start reading Gesdis related info			//read site			GestorServicos manager = GestorServicos.manager();			InfoSite site = null;			Object[] args2 = { infoExecCourse };			site = (InfoSite) manager.executar(null, "ReadSite", args2);			RequestUtils.setSiteToRequest(request,site);						//read Sections						RequestUtils.setSectionsToRequest(request,site);			//read responsible			Object[] args3 = { infoExecCourse };			List teacherList = null;			teacherList =				(List) manager.executar(					null,					"ReadTeachersByExecutionCourseResponsibility",					args3);			if (teacherList != null) {				request.setAttribute(					"resTeacherList",					teacherList);			}			//read	lecturing teachers			Object[] args4 = { infoExecCourse };			List lecturingTeacherList = null;			lecturingTeacherList =				(List) manager.executar(					null,					"ReadTeachersByExecutionCourseProfessorship",					args4);			if (lecturingTeacherList != null) {				lecturingTeacherList.removeAll(teacherList);				request.setAttribute(					"lecTeacherList",					lecturingTeacherList);			}			//			Read last Anouncement			Object args1[] = new Object[1];			args1[0] = site;			InfoAnnouncement lastAnnouncement = null;			try {				lastAnnouncement =					(InfoAnnouncement) manager.executar(						null,						"ReadLastAnnouncement",						args1);										request.setAttribute(					"lastAnnouncement",					lastAnnouncement);			} catch (FenixServiceException fenixServiceException) {				throw new FenixActionException(					fenixServiceException.getMessage());			}			return mapping.findForward("executionCourseViewer");		} else {			throw new Exception();		}	}