From 82f7bd3ea92738f8470e1b69a8c80e39e55ed3ff Mon Sep 17 00:00:00 2001
From: kaloyane <kaloyane>
Date: Thu, 5 May 2011 09:12:17 +0000
Subject: [PATCH] [LMS-2231]: use IDataSetLister to speed up the loading of
 datasets

SVN: 21139
---
 .../cisd/openbis/generic/server/ETLService.java       | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
index 43877b3dcb2..60ea516b874 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
@@ -505,11 +505,12 @@ public class ETLService extends AbstractCommonServer<IETLService> implements IET
     public List<ExternalData> listDataSetsByExperimentID(String sessionToken, TechId experimentID)
             throws UserFailureException
     {
-        final Session session = getSession(sessionToken);
-
-        IExternalDataTable dataSetTable = businessObjectFactory.createExternalDataTable(session);
-        dataSetTable.loadByExperimentTechId(experimentID);
-        return ExternalDataTranslator.translate(dataSetTable.getExternalData(), "", "");
+        Session session = getSession(sessionToken);
+        IDatasetLister datasetLister = createDatasetLister(session);
+        List<TechId> experimentTechIDs = Collections.singletonList(experimentID);
+        List<ExternalData> datasets = datasetLister.listByExperimentTechIds(experimentTechIDs);
+        Collections.sort(datasets);
+        return datasets;
     }
 
     public List<ExternalData> listDataSetsBySampleID(final String sessionToken,
-- 
GitLab