Ejemplo n.º 1
0
  /**
   * This method returns Investigator
   * status,DisclosureLobbyingActivities,ExploratoryResearch,HistoricPlaces, HighResolutionGraphics
   * and AccomplishmentRenewal information for the OtherInfo type.
   *
   * @param nsfCoverPage13
   * @return OtherInfo object containing other informations about the principal investigator.
   */
  private void setOtherInfo(NSFCoverPage13 nsfCoverPage13) {
    OtherInfo otherInfo = OtherInfo.Factory.newInstance();
    PIInfo pInfo = PIInfo.Factory.newInstance();
    for (Answer questionnaireAnswer :
        s2sUtilService.getQuestionnaireAnswers(
            pdDoc.getDevelopmentProposal(), getNamespace(), getFormName())) {
      String answer = questionnaireAnswer.getAnswer();
      int questionId = questionnaireAnswer.getQuestionNumber();

      if (answer != null) {
        switch (questionId) {
          case QUESTION_CURRENT_PI:
            pInfo.setIsCurrentPI(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          case QUESTION_BEGIN_INVESTIGATOR:
            otherInfo.setIsBeginInvestigator(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          case QUESTION_EARLY_CONCEPT_GRANT:
            otherInfo.setIsEarlyConceptGrant(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          case QUESTION_RAPIDRESPONSE_GRANT:
            otherInfo.setIsRapidResponseGrant(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          case QUESTION_ACCOMPLISHMENT_RENEWAL:
            otherInfo.setIsAccomplishmentRenewal(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          case QUESTION_RESOLUTION_GRAPHICS:
            otherInfo.setIsHighResolutionGraphics(
                answer.equals(S2SConstants.PROPOSAL_YNQ_ANSWER_Y)
                    ? YesNoDataType.Y_YES
                    : YesNoDataType.N_NO);
            break;
          default:
            break;
        }
      }
    }
    nsfCoverPage13.setPIInfo(pInfo);
    otherInfo.setIsDisclosureLobbyingActivities(getLobbyingAnswer());
    nsfCoverPage13.setOtherInfo(otherInfo);
  }