HttpServletResponse response) throws FenixActionException {
HttpServletResponse response) throws FenixActionException, FenixServiceException {
    public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request,            HttpServletResponse response) throws FenixActionException {        HttpSession session = request.getSession(true);        if (session != null) {           IUserView userView = (IUserView) request.getSession().getAttribute(SessionConstants.U_VIEW);            		   String[] allCurricularYears = { "1", "2", "3", "4", "5" };		   List curricularYears = new ArrayList(allCurricularYears.length);		   for (int i = 0; i < allCurricularYears.length; i++)			   curricularYears.add(new Integer(allCurricularYears[i]));		   request.setAttribute("curricularYearList", curricularYears);        	          Integer degreeId = getFromRequest("degreeID", request);          request.setAttribute("degreeID", degreeId);          Integer executionDegreeId = getFromRequest("executionDegreeID", request);          request.setAttribute("executionDegreeID", executionDegreeId);          Integer degreeCurricularPlanId = (Integer)request.getAttribute("degreeCurricularPlanID");          request.setAttribute("degreeCurricularPlanID", degreeCurricularPlanId);          InfoExecutionPeriod infoExecutionPeriod = (InfoExecutionPeriod) request                .getAttribute(SessionConstants.EXECUTION_PERIOD);          request.setAttribute(SessionConstants.EXECUTION_PERIOD, infoExecutionPeriod);          request.setAttribute(SessionConstants.EXECUTION_PERIOD_OID, infoExecutionPeriod                .getIdInternal().toString());		          InfoExecutionDegree infoExecutionDegree = (InfoExecutionDegree) request                .getAttribute(SessionConstants.EXECUTION_DEGREE);          InfoExamsMap infoExamsMap = new InfoExamsMap();		  InfoExamsMap infoExamsMapFirst = new InfoExamsMap();						            List infoExamsMapList = new ArrayList();            if (infoExecutionDegree == null) {				List infoExecutionDegreeList = (List)request.getAttribute(SessionConstants.EXECUTION_DEGREE_LIST);								infoExamsMap = getInfoExamsMapList(infoExecutionDegreeList,infoExecutionPeriod,curricularYears,userView,request);									infoExecutionDegree = (InfoExecutionDegree)infoExecutionDegreeList.get(0);				for (int i=1;i<infoExecutionDegreeList.size();i++) {											if (infoExecutionDegree.getInfoDegreeCurricularPlan().getIdInternal()!= degreeCurricularPlanId )						infoExecutionDegree =  (InfoExecutionDegree)infoExecutionDegreeList.get(i);				}				request.setAttribute(SessionConstants.INFO_EXAMS_MAP,infoExamsMap);            }else {							infoExamsMap = getInfoExamsMap(infoExecutionDegree,infoExecutionPeriod,curricularYears,userView,request);				request.removeAttribute(SessionConstants.INFO_EXAMS_MAP_LIST);            }			request.setAttribute(SessionConstants.EXECUTION_DEGREE, infoExecutionDegree);			request.setAttribute("infoDegreeCurricularPlan", infoExecutionDegree						.getInfoDegreeCurricularPlan());						request.setAttribute("infoDegreeCurricularPlan", infoExecutionDegree						.getInfoDegreeCurricularPlan());			request.setAttribute(SessionConstants.INFO_EXAMS_MAP,infoExamsMap);			return mapping.findForward("viewExamsMap");			        }		throw new FenixActionException();    }