From f954e6278f03bd13c2fcf789035876cc606f81b1 Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Mon, 31 Jul 2017 10:08:41 +0000
Subject: [PATCH] SSDM-5407 : New Write / Atomic move test on dss startup

SVN: 38584
---
 .../shared/utils/DssPropertyParametersUtil.java   | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java
index ab205a3de95..4c9afe02d51 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/DssPropertyParametersUtil.java
@@ -339,16 +339,27 @@ public class DssPropertyParametersUtil
         FileStore recoveryStateStore = getVolumeInfo(dssTmp, "recovery-state");
         FileStore logRegistrationsState = getVolumeInfo(dssTmp, "log-registrations");
 
+        // Same volume tests
         if (!dssTmpStore.equals(recoveryStateStore))
         {
             throw createException(NON_SAME_VOLUME_TEMPLATE, dssTmp, recoveryState);
         } else if (!dssTmpStore.equals(logRegistrationsState))
         {
             throw createException(NON_SAME_VOLUME_TEMPLATE, dssTmp, logRegistrations);
-        } else if (!isWritable(fileOperations, dssTmp))
+        }
+        // Writable folders tests
+        else if (!isWritable(fileOperations, dssTmp))
         {
             throw createException(NON_WRITABLE_TEMPLATE, dssTmp);
-        } else if (!isMoveFromTo(fileOperations, dssTmp, recoveryState))
+        } else if (!isWritable(fileOperations, recoveryState))
+        {
+            throw createException(NON_WRITABLE_TEMPLATE, recoveryState);
+        } else if (!isWritable(fileOperations, logRegistrations))
+        {
+            throw createException(NON_WRITABLE_TEMPLATE, logRegistrations);
+        }
+        // Move command tests
+        else if (!isMoveFromTo(fileOperations, dssTmp, recoveryState))
         {
             throw createException(NON_MOVE_TEMPLATE, dssTmp, recoveryState);
         } else if (!isMoveFromTo(fileOperations, dssTmp, logRegistrations))
-- 
GitLab