Skip to content
Snippets Groups Projects
Commit e417af38 authored by buczekp's avatar buczekp
Browse files

[LMS-2171] basic implementation of all HierarchicalContentProvider methods

SVN: 20701
parent f0e5de3f
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
......
......@@ -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);
}
......@@ -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()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment