From 02c88163331b7f9a47da0dc366866d44ca955a9b Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 1 Nov 2010 15:21:13 +0000 Subject: [PATCH] LMS-1809 changes to prevent using property storeroot-dir in spring application context, because DSS SystemTestCase overrides the location SVN: 18504 --- .../dss/generic/server/DataStoreService.java | 6 +----- .../server/plugins/tasks/PluginTaskProviders.java | 14 +++++++++++++- .../source/java/dssApplicationContext.xml | 8 +++----- .../dss/generic/server/DataStoreServiceTest.java | 1 - 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java index 1349b6cd7f0..d39fdd8c8df 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java @@ -96,11 +96,7 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic this.commandExecutorFactory = commandExecutorFactory; this.mailClientParameters = mailClientParameters; this.pluginTaskParameters = pluginTaskParameters; - } - - public final void setStoreRoot(File storeRoot) - { - this.storeRoot = storeRoot; + storeRoot = pluginTaskParameters.getStoreRoot(); } public final void setCommandQueueDir(String queueDirOrNull) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java index d1950105fc2..69358745be9 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java @@ -30,6 +30,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions; */ public class PluginTaskProviders { + public static final String STOREROOT_DIR_KEY = "storeroot-dir"; + /** property with repotring plugins names separated by delimiter */ @Private static final String REPORTING_PLUGIN_NAMES = "reporting-plugins"; @@ -48,10 +50,14 @@ public class PluginTaskProviders private final ArchiverTaskFactory archiverTaskFactory; + private final File storeRoot; + /** for external injections */ - public static PluginTaskProviders create(File storeRoot) + public static PluginTaskProviders create() { Properties properties = DssPropertyParametersUtil.loadServiceProperties(); + String property = properties.getProperty(STOREROOT_DIR_KEY); + File storeRoot = new File(property); PluginTaskProviders providers = new PluginTaskProviders(properties, storeRoot); providers.check(); providers.logConfigurations(); @@ -62,6 +68,7 @@ public class PluginTaskProviders // public only for tests public PluginTaskProviders(Properties serviceProperties, File storeRoot) { + this.storeRoot = storeRoot; String datastoreCode = DssPropertyParametersUtil.getDataStoreCode(serviceProperties); this.reportingPlugins = createReportingPluginsFactories(serviceProperties, datastoreCode, storeRoot); @@ -70,6 +77,11 @@ public class PluginTaskProviders this.archiverTaskFactory = createArchiverTaskFactory(serviceProperties, datastoreCode); } + public final File getStoreRoot() + { + return storeRoot; + } + public PluginTaskProvider<IReportingPluginTask> getReportingPluginsProvider() { return reportingPlugins; diff --git a/datastore_server/source/java/dssApplicationContext.xml b/datastore_server/source/java/dssApplicationContext.xml index da1a7d4a417..e568a86b18b 100644 --- a/datastore_server/source/java/dssApplicationContext.xml +++ b/datastore_server/source/java/dssApplicationContext.xml @@ -17,10 +17,9 @@ <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="ignoreUnresolvablePlaceholders" value="true" /> </bean> - - <bean id="plugin-tasks" class="ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProviders" factory-method="create" > - <constructor-arg value="${storeroot-dir}" /> - </bean> + + <bean id="plugin-tasks" class="ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProviders" + factory-method="create" /> <bean id="openBIS-service" class="ch.systemsx.cisd.openbis.dss.generic.server.EncapsulatedOpenBISService"> <constructor-arg ref="session-token-manager"/> @@ -50,7 +49,6 @@ <constructor-arg ref="plugin-tasks" /> <property name="cifexAdminUserOrNull" value="${cifex-admin-username}" /> <property name="cifexAdminPasswordOrNull" value="${cifex-admin-password}" /> - <property name="storeRoot" value="${storeroot-dir}"/> <property name="commandQueueDir" value="${commandqueue-dir}"/> </bean> </property> diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java index 2ca94255804..32dc33cc3b4 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java @@ -294,7 +294,6 @@ public class DataStoreServiceTest extends AssertJUnit MockDataStoreService service = new MockDataStoreService(sessionTokenManager, commandExecutorFactory, mailClientParameters, cifexServiceFactory, CIFEX_URL, pluginTaskParameters); - service.setStoreRoot(TEST_STORE); service.afterPropertiesSet(); return service; } -- GitLab