diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java index ff1be3786572fe8d8b2030d01a63a6a9c04c5f1f..9e94a60ca468c53de9c136c2bdaaf0bf16e45663 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ArchiveFolders.java @@ -32,6 +32,8 @@ public abstract class ArchiveFolders public abstract File getFolder(DatasetDescription dataSetDescription); + public abstract File getFolder(long fileSize); + public abstract Collection<File> getAllFolders(); public static ArchiveFolders create(File[] folders, boolean createFolders, Long smallDataSetsSizeLimit) @@ -124,6 +126,12 @@ public abstract class ArchiveFolders return dataSetsFolder; } + @Override + public File getFolder(long fileSize) + { + return dataSetsFolder; + } + @Override public Collection<File> getAllFolders() { @@ -171,7 +179,13 @@ public abstract class ArchiveFolders dataSetDescription.setDataSetSize(size); } - if (dataSetDescription.getDataSetSize() > smallDataSetsSizeLimit) + return getFolder(dataSetDescription.getDataSetSize()); + } + + @Override + public File getFolder(long fileSize) + { + if (fileSize > smallDataSetsSizeLimit) { return bigDataSetsFolder; } else