public ActionForward setEvaluations(
      ActionMapping mapping,
      ActionForm actionForm,
      HttpServletRequest request,
      HttpServletResponse response) {
    List<List<MarkSheetEnrolmentEvaluationBean>> evaluationsList = getCurriculumEntries();

    StudentCurricularPlan studentCurricularPlan = readStudentCurricularPlan(request);
    ExecutionSemester selectedSemester = readExecutionSemester(request);

    try {
      studentCurricularPlan.setEvaluationsForCurriculumValidation(evaluationsList);

      for (int i = 0; i < evaluationsList.size(); i++) {
        RenderUtils.invalidateViewState("set.evaluations.form." + i);
      }

    } catch (DomainException e) {
      if ("error.grade.invalid.grade".equals(e.getMessage())) {
        addActionMessage("grade-messages", request, "error.invalid.grade");
      } else {
        throw e;
      }
    }

    return prepareSetEvaluations(mapping, actionForm, request, response);
  }
  public ActionForward editEvaluations(
      ActionMapping mapping,
      ActionForm actionForm,
      HttpServletRequest request,
      HttpServletResponse response) {
    try {
      List<List<MarkSheetEnrolmentEvaluationBean>> evaluationsList = getCurriculumEntries();

      StudentCurricularPlan studentCurricularPlan = readStudentCurricularPlan(request);

      ExecutionSemester executionSemester = readExecutionSemester(request);
      studentCurricularPlan.setEvaluationsForCurriculumValidation(evaluationsList);

      return prepareSetEvaluations(mapping, actionForm, request, response);
    } catch (DomainException e) {
      if ("error.grade.invalid.grade".equals(e.getMessage())) {
        addActionMessage("grade-messages", request, "error.invalid.grade");

        return prepareEditEvaluation(mapping, actionForm, request, response);
      }

      throw e;
    }
  }