/** * Get a ObjectMap with some fields if they have been modified. * size * modificationDate * checksum * uri * * @param file file * @param fileUri If null, calls to getFileUri() * <p> * TODO: Lazy checksum: Only calculate checksum if the size has changed. * @param calculateChecksum Calculate checksum to check if have changed * @return ObjectMap ObjectMap * @throws CatalogException CatalogException */ public ObjectMap getModifiedFileAttributes(File file, URI fileUri, boolean calculateChecksum) throws CatalogException { if (fileUri == null) { fileUri = catalogManager.getFileManager().getUri(file); } String checksum = null; if (calculateChecksum) { checksum = catalogManager.getCatalogIOManagerFactory().get(fileUri).calculateChecksum(fileUri); } return getModifiedFileAttributes(file, checksum, fileUri, null); }
logger.info("File { path:\"" + file.getPath() + "\" } recover tracking from file " + fileUri); logger.info("Set status to " + File.FileStatus.READY); ObjectMap params = getModifiedFileAttributes(file, fileUri, calculateChecksum); if (params.get(FileDBAdaptor.QueryParams.SIZE.key()) != null) { catalogManager.getFileManager()
parameters = getModifiedFileAttributes(file, checksum, fileUri, parameters); Study study = catalogManager.getFileManager().getStudy(file, sessionId);
modifyParams.putAll(catalogFileUtils.getModifiedFileAttributes(file, fileUri, false));