diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/DataStoreServerBasedDataSourceProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/DataStoreServerBasedDataSourceProvider.java index 71e2d22015107612d85dc43a3e39e25da3182c7b..17a44647cd3820e539dc02bc8115fba27b3ed04e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/DataStoreServerBasedDataSourceProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/DataStoreServerBasedDataSourceProvider.java @@ -35,7 +35,7 @@ import ch.systemsx.cisd.dbmigration.SimpleDatabaseConfigurationContext; import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE; /** - * + * Data source provider based on configuration per Data Store Server. * * @author Franz-Josef Elmer */ @@ -68,7 +68,9 @@ public class DataStoreServerBasedDataSourceProvider implements IDataSourceProvid { String key = sectionProperties.getKey().toUpperCase(); Properties properties = sectionProperties.getProperties(); - dataSources.put(key, create(properties)); + SimpleDatabaseConfigurationContext context = + new SimpleDatabaseConfigurationContext(properties); + dataSources.put(key, context.getDataSource()); } } @@ -79,10 +81,10 @@ public class DataStoreServerBasedDataSourceProvider implements IDataSourceProvid { throw new UserFailureException("Unknown data set " + dataSetCode); } - return getDataSource(dataSet.getDataStore().getCode()); + return getDataSourceByDataSetCode(dataSet.getDataStore().getCode(), technology); } - private DataSource getDataSource(String dssCode) + public DataSource getDataSourceByDataStoreServerCode(String dssCode, String technology) { DataSource dataSource = dataSources.get(dssCode); if (dataSource == null) @@ -93,23 +95,4 @@ public class DataStoreServerBasedDataSourceProvider implements IDataSourceProvid return dataSource; } - private DataSource create(Properties properties) - { - return new SimpleDatabaseConfigurationContext(properties).getDataSource(); - } - - public DataSource getDataSourceByExperimentPermID(String experimentPermID, String technology) - { - throw new IllegalArgumentException( - "Getting data source by experiment permID is not supported for technology '" - + technology + "'."); - } - - public DataSource getDataSourceBySamplePermID(String samplePermID, String technology) - { - throw new IllegalArgumentException( - "Getting data source by sample permID is not supported for technology '" - + technology + "'."); - } - } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDataSourceProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDataSourceProvider.java index a8caedc02e4ccc80acd7b8b82a12214c6af93963..1029fe68deed5a2041bcf209cf11f8faa74c6289 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDataSourceProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IDataSourceProvider.java @@ -22,7 +22,7 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException; /** * Interface for providing a {@link DataSource} for a technology specific database based on data set - * code or epxeriment/sample permID. + * code or data store server code * * @author Franz-Josef Elmer */ @@ -38,20 +38,11 @@ public interface IDataSourceProvider public DataSource getDataSourceByDataSetCode(String dataSetCode, String technology); /** - * Returns an appropriated data source for specified experiment permID and technology. + * Returns an appropriated data source for specified data store server code and technology. * - * @throws IllegalArgumentException if getting data source by experiment permID isn't supported - * for the specified technology. - * @throws UserFailureException if the specified experiment doesn't exist. + * @throws IllegalArgumentException if getting data source by data store server code isn't + * supported for the specified technology. + * @throws UserFailureException if the specified data store server doesn't exist. */ - public DataSource getDataSourceByExperimentPermID(String experimentPermID, String technology); - - /** - * Returns an appropriated data source for specified sample permID and technology. - * - * @throws IllegalArgumentException if getting data source by sample permID isn't supported - * for the specified technology. - * @throws UserFailureException if the specified sample doesn't exist. - */ - public DataSource getDataSourceBySamplePermID(String samplePermID, String technology); + public DataSource getDataSourceByDataStoreServerCode(String dssCode, String technology); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/SingleDataSourceProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/SingleDataSourceProvider.java index 7acc645f218d7f74f3d498eea0c5df6ba7c37c3f..1d75b0428a3cec263317843f0ae58188fd38352b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/SingleDataSourceProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/SingleDataSourceProvider.java @@ -42,12 +42,7 @@ public class SingleDataSourceProvider implements IDataSourceProvider return dataSource; } - public DataSource getDataSourceByExperimentPermID(String experimentPermID, String technology) - { - return dataSource; - } - - public DataSource getDataSourceBySamplePermID(String samplePermID, String technology) + public DataSource getDataSourceByDataStoreServerCode(String dssCode, String technology) { return dataSource; }