From c031df2edd17056e9f3e8d6727a724b9c0f9ca59 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Wed, 7 Jul 2010 10:02:39 +0000 Subject: [PATCH] LMS-1622 IDataSourceProvider modified SVN: 16917 --- ...ataStoreServerBasedDataSourceProvider.java | 29 ++++--------------- .../dataaccess/IDataSourceProvider.java | 21 ++++---------- .../dataaccess/SingleDataSourceProvider.java | 7 +---- 3 files changed, 13 insertions(+), 44 deletions(-) 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 71e2d220151..17a44647cd3 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 a8caedc02e4..1029fe68dee 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 7acc645f218..1d75b0428a3 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; } -- GitLab