Exemple #1
0
  /**
   * Checks the status of the server. Whether it is ready for saving the file or not.
   * ExportConfiguration.SAVEABSOLUTEPATH is pre-pended to the filename to test for folder and file
   * existence.
   *
   * @param fileName - name of the file in which data is going to be saved.
   * @return LogMessageSetVO - object of LogMessageSetVO containing errors/warnings.
   */
  public static LogMessageSetVO checkServerSaveStatus(String fileName) {
    LogMessageSetVO errorSetVO = new LogMessageSetVO();

    String pathToSaveFolder = ExportConfiguration.SAVEABSOLUTEPATH;

    // check whether directory exists
    // raise error and return
    File saveFolder = new File(pathToSaveFolder);
    if (!saveFolder.exists()) {
      errorSetVO.addError(LOGMESSAGE.E508);
    } else {
      // check if directory is writable or not
      if (!saveFolder.canWrite()) {
        errorSetVO.addError(LOGMESSAGE.E403);
      } else {
        // build filepath
        String completeFilePath = pathToSaveFolder + File.separator + fileName;
        File saveFile = new File(completeFilePath);

        // check whether file already exists
        if (saveFile.exists()) {
          errorSetVO.addWarning(LOGMESSAGE.W509);

          if (ExportConfiguration.OVERWRITEFILE) {
            errorSetVO.addWarning(LOGMESSAGE.W510);

            if (!saveFile.canWrite()) {
              errorSetVO.addError(LOGMESSAGE.E511);
            }
          } else {

            if (!ExportConfiguration.INTELLIGENTFILENAMING) {
              errorSetVO.addError(LOGMESSAGE.E512);
            }
          }
        }
      }
    }

    return errorSetVO;
  }