From ea58d7d7ee4d24559a3ba4075ba8b20c72dd311f Mon Sep 17 00:00:00 2001
From: anttil <anttil>
Date: Mon, 25 Apr 2016 06:08:24 +0000
Subject: [PATCH] SSDM-2515: Allow absolute paths in DSS service property
 "core-plugins-folder".

SVN: 36272
---
 .../dbbackup/BackupDatabaseDescriptionGenerator.java | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/dbbackup/BackupDatabaseDescriptionGenerator.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/dbbackup/BackupDatabaseDescriptionGenerator.java
index 9e64f119dcc..c95bd236956 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/dbbackup/BackupDatabaseDescriptionGenerator.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/dbbackup/BackupDatabaseDescriptionGenerator.java
@@ -33,8 +33,7 @@ import ch.systemsx.cisd.openbis.generic.shared.coreplugin.CorePluginsInjector;
 import ch.systemsx.cisd.openbis.generic.shared.coreplugin.CorePluginsUtils;
 
 /**
- * Given a list of properties files generates a list of well-known databases to be backed up as part
- * of the openBIS upgrade process.
+ * Given a list of properties files generates a list of well-known databases to be backed up as part of the openBIS upgrade process.
  * 
  * @author Kaloyan Enimanev
  */
@@ -95,10 +94,15 @@ public class BackupDatabaseDescriptionGenerator
         Properties properties = PropertyIOUtils.loadProperties(propertiesFile);
         if (isDSSPropertiesFile(propertiesFile))
         {
-            String corePluginsFolderRelativePath =
+            String corePluginsFolderLocation =
                     CorePluginsUtils.getCorePluginsFolder(properties, ScannerType.DSS);
             File workingDirectory = propertiesFile.getParentFile().getParentFile();
-            File corePluginsFolder = new File(workingDirectory, corePluginsFolderRelativePath);
+
+            File corePluginsFolder = new File(corePluginsFolderLocation);
+            if (corePluginsFolder.isAbsolute() == false)
+            {
+                corePluginsFolder = new File(workingDirectory, corePluginsFolderLocation);
+            }
             File file = new File(corePluginsFolder, CorePluginsUtils.CORE_PLUGINS_PROPERTIES_FILE);
             PropertyIOUtils.loadAndAppendProperties(properties, file);
             CorePluginsInjector injector =
-- 
GitLab