/** * Check tracking from all files from a study. * * Set file status {@link File.FileStatus#MISSING} if the file (fileUri) is unreachable * Set file status to {@link File.FileStatus#READY} if was {@link File.FileStatus#MISSING} and file (fileUri) is reachable * * @param study The study to check * @param sessionId User sessionId * @param calculateChecksum Calculate checksum for "found files" * @throws CatalogException if a Catalog error occurs * @return found and lost files */ public List<File> checkStudyFiles(Study study, boolean calculateChecksum, String sessionId) throws CatalogException { Query query = new Query(); query.put(FileDBAdaptor.QueryParams.STATUS_NAME.key(), Arrays.asList( File.FileStatus.READY, File.FileStatus.MISSING, File.FileStatus.TRASHED)); QueryResult<File> files = catalogManager.getFileManager().get(study.getFqn(), query, new QueryOptions(), sessionId); List<File> modifiedFiles = new LinkedList<>(); for (File file : files.getResult()) { File checkedFile = catalogFileUtils.checkFile(study.getFqn(), file, calculateChecksum, sessionId); if (checkedFile != file) { modifiedFiles.add(checkedFile); } } return modifiedFiles; }
checkFile(study.getFqn(), existingFile, calculateChecksum, sessionId);
returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); fileUri = catalogManager.getFileManager().getUri(file); file = catalogManager.getFileManager().get(studyFqn, file.getPath(), null, userSessionId).first(); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); os.write('\n'); os.close(); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId); returnedFile = catalogFileUtils.checkFile(studyFqn, file, true, userSessionId);