HttpServletRequest request, HttpServletResponse response) throws FenixActionException, FenixServiceException, FenixFilterException {
HttpServletRequest request, HttpServletResponse response) throws FenixActionException, FenixFilterException {
    public ActionForward viewCurricularCourseInformationHistory(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response) throws FenixActionException, FenixServiceException, FenixFilterException {        HttpSession session = request.getSession(false);        IUserView userView = (IUserView) session.getAttribute(SessionConstants.U_VIEW);        Integer infoCurricularCourseCode = getAndSetIntegerToRequest("infoCurricularCourseCode", request);        String executionYear = getAndSetStringToRequest("executionYear", request);        Integer degreeCurricularPlanID = getAndSetIntegerToRequest("degreeCurricularPlanID", request);                getAndSetStringToRequest("infoCurricularCourseName", request);        Object[] infoArgs = { degreeCurricularPlanID, new Integer(1) };	    InfoExecutionDegree infoExecutionDegree = (InfoExecutionDegreeWithInfoExecutionYearAndDegreeCurricularPlan) ServiceUtils	    .executeService(userView, "ReadExecutionDegreeByDegreeCurricularPlanID", infoArgs);        Integer infoExecutionDegreeCode = infoExecutionDegree.getIdInternal();                        InfoCurriculum infoCurriculum = null;        ActionErrors errors = new ActionErrors();        Object[] args = { infoExecutionDegreeCode, infoCurricularCourseCode, executionYear };        try {            infoCurriculum = (InfoCurriculum) ServiceUtils.executeService(userView,                    "ReadCurriculumHistoryByCurricularCourseCodeAndExecutionYearName", args);        } catch (NonExistingServiceException e) {            if (e.getMessage().equals("noCurricularCourse")) {                errors.add("chosenCurricularCourse", new ActionError(                        "error.coordinator.chosenCurricularCourse"));                saveErrors(request, errors);            } else if (e.getMessage().equals("noExecutionYear")) {                errors.add("chosenExecutionYear", new ActionError(                        "error.coordinator.chosenExecutionYear", executionYear));                saveErrors(request, errors);            } else {                throw new NonExistingActionException(e);            }        } catch (FenixServiceException e) {            if (e.getMessage().equals("nullCurricularCourse")) {                errors.add("nullCode", new ActionError("error.coordinator.noCurricularCourse"));                saveErrors(request, errors);            } else if (e.getMessage().equals("nullExecutionYearName")) {                errors.add("nullName", new ActionError("error.coordinator.noExecutionYear"));                saveErrors(request, errors);            } else {                throw new FenixActionException(e);            }        }        if (infoCurriculum == null) {            errors.add("noCurriculum", new ActionError("error.coordinator.noCurriculumInExecutionYear",                    executionYear));            saveErrors(request, errors);        }        if (!errors.isEmpty()) {            return mapping.findForward("degreeCurricularPlanManagementExecutionYears");        }        request.setAttribute("infoCurriculum", infoCurriculum);        request.setAttribute("canEdit", "false");        return mapping.findForward("viewCurricularCourseInformation");    }