"ReadExecutionDegreesByDegreeAndExecutionPeriod", args);
"ReadExecutionDegreesByDegreeAndExecutionPeriod", args1);
    public ActionForward showDescription(ActionMapping mapping, ActionForm actionForm,            HttpServletRequest request, HttpServletResponse response) throws Exception {        ActionErrors errors = new ActionErrors();              //  Locale locale = (Locale) request.getSession(false).getAttribute(Action.LOCALE_KEY);      //  Locale locale2 = request.getLocale();        String language = getLocaleLanguageFromRequest(request);              Integer executionPeriodOId = getFromRequest("executionPeriodOID", request);        // request.setAttribute("executionPeriodOID", executionPeriodOId);        Integer degreeId = getFromRequest("degreeID", request);        request.setAttribute("degreeID", degreeId);        Boolean inEnglish = getFromRequestBoolean("inEnglish", request);      //  request.setAttribute("inEnglish", inEnglish);        Integer index = getFromRequest("index", request);        request.setAttribute("index", index);        Integer executionDegreeId = getFromRequest("executionDegreeID", request);        request.setAttribute("executionDegreeID", executionDegreeId);        // If degreeId is null then this was call by coordinator        // Don't have a degreeId but a executionDegreeId        // It's necessary read the executionDegree and obtain the correspond        // degree        if (degreeId == null) {            // degree information            Object[] args = { executionDegreeId };            InfoExecutionDegree infoExecutionDegree = null;            try {                infoExecutionDegree = (InfoExecutionDegree) ServiceManagerServiceFactory.executeService(                        null, "ReadExecutionDegreeByOID", args);            } catch (FenixServiceException e) {                errors.add("impossibleDegreeSite", new ActionError("error.impossibleDegreeSite"));            }            if (infoExecutionDegree == null || infoExecutionDegree.getInfoDegreeCurricularPlan() == null                    || infoExecutionDegree.getInfoDegreeCurricularPlan().getInfoDegree() == null) {                errors.add("impossibleDegreeSite", new ActionError("error.impossibleDegreeSite"));            }            if (!errors.isEmpty()) {                saveErrors(request, errors);                return (new ActionForward(mapping.getInput()));            }            RequestUtils.setExecutionDegreeToRequest(request, infoExecutionDegree);            degreeId = infoExecutionDegree.getInfoDegreeCurricularPlan().getInfoDegree().getIdInternal();            request.setAttribute("degreeID", degreeId);            request.setAttribute("executionDegreeID", infoExecutionDegree.getIdInternal());            // Read execution period            InfoExecutionYear infoExecutionYear = infoExecutionDegree.getInfoExecutionYear();            if (infoExecutionYear == null) {                errors.add("impossibleDegreeSite", new ActionError("error.impossibleDegreeSite"));                saveErrors(request, errors);                return (new ActionForward(mapping.getInput()));            }            Object[] args2 = { infoExecutionYear };                        List executionPeriods = null;            try {                executionPeriods = (List) ServiceManagerServiceFactory.executeService(null,                        "ReadExecutionPeriodsByExecutionYear", args2);            } catch (FenixServiceException e) {                errors.add("impossibleDegreeSite", new ActionError("error.impossibleDegreeSite"));            }            if (executionPeriods == null || executionPeriods.size() <= 0) {                errors.add("impossibleDegreeSite", new ActionError("error.impossibleDegreeSite"));            }            if (!errors.isEmpty()) {                saveErrors(request, errors);                return (new ActionForward(mapping.getInput()));            }            Collections.sort(executionPeriods, new BeanComparator("endDate"));            InfoExecutionPeriod infoExecutionPeriod = ((InfoExecutionPeriod) executionPeriods                    .get(executionPeriods.size() - 1));            executionPeriodOId = infoExecutionPeriod.getIdInternal();            request.setAttribute(SessionConstants.EXECUTION_PERIOD, infoExecutionPeriod);            request.setAttribute(SessionConstants.EXECUTION_PERIOD_OID, infoExecutionPeriod                    .getIdInternal().toString());            request.setAttribute("schoolYear", infoExecutionYear.getYear());        }        // degree information        Object[] args = { executionPeriodOId, degreeId };        InfoDegreeInfo infoDegreeInfo = null;        try {            infoDegreeInfo = (InfoDegreeInfo) ServiceManagerServiceFactory.executeService(null,                    "ReadDegreeInfoByDegreeAndExecutionPeriod", args);        } catch (FenixServiceException e) {            errors.add("impossibleDegreeSite", new ActionError("error.public.DegreeInfoNotPresent"));            saveErrors(request, errors);            // return (new ActionForward(mapping.getInput()));        }        // execution degrees of this degree        List executionDegreeList = null;        try {            executionDegreeList = (List) ServiceManagerServiceFactory.executeService(null,                    "ReadExecutionDegreesByDegreeAndExecutionPeriod", args);        } catch (FenixServiceException e) {            errors.add("impossibleDegreeSite", new ActionError("error.impossibleExecutionDegreeList"));            saveErrors(request, errors);        }        request.setAttribute("infoDegreeInfo", infoDegreeInfo);        request.setAttribute("infoExecutionDegrees", executionDegreeList);       //        // done by the boce        infoDegreeInfo.prepareEnglishPresentation(language);        request.setAttribute("inEnglish", inEnglish);              return mapping.findForward("showDescription");    }