From e417af38d57b20317caa7df9b38580ba7adf6dde Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Thu, 7 Apr 2011 10:52:48 +0000 Subject: [PATCH] [LMS-2171] basic implementation of all HierarchicalContentProvider methods SVN: 20701 --- .../shared/HierarchicalContentProvider.java | 23 ++++++++++++------- .../shared/IHierarchicalContentProvider.java | 3 --- .../shared/basic/dto/ExternalData.java | 17 ++++++++++++-- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java index 262e5f26827..3258c7fe1e5 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java @@ -35,6 +35,8 @@ public class HierarchicalContentProvider implements IHierarchicalContentProvider private IHierarchicalContentFactory hierarchicalContentFactory; + private IEncapsulatedOpenBISService openbisService; + private IDataSetDirectoryProvider getDataSetDirectoryProvider() { if (directoryProvider == null) @@ -56,21 +58,26 @@ public class HierarchicalContentProvider implements IHierarchicalContentProvider return hierarchicalContentFactory; } - public IHierarchicalContent asContent(String dataSetCode) + private IEncapsulatedOpenBISService getOpenBISService() { - File dataSetDirectory = null; // TODO - return asContent(dataSetDirectory); + if (openbisService == null) + { + openbisService = ServiceProvider.getOpenBISService(); + } + return openbisService; } - public IHierarchicalContent asContent(ExternalData externalData) + public IHierarchicalContent asContent(String dataSetCode) { - File dataSetDirectory = null; // TODO - return asContent(dataSetDirectory); + // this is temporary implementation - it shouldn't access openBIS after LMS-2172 is done + ExternalData dataSet = getOpenBISService().tryGetDataSet(dataSetCode); + return asContent(dataSet); } - public IHierarchicalContent asContent(IDatasetLocation dataset) + public IHierarchicalContent asContent(IDatasetLocation datasetLocation) { - File dataSetDirectory = getDataSetDirectoryProvider().getDataSetDirectory(dataset); + // this is temporary implementation - it should access DB instead of filesystem + File dataSetDirectory = getDataSetDirectoryProvider().getDataSetDirectory(datasetLocation); return asContent(dataSetDirectory); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IHierarchicalContentProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IHierarchicalContentProvider.java index 392a27fc34e..b1bcad893ad 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IHierarchicalContentProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IHierarchicalContentProvider.java @@ -17,7 +17,6 @@ package ch.systemsx.cisd.openbis.dss.generic.shared; import ch.systemsx.cisd.common.io.IHierarchicalContent; -import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.dto.IDatasetLocation; /** @@ -31,8 +30,6 @@ public interface IHierarchicalContentProvider IHierarchicalContent asContent(String dataSetCode); - IHierarchicalContent asContent(ExternalData externalData); - IHierarchicalContent asContent(IDatasetLocation datasetLocation); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java index 77013d74310..b7e410b5619 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java @@ -24,6 +24,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolderWit import ch.systemsx.cisd.openbis.generic.shared.basic.IIdAndCodeHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.IInvalidationProvider; import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder; +import ch.systemsx.cisd.openbis.generic.shared.dto.IDatasetLocation; /** * A DTO for external data sets. @@ -32,7 +33,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IPermIdHolder; */ public class ExternalData extends CodeWithRegistration<ExternalData> implements IInvalidationProvider, IEntityInformationHolderWithProperties, IIdAndCodeHolder, - IPermIdHolder + IPermIdHolder, IDatasetLocation { private static final long serialVersionUID = ServiceVersionHolder.VERSION; @@ -57,7 +58,7 @@ public class ExternalData extends CodeWithRegistration<ExternalData> implements private Collection<ExternalData> parents; private Long size; - + private String location; private FileFormatType fileFormatType; @@ -342,6 +343,18 @@ public class ExternalData extends CodeWithRegistration<ExternalData> implements return getCode(); } + // IDatasetLocation + + public String getDataSetLocation() + { + return getLocation(); + } + + public String getDatasetCode() + { + return getCode(); + } + // 'transient' public String getSourceType() -- GitLab