From 46f4fa0c665e11c49a1cfd2984b6c62def1afc63 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Mon, 4 Apr 2011 12:52:49 +0000
Subject: [PATCH] [LMS-2180] don't delete files when updating archive using
 rsync

SVN: 20642
---
 .../standard/DataSetFileOperationsManager.java     | 14 +-------------
 .../standard/DataSetFileOperationsManagerTest.java |  9 +--------
 2 files changed, 2 insertions(+), 21 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
index cd1f7de8f9c..8745915c786 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java
@@ -124,10 +124,7 @@ public class DataSetFileOperationsManager
         try
         {
             File destinationFolder = new File(destination, dataset.getDataSetLocation());
-            if (false == createFolderIfNotExists(destinationFolder.getParentFile()))
-            {
-                deleteFolderIfExists(destinationFolder);
-            }
+            createFolderIfNotExists(destinationFolder.getParentFile());
             operationLog.info("Copy dataset '" + dataset.getDatasetCode() + "' from '"
                     + originalData.getPath() + "' to '" + destinationFolder.getParentFile());
             executor.copyDataSetToDestination(originalData, destinationFolder.getParentFile());
@@ -217,15 +214,6 @@ public class DataSetFileOperationsManager
         }
     }
 
-    private void deleteFolderIfExists(File destinationFolder)
-    {
-        BooleanStatus destinationExists = destinationExists(destinationFolder);
-        if (destinationExists.isSuccess())
-        {
-            executor.deleteFolder(destinationFolder);
-        }
-    }
-
     private boolean createFolderIfNotExists(File destinationFolder)
     {
         BooleanStatus destinationExists = destinationExists(destinationFolder);
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
index 053ba1a1acc..b4cdae4e5d0 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java
@@ -516,19 +516,12 @@ public class DataSetFileOperationsManagerTest extends AbstractFileSystemTestCase
                     will(returnValue(Status.OK));
 
                     /*
-                     * ds2: directory exists in archive -> delete and copy
+                     * ds2: directory exists in archive -> just copy
                      */
                     one(sshExecutor).exists(ds2ArchivedLocationFile.getParentFile().getPath(),
                             SSH_TIMEOUT_MILLIS);
                     will(returnValue(BooleanStatus.createTrue()));
 
-                    one(sshExecutor).exists(ds2ArchivedLocationFile.getPath(), SSH_TIMEOUT_MILLIS);
-                    will(returnValue(BooleanStatus.createTrue()));
-
-                    one(sshExecutor).executeCommandRemotely(
-                            "rm -rf " + ds2ArchivedLocationFile.getPath(), SSH_TIMEOUT_MILLIS);
-                    will(returnValue(OK_RESULT));
-
                     one(copier).copyToRemote(ds2Location, ds2ArchivedLocationFile.getParentFile(),
                             HOST, null, null);
                     will(returnValue(Status.OK));
-- 
GitLab