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 1349b6cd7f075ac0c6af67f3ec2fd10c9c402b81..d39fdd8c8df26631d486be081abd54430690b5d9 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 d1950105fc2c011b9acda20ededc4f14976979dc..69358745be985d4849056fb4b6cdc95e1a198c1a 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 da1a7d4a417224f1e0081409a675ddf7e89c90bf..e568a86b18b7ce9f562372aa3b7231d9fa72f1d0 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 2ca94255804c49a3d7f7930af9f6b4f4d78ec776..32dc33cc3b40489703d6eebde1c920365365833b 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; }