/**
  * This method checks for the informations like Does narrative include merit review criteria,
  * URL's should not be included in the narrative Does narrative include info regarding prior
  * support,HR Info that is mandatory for renewals from academic institutions
  *
  * @return ProjectNarrative object containing project narrative information details.
  */
 private ProjectNarrative getProjectNarrative() {
   ProjectNarrative projectNarrative = ProjectNarrative.Factory.newInstance();
   projectNarrative.setCheckProjectNarrative(
       YesNoDataType.Enum.forInt(getChecklistAnswer(QUESTION_ID_9)));
   projectNarrative.setCheckURL(
       YesNoNotApplicableDataType.Enum.forInt(getChecklistAnswer(QUESTION_ID_SPACE_CHANGE)));
   return projectNarrative;
 }
  /**
   * Setting the Coversheet and ProjectNarrative details according the Questionnaire Answers.
   *
   * @param coverSheet
   * @param projectNarrative
   */
  private void setQuestionnaireAnswers(CoverSheet coverSheet, ProjectNarrative projectNarrative) {
    List<Answer> answers =
        s2sUtilService.getQuestionnaireAnswers(
            pdDoc.getDevelopmentProposal(), getNamespace(), getFormName());
    for (Answer answer : answers) {
      switch (answer.getQuestion().getQuestionIdAsInteger()) {
        case PRELIMINARY:
          YesNoNotApplicableDataType.Enum yesNoNotApplicableDataType =
              YesNoNotApplicableDataType.N_NO;
          if (QUESTIONNAIRE_ANSWER_YES.equals(answer.getAnswer())) {
            yesNoNotApplicableDataType = YesNoNotApplicableDataType.Y_YES;
          } else if (QUESTIONNAIRE_ANSWER_NO.equals(answer.getAnswer())) {
            yesNoNotApplicableDataType = YesNoNotApplicableDataType.N_NO;
          } else if (QUESTIONNAIRE_ANSWER_X.equals(answer.getAnswer())) {
            yesNoNotApplicableDataType = YesNoNotApplicableDataType.NA_NOT_APPLICABLE;
          }
          coverSheet.setCheckFullApp(yesNoNotApplicableDataType);
          break;
        case MERIT_REVIEW:
          if (QUESTIONNAIRE_ANSWER_YES.equals(answer.getAnswer())) {
            projectNarrative.setCheckMeritReview(YesNoNotApplicableDataType.Y_YES);
          } else if (QUESTIONNAIRE_ANSWER_NO.equals(answer.getAnswer())) {
            projectNarrative.setCheckMeritReview(YesNoNotApplicableDataType.N_NO);
          } else if (QUESTIONNAIRE_ANSWER_X.equals(answer.getAnswer())) {
            projectNarrative.setCheckMeritReview(YesNoNotApplicableDataType.NA_NOT_APPLICABLE);
          }
          break;

        case MENTORING:
          if (QUESTIONNAIRE_ANSWER_YES.equals(answer.getAnswer())) {
            projectNarrative.setCheckMentoring(YesNoNotApplicableDataType.Y_YES);
          } else if (QUESTIONNAIRE_ANSWER_NO.equals(answer.getAnswer())) {
            projectNarrative.setCheckMentoring(YesNoNotApplicableDataType.N_NO);
          }
          break;

        case PRIOR_SUPPORT:
          // Does narrative include info regarding prior support?
          if (QUESTIONNAIRE_ANSWER_YES.equals(answer.getAnswer()))
            projectNarrative.setCheckPriorSupport(YesNoNotApplicableDataType.Y_YES);
          if (QUESTIONNAIRE_ANSWER_NO.equals(answer.getAnswer()))
            projectNarrative.setCheckPriorSupport(YesNoNotApplicableDataType.N_NO);
          if (QUESTIONNAIRE_ANSWER_X.equals(answer.getAnswer()))
            projectNarrative.setCheckPriorSupport(YesNoNotApplicableDataType.NA_NOT_APPLICABLE);
          break;
        case HR_QUESTION:
          /*
           * HR Info that is mandatory for renwals from academic
           * institutions.
           */
          if (QUESTIONNAIRE_ANSWER_NO.equals(answer)) {
            projectNarrative.setCheckHRInfo(YesNoNotApplicableDataType.N_NO);
          }
          break;
        case HR_REQUIRED_INFO:
          /*
           * HR Info that is mandatory for renwals from academic
           * institutions.
           */
          if (QUESTIONNAIRE_ANSWER_YES.equals(answer)) {
            projectNarrative.setCheckHRInfo(YesNoNotApplicableDataType.Y_YES);
          }
          break;
        default:
          break;
      }
    }
  }