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 ab205a3de95f65d12a7801572dd2ffe6f162d3a2..4c9afe02d51408968ec65d6415f3c5f66792768d 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))