From 58cd6c81ff0bd3b2f1d5ea343c502a35efd7acb5 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 8 Feb 2011 11:12:36 +0000
Subject: [PATCH] LMS-1995 HierarchicalStorageUpdater adapted to segmented
 storage

SVN: 19808
---
 .../plugins/HierarchicalStorageUpdater.java        |  3 ++-
 .../generic/server/EncapsulatedOpenBISService.java | 14 +++++++++++---
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java
index f98ce145a6a..5f1ca00eabd 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/plugins/HierarchicalStorageUpdater.java
@@ -111,7 +111,8 @@ public class HierarchicalStorageUpdater implements IMaintenanceTask
         {
             File targetFile =
                     new File(hierarchyRoot, DataSetHierarchyHelper.createHierarchicalPath(dataSet));
-            File sourceFile = new File(storeRoot, dataSet.getDataSetLocation());
+            File share = new File(storeRoot, dataSet.getDataSetShareId());
+            File sourceFile = new File(share, dataSet.getDataSetLocation());
             linkMappings.put(targetFile.getAbsolutePath(), sourceFile.getAbsolutePath());
         }
         return linkMappings;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
index 5be821b47f4..c942cb1dab4 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/EncapsulatedOpenBISService.java
@@ -362,10 +362,18 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer
         service.checkSpaceAccess(sToken, spaceId);
     }
 
-    public List<SimpleDataSetInformationDTO> listDataSets()
-            throws UserFailureException
+    public List<SimpleDataSetInformationDTO> listDataSets() throws UserFailureException
     {
-        return service.listDataSets(session.getToken(), session.getDataStoreCode());
+        List<SimpleDataSetInformationDTO> dataSets =
+                service.listDataSets(session.getToken(), session.getDataStoreCode());
+        for (SimpleDataSetInformationDTO dataSet : dataSets)
+        {
+            if (dataSet.getDataSetShareId() == null)
+            {
+                dataSet.setDataSetShareId(defaultShareId);
+            }
+        }
+        return dataSets;
     }
 
     public List<ExternalData> listAvailableDataSets(ArchiverDataSetCriteria criteria)
-- 
GitLab