From 8e318c0221d932c357a7673cd5aa512747ecb541 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 11 Sep 2017 10:04:09 +0000 Subject: [PATCH] SSDM-5515: RsyncArchiver made h5 flags aware SVN: 38710 --- .../plugins/standard/DataSetFileOperationsManager.java | 4 ++-- .../dss/generic/server/plugins/standard/RsyncArchiver.java | 6 ++++-- .../generic/shared/translator/DataSetTranslator.java | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java index 9eec61cdaf7..6ff187bede3 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java @@ -28,7 +28,7 @@ import ch.systemsx.cisd.common.filesystem.BooleanStatus; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; import ch.systemsx.cisd.common.properties.PropertyUtils; -import ch.systemsx.cisd.openbis.common.io.hierarchical_content.DefaultFileBasedHierarchicalContentFactory; +import ch.systemsx.cisd.openbis.common.io.hierarchical_content.Hdf5AwareHierarchicalContentFactory; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContent; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.AbstractDataSetFileOperationsManager; import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.archiver.ArchiveDestination; @@ -279,7 +279,7 @@ public class DataSetFileOperationsManager extends AbstractDataSetFileOperationsM @Override public IHierarchicalContent getAsHierarchicalContent(DatasetDescription dataset) { - return new DefaultFileBasedHierarchicalContentFactory() + return new Hdf5AwareHierarchicalContentFactory(dataset.isH5Folders(), dataset.isH5arFolders()) .asHierarchicalContent(new File(archiveDestination.getDestination(), dataset.getDataSetLocation()), null); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java index f081f6c01e8..54917ef4637 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java @@ -29,7 +29,8 @@ import ch.systemsx.cisd.common.exceptions.Status; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.common.filesystem.BooleanStatus; import ch.systemsx.cisd.common.properties.PropertyUtils; -import ch.systemsx.cisd.openbis.common.io.hierarchical_content.DefaultFileBasedHierarchicalContentFactory; +import ch.systemsx.cisd.openbis.common.io.hierarchical_content.Hdf5AwareHierarchicalContentFactory; +import ch.systemsx.cisd.openbis.common.io.hierarchical_content.IHierarchicalContentFactory; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContent; import ch.systemsx.cisd.openbis.common.io.hierarchical_content.api.IHierarchicalContentNode; import ch.systemsx.cisd.openbis.dss.generic.shared.ArchiverTaskContext; @@ -213,7 +214,6 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin ArchiverTaskContext context, boolean removeFromDataStore) throws UserFailureException { DatasetProcessingStatuses statuses = new DatasetProcessingStatuses(); - DefaultFileBasedHierarchicalContentFactory contentFactory = new DefaultFileBasedHierarchicalContentFactory(); for (DatasetDescription dataset : datasets) { File originalData = getDatasetDirectory(context, dataset); @@ -236,6 +236,8 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin if (getFileOperationsManager().isHosted()) { getFileOperationsManager().retrieveFromDestination(temp, dataset); + IHierarchicalContentFactory contentFactory = new Hdf5AwareHierarchicalContentFactory( + dataset.isH5Folders(), dataset.isH5arFolders()); archivedContent = contentFactory.asHierarchicalContent(temp, null); } else { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java index e27e1c736f4..36e97b4b183 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/DataSetTranslator.java @@ -98,6 +98,8 @@ public class DataSetTranslator description.setDataSetLocation(dataSet.getLocation()); description.setSpeedHint(dataSet.getSpeedHint()); description.setFileFormatType(dataSet.getFileFormatType().getCode()); + description.setH5Folders(dataSet.isH5Folders()); + description.setH5arFolders(dataSet.isH5arFolders()); } description.setDataSetSize(data.getSize()); DataSetType dataSetType = data.getDataSetType(); @@ -515,6 +517,8 @@ public class DataSetTranslator description.setSpeedHint(externalData.getSpeedHint()); description.setFileFormatType(externalData.getFileFormatType().getCode()); description.setStorageConfirmed(externalData.isStorageConfirmation()); + description.setH5Folders(externalData.isH5Folders()); + description.setH5arFolders(externalData.isH5arFolders()); } SamplePE sample = dataSet.tryGetSample(); if (sample != null) -- GitLab