Ejemplo n.º 1
0
  public void add() {
    logger.info("add");
    Document model = new Document();
    String lastFileName = null;
    try {
      model.setTitle(getTitle());
      DocumentType docType = new DocumentType();
      docType.setId(Integer.parseInt(getDocumentType()));
      model.setDocType(docType);

      model.setUpdatedBy(FacesContext.getCurrentInstance().getExternalContext().getRemoteUser());

      if (getId() == 0) {
        documentService.add(model);
      } else {
        model.setId(getId());
        documentService.update(model);
      }
      try {
        if (file != null) {
          String f = FileUtils.copyFile(file);
          List<FileManage> files;
          FileManage criteria = new FileManage();
          criteria.setSource(ParameterModel.DOCUMENT_ENTITY);

          FileManage fModel = new FileManage();
          fModel.setFkEntityId(model.getId() + "");
          fModel.setPath(f);
          fModel.setSource(ParameterModel.DOCUMENT_ENTITY);

          if (getId() != 0) {
            // check dup
            criteria.setFkEntityId(getId() + "");
            criteria.setWeight(1);
            files = this.getFileManageService().getByExample(criteria, null);
            if (files != null & !files.isEmpty() && files.size() > 0) {
              fModel.setId(files.get(files.size() - 1).getId());
              lastFileName = files.get(files.size() - 1).getPath();
            }
          }

          fModel.setType("");
          fModel.setUpdatedBy(
              FacesContext.getCurrentInstance().getExternalContext().getRemoteUser());
          if (fModel.getId() == 0) fileManageService.add(fModel);
          else {
            fileManageService.update(fModel);
            FileUtils.deleteFile(lastFileName);
          }
        }
      } catch (IOException e) {
        e.printStackTrace();
      }

      try {
        if (thumb != null) {
          String f = FileUtils.copyFile(thumb);
          List<FileManage> files;
          FileManage criteria = new FileManage();
          criteria.setSource(ParameterModel.DOCUMENT_THUMB_ENTITY);

          FileManage fModel = new FileManage();
          fModel.setFkEntityId(model.getId() + "");
          fModel.setPath(f);
          fModel.setSource(ParameterModel.DOCUMENT_THUMB_ENTITY);

          if (getId() != 0) {
            // check dup
            criteria.setFkEntityId(getId() + "");
            criteria.setWeight(2);
            files = this.getFileManageService().getByExample(criteria, null);
            if (files != null & !files.isEmpty() && files.size() > 0) {
              fModel.setId(files.get(files.size() - 1).getId());
              lastFileName = files.get(files.size() - 1).getPath();
            }
          }

          fModel.setType("");
          fModel.setUpdatedBy(
              FacesContext.getCurrentInstance().getExternalContext().getRemoteUser());
          if (fModel.getId() == 0) fileManageService.add(fModel);
          else {
            fileManageService.update(fModel);
            FileUtils.deleteFile(lastFileName);
          }
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

    setId(0);
    setDocumentType("");
    setTitle("");
  }