コード例 #1
0
  @Transactional
  @RequestMapping(
      value = "/proposalDevelopment",
      params = {"methodToCall=addUserAttachedForm"})
  public ModelAndView addUserAttachedForm(
      @ModelAttribute("KualiForm") ProposalDevelopmentDocumentForm form) throws Exception {
    S2sUserAttachedForm s2sUserAttachedForm = form.getS2sUserAttachedForm();
    ProposalDevelopmentDocument proposalDevelopmentDocument = form.getProposalDevelopmentDocument();

    MultipartFile userAttachedFormFile = s2sUserAttachedForm.getNewFormFile();

    s2sUserAttachedForm.setNewFormFileBytes(userAttachedFormFile.getBytes());
    s2sUserAttachedForm.setFormFileName(userAttachedFormFile.getOriginalFilename());
    s2sUserAttachedForm.setProposalNumber(
        proposalDevelopmentDocument.getDevelopmentProposal().getProposalNumber());
    try {
      List<S2sUserAttachedForm> userAttachedForms =
          getS2sUserAttachedFormService()
              .extractNSaveUserAttachedForms(proposalDevelopmentDocument, s2sUserAttachedForm);
      proposalDevelopmentDocument
          .getDevelopmentProposal()
          .getS2sUserAttachedForms()
          .addAll(userAttachedForms);
      form.setS2sUserAttachedForm(new S2sUserAttachedForm());
    } catch (S2SException ex) {
      LOG.error(ex.getMessage(), ex);
      if (ex.getTabErrorKey() != null) {
        if (getGlobalVariableService()
                .getMessageMap()
                .getErrorMessagesForProperty(ex.getTabErrorKey())
            == null) {
          getGlobalVariableService()
              .getMessageMap()
              .putError(ex.getTabErrorKey(), ex.getErrorKey(), ex.getParams());
        }
      } else {
        getGlobalVariableService()
            .getMessageMap()
            .putError(Constants.NO_FIELD, ex.getErrorKey(), ex.getMessageWithParams());
      }
    }

    return super.save(form);
  }