"ReadExecutionDegreeByDegreeCurricularPlanID", args_tmp);
"ReadCurrentExecutionDegreeByDegreeCurricularPlanID", args_tmp);
    public ActionForward prepare(ActionMapping mapping, ActionForm form, HttpServletRequest request,            HttpServletResponse response) throws FenixActionException, FenixFilterException {        IUserView userView = SessionUtils.getUserView(request);//        InfoExecutionDegree infoExecutionDegree = (InfoExecutionDegree) session//                .getAttribute(SessionConstants.MASTER_DEGREE);        Integer degreeCurricularPlanID = null;        if(request.getParameter("degreeCurricularPlanID") != null){            degreeCurricularPlanID = new Integer(request.getParameter("degreeCurricularPlanID"));            request.setAttribute("degreeCurricularPlanID", degreeCurricularPlanID);        }        InfoExecutionDegree infoExecutionDegree = null;        Object args_tmp[] = { degreeCurricularPlanID, new Integer(2) };                try {            infoExecutionDegree = (InfoExecutionDegree) ServiceUtils.executeService(userView,                    "ReadExecutionDegreeByDegreeCurricularPlanID", args_tmp);        } catch (FenixServiceException e) {            throw new FenixActionException(e);        }                Object args[] = { infoExecutionDegree.getIdInternal() };        List finalDegreeWorkProposalHeaders = null;        try {            finalDegreeWorkProposalHeaders = (List) ServiceUtils.executeService(userView,                    "ReadFinalDegreeWorkProposalHeadersForDegreeCurricularPlan", args);            if (finalDegreeWorkProposalHeaders != null && !finalDegreeWorkProposalHeaders.isEmpty()) {                Collections.sort(finalDegreeWorkProposalHeaders, new BeanComparator("proposalNumber"));                request.setAttribute("finalDegreeWorkProposalHeaders", finalDegreeWorkProposalHeaders);            }        } catch (FenixServiceException e) {            throw new FenixActionException(e);        }        try {            InfoScheduleing infoScheduleing = (InfoScheduleing) ServiceUtils.executeService(userView,                    "ReadFinalDegreeWorkProposalSubmisionPeriod", args);            if (infoScheduleing != null) {                SimpleDateFormat dateFormatDate = new SimpleDateFormat("dd/MM/yyyy");                SimpleDateFormat dateFormatHour = new SimpleDateFormat("HH:mm");                DynaActionForm finalDegreeWorkScheduleingForm = (DynaActionForm) form;                if (infoScheduleing.getStartOfProposalPeriod() != null) {                    finalDegreeWorkScheduleingForm.set("startOfProposalPeriodDate", dateFormatDate                            .format(infoScheduleing.getStartOfProposalPeriod()));                    finalDegreeWorkScheduleingForm.set("startOfProposalPeriodHour", dateFormatHour                            .format(infoScheduleing.getStartOfProposalPeriod()));                }                if (infoScheduleing.getEndOfProposalPeriod() != null) {                    finalDegreeWorkScheduleingForm.set("endOfProposalPeriodDate", dateFormatDate                            .format(infoScheduleing.getEndOfProposalPeriod()));                    finalDegreeWorkScheduleingForm.set("endOfProposalPeriodHour", dateFormatHour                            .format(infoScheduleing.getEndOfProposalPeriod()));                }                List attributedByTeacherList = new ArrayList();                List attributionsList = new ArrayList();                if (finalDegreeWorkProposalHeaders != null) {                    for (int i = 0; i < finalDegreeWorkProposalHeaders.size(); i++) {                        FinalDegreeWorkProposalHeader finalDegreeWorkProposalHeader = (FinalDegreeWorkProposalHeader) finalDegreeWorkProposalHeaders                                .get(i);                        InfoGroup infoGroup = finalDegreeWorkProposalHeader                                .getGroupAttributedByTeacher();                        if (infoGroup != null) {                            attributedByTeacherList.add(finalDegreeWorkProposalHeader.getIdInternal()                                    .toString()                                    + infoGroup.getIdInternal().toString());                        }                        infoGroup = finalDegreeWorkProposalHeader.getGroupAttributed();                        if (infoGroup != null) {                            attributionsList.add(finalDegreeWorkProposalHeader.getIdInternal()                                    .toString()                                    + infoGroup.getIdInternal().toString());                        }                    }                    String[] attributedByTeacher = new String[attributedByTeacherList.size()];                    for (int i = 0; i < attributedByTeacherList.size(); i++) {                        attributedByTeacher[i] = (String) attributedByTeacherList.get(i);                    }                    String[] attributions = new String[attributionsList.size()];                    for (int i = 0; i < attributionsList.size(); i++) {                        attributions[i] = (String) attributionsList.get(i);                    }                    finalDegreeWorkScheduleingForm.set("attributedByTeacher", attributedByTeacher);                    finalDegreeWorkScheduleingForm.set("attributions", attributions);                }                FormBeanConfig fbc = new FormBeanConfig();                fbc.setModuleConfig(mapping.getModuleConfig());                fbc.setName("finalDegreeWorkCandidacyPeriod");                DynaActionFormClass dafc = DynaActionFormClass.createDynaActionFormClass(fbc);                DynaActionForm finalDegreeWorkCandidacyPeriodForm;                try {                    finalDegreeWorkCandidacyPeriodForm = (DynaActionForm) dafc.newInstance();                } catch (Exception e1) {                    throw new FenixActionException(e1);                }                if (infoScheduleing.getStartOfCandidacyPeriod() != null) {                    finalDegreeWorkCandidacyPeriodForm.set("startOfCandidacyPeriodDate", dateFormatDate                            .format(infoScheduleing.getStartOfCandidacyPeriod()));                    finalDegreeWorkCandidacyPeriodForm.set("startOfCandidacyPeriodHour", dateFormatHour                            .format(infoScheduleing.getStartOfCandidacyPeriod()));                }                if (infoScheduleing.getEndOfCandidacyPeriod() != null) {                    finalDegreeWorkCandidacyPeriodForm.set("endOfCandidacyPeriodDate", dateFormatDate                            .format(infoScheduleing.getEndOfCandidacyPeriod()));                    finalDegreeWorkCandidacyPeriodForm.set("endOfCandidacyPeriodHour", dateFormatHour                            .format(infoScheduleing.getEndOfCandidacyPeriod()));                }                request.setAttribute("finalDegreeWorkCandidacyPeriod",                        finalDegreeWorkCandidacyPeriodForm);                FormBeanConfig fbc2 = new FormBeanConfig();                fbc2.setModuleConfig(mapping.getModuleConfig());                fbc2.setName("finalDegreeWorkCandidacyRequirements");                DynaActionFormClass dafc2 = DynaActionFormClass.createDynaActionFormClass(fbc2);                DynaActionForm finalDegreeWorkCandidacyRequirementsForm;                try {                    finalDegreeWorkCandidacyRequirementsForm = (DynaActionForm) dafc2.newInstance();                } catch (Exception e1) {                    throw new FenixActionException(e1);                }                if (infoScheduleing.getMinimumNumberOfCompletedCourses() != null) {                    finalDegreeWorkCandidacyRequirementsForm.set("minimumNumberOfCompletedCourses",                            infoScheduleing.getMinimumNumberOfCompletedCourses().toString());                }                if (infoScheduleing.getMinimumNumberOfStudents() != null) {                    finalDegreeWorkCandidacyRequirementsForm.set("minimumNumberOfStudents",                            infoScheduleing.getMinimumNumberOfStudents().toString());                }                if (infoScheduleing.getMaximumNumberOfStudents() != null) {                    finalDegreeWorkCandidacyRequirementsForm.set("maximumNumberOfStudents",                            infoScheduleing.getMaximumNumberOfStudents().toString());                }                if (infoScheduleing.getMaximumNumberOfProposalCandidaciesPerGroup() != null) {                    finalDegreeWorkCandidacyRequirementsForm.set(                            "maximumNumberOfProposalCandidaciesPerGroup", infoScheduleing                                    .getMaximumNumberOfProposalCandidaciesPerGroup().toString());                }                request.setAttribute("finalDegreeWorkCandidacyRequirements",                        finalDegreeWorkCandidacyRequirementsForm);            }        } catch (FenixServiceException e) {            throw new FenixActionException(e);        }        return mapping.findForward("show-final-degree-work-list");    }