Beispiel #1
0
  private List<FileReadAttributeBean> processFileReadBeans(
      String _projectName, String _sampleName, List<FileReadAttributeBean> loadingList)
      throws Exception {

    List<FileReadAttributeBean> processedList = new ArrayList<FileReadAttributeBean>();
    for (FileReadAttributeBean fBean : loadingList) {
      if (fBean.getProjectName() == null
          || eventName.equals(Constants.EVENT_PROJECT_REGISTRATION)) {
        fBean.setProjectName(_projectName);
      }
      if (fBean.getSampleName() == null) {
        fBean.setSampleName(_sampleName);
      }

      // handle file uploads
      if (fBean.getUpload() != null
          && fBean.getUploadFileName() != null
          && !fBean.getUploadFileName().isEmpty()) {
        fileStoragePath =
            fileStoragePath + (fileStoragePath.endsWith(File.separator) ? "" : File.separator);
        String originalFileName = fBean.getUploadFileName();

        String fileDirectoryPathProject = _projectName.replaceAll(" ", "_"); // project folder
        String fileDirectoryPathSample =
            fileDirectoryPathProject
                + File.separator
                + (_sampleName != null && !_sampleName.isEmpty()
                    ? _sampleName.replaceAll(" ", "_")
                    : "project"); // sample folder
        String fileDirectoryPath =
            fileDirectoryPathSample
                + File.separator
                + CommonTool.convertTimestampToDate(new Date()); // date folder

        String fileName =
            originalFileName.substring(0, originalFileName.indexOf("."))
                + "_"
                + System.currentTimeMillis()
                + originalFileName.substring(
                    originalFileName.indexOf(
                        ".")); // append "_" + current time in milliseconds to file name

        File fileDirectory = new File(fileStoragePath + fileDirectoryPath);
        if (!fileDirectory.exists() || !fileDirectory.isDirectory()) {
          fileDirectory.mkdirs();
        }

        File theFile = new File(fileDirectory.getPath() + File.separator + fileName);
        FileUtils.copyFile(fBean.getUpload(), theFile);

        if (theFile.exists() && theFile.isFile() && theFile.canRead()) {
          fBean.getUpload().delete();

          fBean.setAttributeValue(fileDirectoryPath + File.separator + fileName);
          if (loadedFiles == null) {
            loadedFiles = new ArrayList<String>();
          }
          loadedFiles.add(fBean.getAttributeValue());
        }
      }

      if (!fBean.getAttributeName().equals("0")
          && fBean.getAttributeValue() != null
          && !fBean.getAttributeValue().equals("0")
          && !fBean.getAttributeValue().isEmpty()) {
        processedList.add(fBean);
      }
    }
    return processedList;
  }