From 05969890663ace6484a4730b6183f5af4b9875d8 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Mon, 31 Mar 2014 14:34:01 +0000
Subject: [PATCH] SSDM-50 detect access to data set file

SVN: 31248
---
 .../openbis/generic/server/ServiceForDataStoreServer.java | 8 ++++++++
 .../generic/server/ServiceForDataStoreServerLogger.java   | 6 ++++++
 .../generic/shared/IServiceForDataStoreServer.java        | 6 ++++++
 3 files changed, 20 insertions(+)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
index 94231e11bc7..92bf63c7839 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java
@@ -2690,6 +2690,14 @@ public class ServiceForDataStoreServer extends AbstractCommonServer<IServiceForD
         daoFactory.getPostRegistrationDAO().removeDataSet(dataSetCode);
     }
 
+    @Override
+    @RolesAllowed(RoleWithHierarchy.SPACE_ETL_SERVER)
+    public void notifyDatasetAccess(String sessionToken, String dataSetCode)
+    {
+        checkSession(sessionToken);
+        operationLog.info("Accessing dataset " + dataSetCode);
+    }
+
     @Override
     @RolesAllowed(RoleWithHierarchy.SPACE_ETL_SERVER)
     public List<AbstractExternalData> listDataSetsForPostRegistration(String sessionToken,
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServerLogger.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServerLogger.java
index 15d6a9c6805..1571e00f3ef 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServerLogger.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServerLogger.java
@@ -717,6 +717,12 @@ public class ServiceForDataStoreServerLogger extends AbstractServerLogger implem
         logAccess(sessionToken, "markSuccessfulPostRegistration", "DATA_SET_CODE(%s)", dataSetCode);
     }
 
+    @Override
+    public void notifyDatasetAccess(String sessionToken, String dataSetCode)
+    {
+        logAccess(sessionToken, "notifyDatasetAccess", "DATA_SET_CODE(%s)", dataSetCode);
+    }
+
     @Override
     public List<AbstractExternalData> listDataSetsForPostRegistration(String sessionToken,
             String dataStoreCode)
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServiceForDataStoreServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServiceForDataStoreServer.java
index 917715aa40f..0d451c6072a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServiceForDataStoreServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/IServiceForDataStoreServer.java
@@ -719,6 +719,12 @@ public interface IServiceForDataStoreServer extends IServer, ISessionProvider
     { ObjectKind.POSTREGISTRATION_QUEUE })
     public void markSuccessfulPostRegistration(String token, String dataSetCode);
 
+    /**
+     * Informs that the data set has been accessed
+     */
+    @Transactional
+    public void notifyDatasetAccess(String token, String dataSetCode);
+
     /**
      * Gets the list of all datasets, which are in the post-registration queue.
      */
-- 
GitLab