@Deprecated /** * Creates and links an external folder. * * @param studyId StudyId where to place the folder * @param filePath Path to create the folder * @param parents Make parent directories as needed * @param description Folder description * @param calculateChecksum Calculate checksum from the new linked file * @param externalUri External file to link * @param createFoundFiles Create a simple catalog file entry for found files. * @param relink Change the existing link of a file. * @param sessionId User's sessionId * @return Created folder * @throws CatalogException CatalogException */ public File linkFolder(long studyId, String filePath, boolean parents, String description, boolean calculateChecksum, URI externalUri, boolean createFoundFiles, boolean relink, String sessionId) throws CatalogException { ParamUtils.checkObj(externalUri, "externalUri"); File folder = catalogManager.getFileManager().createFolder(Long.toString(studyId), Paths.get(filePath).toString(), new File.FileStatus(File.FileStatus.STAGE), parents, description, null, sessionId).first(); checkCanLinkFile(folder, relink); return linkFolder(folder, calculateChecksum, externalUri, createFoundFiles, relink, sessionId); }
@Deprecated /** * Link an external file into Catalog. Adds an URI to the field File::uri * A file with a uri is an "external" file. Files inside external folders are not external. * * @param file Already existing file. Should be "STAGE" or "MISSING", or have relink == true * @param calculateChecksum Calculate checksum from the new linked file * @param externalUri External file to link * @param createFoundFiles Create a simple catalog file entry for found files. Used only for link folders * @param relink Change the existing link of a file. * @param sessionId User's sessionId * @return Modified file * @throws CatalogException CatalogException */ public File link(File file, boolean calculateChecksum, URI externalUri, boolean createFoundFiles, boolean relink, String sessionId) throws CatalogException { ParamUtils.checkObj(file, "file"); ParamUtils.checkObj(externalUri, "externalUri"); checkCanLinkFile(file, relink); if (file.getType() == File.Type.DIRECTORY) { return linkFolder(file, calculateChecksum, externalUri, createFoundFiles, relink, sessionId); } else { return linkFile(file, calculateChecksum, externalUri, sessionId); } }