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

[LMS-2171] create HierarchicalContentProvider by spring

SVN: 20718
parent 4d4867e9
No related branches found
No related tags found
No related merge requests found
...@@ -26,51 +26,40 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; ...@@ -26,51 +26,40 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation;
/** /**
* The default implementation of {@link IHierarchicalContentProvider}.
*
* @author Piotr Buczek * @author Piotr Buczek
*/ */
public class HierarchicalContentProvider implements IHierarchicalContentProvider public class HierarchicalContentProvider implements IHierarchicalContentProvider
{ {
private IDataSetDirectoryProvider directoryProvider; private final IDataSetDirectoryProvider directoryProvider;
private IHierarchicalContentFactory hierarchicalContentFactory; private final IHierarchicalContentFactory hierarchicalContentFactory;
private IEncapsulatedOpenBISService openbisService; private final IEncapsulatedOpenBISService openbisService;
private IDataSetDirectoryProvider getDataSetDirectoryProvider() public HierarchicalContentProvider(IEncapsulatedOpenBISService openbisService,
IShareIdManager shareIdManager, IConfigProvider configProvider)
{ {
if (directoryProvider == null) this(openbisService, new DataSetDirectoryProvider(configProvider.getStoreRoot(),
{ shareIdManager), new HierarchicalContentFactory());
IShareIdManager shareIdManager = ServiceProvider.getShareIdManager();
IConfigProvider configProvider = ServiceProvider.getConfigProvider();
directoryProvider =
new DataSetDirectoryProvider(configProvider.getStoreRoot(), shareIdManager);
}
return directoryProvider;
} }
private IHierarchicalContentFactory getHierarchicalContentFactory() // for tests
HierarchicalContentProvider(IEncapsulatedOpenBISService openbisService,
IDataSetDirectoryProvider directoryProvider,
IHierarchicalContentFactory hierarchicalContentFactory)
{ {
if (hierarchicalContentFactory == null) this.openbisService = openbisService;
{ this.directoryProvider = directoryProvider;
hierarchicalContentFactory = new HierarchicalContentFactory(); this.hierarchicalContentFactory = hierarchicalContentFactory;
}
return hierarchicalContentFactory;
}
private IEncapsulatedOpenBISService getOpenBISService()
{
if (openbisService == null)
{
openbisService = ServiceProvider.getOpenBISService();
}
return openbisService;
} }
public IHierarchicalContent asContent(String dataSetCode) public IHierarchicalContent asContent(String dataSetCode)
{ {
// this is temporary implementation - it shouldn't access openBIS after LMS-2172 is done // this is temporary implementation - it shouldn't access openBIS after LMS-2172 is done
ExternalData dataSet = getOpenBISService().tryGetDataSet(dataSetCode); ExternalData dataSet = openbisService.tryGetDataSet(dataSetCode);
return asContent(dataSet); return asContent(dataSet);
} }
...@@ -78,13 +67,13 @@ public class HierarchicalContentProvider implements IHierarchicalContentProvider ...@@ -78,13 +67,13 @@ public class HierarchicalContentProvider implements IHierarchicalContentProvider
public IHierarchicalContent asContent(IDatasetLocation datasetLocation) public IHierarchicalContent asContent(IDatasetLocation datasetLocation)
{ {
// this is temporary implementation - it should access DB instead of filesystem // this is temporary implementation - it should access DB instead of filesystem
File dataSetDirectory = getDataSetDirectoryProvider().getDataSetDirectory(datasetLocation); File dataSetDirectory = directoryProvider.getDataSetDirectory(datasetLocation);
return asContent(dataSetDirectory); return asContent(dataSetDirectory);
} }
private IHierarchicalContent asContent(File dataSetDirectory) private IHierarchicalContent asContent(File dataSetDirectory)
{ {
return getHierarchicalContentFactory().asHierarchicalContent(dataSetDirectory); return hierarchicalContentFactory.asHierarchicalContent(dataSetDirectory);
} }
} }
...@@ -90,7 +90,7 @@ public class ServiceProvider ...@@ -90,7 +90,7 @@ public class ServiceProvider
public static IHierarchicalContentProvider getHierarchicalContentProvider() public static IHierarchicalContentProvider getHierarchicalContentProvider()
{ {
return ((IHierarchicalContentProvider) getApplicationContext().getBean( return ((IHierarchicalContentProvider) getApplicationContext().getBean(
"hierarchical-content-provider")); // TODO "hierarchical-content-provider"));
} }
public static HttpInvokerServiceExporter getDataStoreServer() public static HttpInvokerServiceExporter getDataStoreServer()
......
...@@ -114,8 +114,10 @@ ...@@ -114,8 +114,10 @@
<bean id="data-source-provider" class="ch.systemsx.cisd.openbis.dss.generic.shared.DataSourceProvider" /> <bean id="data-source-provider" class="ch.systemsx.cisd.openbis.dss.generic.shared.DataSourceProvider" />
<bean id="config-provider" class="ch.systemsx.cisd.etlserver.ConfigProvider"/> <bean id="hierarchical-content-provider" class="ch.systemsx.cisd.openbis.dss.generic.shared.HierarchicalContentProvider"/>
<bean id="config-provider" class="ch.systemsx.cisd.etlserver.ConfigProvider"/>
<!-- <!--
// This discovers on-the-fly all <code>org.springframework.aop.Advisor</code> implementations. // This discovers on-the-fly all <code>org.springframework.aop.Advisor</code> implementations.
--> -->
......
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