/** * 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; }