From cd6c5a659f6d49acafd3de1297015f827e28cac9 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 12 Mar 2009 14:07:18 +0000
Subject: [PATCH] LMS-778 bug in applicationContext.xml fixed and query method
 requesting known data sets implemented.

SVN: 10195
---
 .../source/java/applicationContext.xml          |  2 +-
 .../dss/generic/server/DataStoreService.java    | 17 +++++++++++++++++
 .../generic/server/DataStoreServiceLogger.java  |  9 ++++++++-
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/datastore_server/source/java/applicationContext.xml b/datastore_server/source/java/applicationContext.xml
index 190c8ba888b..b0b93201769 100644
--- a/datastore_server/source/java/applicationContext.xml
+++ b/datastore_server/source/java/applicationContext.xml
@@ -32,7 +32,7 @@
         <property name="service">
             <bean class="ch.systemsx.cisd.openbis.dss.generic.server.DataStoreService">
                 <constructor-arg ref="session-token-manager" />
-                <property name="storeRoot" value="storeroot-dir"/>
+                <property name="storeRoot" value="${storeroot-dir}"/>
             </bean>
         </property>
         <property name="serviceInterface" value="ch.systemsx.cisd.openbis.generic.shared.IDataStoreService" />
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
index 218f2ef593e..876ade36501 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.dss.generic.server;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.springframework.beans.factory.InitializingBean;
@@ -96,6 +97,22 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic
         return IDataStoreService.VERSION;
     }
 
+    public List<String> getKnownDataSets(String sessionToken, List<String> dataSetLocations)
+            throws InvalidAuthenticationException
+    {
+        sessionTokenManager.assertValidSessionToken(sessionToken);
+        
+        List<String> knownLocations = new ArrayList<String>();
+        for (String location : dataSetLocations)
+        {
+            if (new File(storeRoot, location).exists())
+            {
+                knownLocations.add(location);
+            }
+        }
+        return knownLocations;
+    }
+
     public void deleteDataSets(String sessionToken, List<String> dataSetLocations)
             throws InvalidAuthenticationException
     {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java
index 6911c32ea44..e7e17e97465 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceLogger.java
@@ -69,10 +69,17 @@ class DataStoreServiceLogger implements IDataStoreService
         return 0;
     }
 
+    public List<String> getKnownDataSets(String sessionToken, List<String> dataSetLocations)
+            throws InvalidAuthenticationException
+    {
+        log("get_known_data_sets", "LOCATIONS(%s)", dataSetLocations);
+        return null;
+    }
+
     public void deleteDataSets(String sessionToken, List<String> dataSetLocations)
             throws InvalidAuthenticationException
     {
-        log("delete_data_set", "DELETE(%s)", dataSetLocations);
+        log("delete_data_sets", "LOCATIONS(%s)", dataSetLocations);
     }
 
 }
-- 
GitLab