From 66734ff9302a8431fff6f107a3981f229d19c5a9 Mon Sep 17 00:00:00 2001 From: jakubs <jakubs> Date: Mon, 31 Mar 2014 14:34:16 +0000 Subject: [PATCH] SSDM-50 detect access to data set file SVN: 31249 --- .../dss/generic/server/AbstractDatasetDownloadServlet.java | 2 ++ .../dss/generic/server/EncapsulatedOpenBISService.java | 6 ++++++ .../dss/generic/shared/IEncapsulatedOpenBISService.java | 6 ++++++ 3 files changed, 14 insertions(+) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDatasetDownloadServlet.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDatasetDownloadServlet.java index ea06230a93d..8ffed08ab34 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDatasetDownloadServlet.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDatasetDownloadServlet.java @@ -324,6 +324,8 @@ abstract public class AbstractDatasetDownloadServlet extends HttpServlet protected final void ensureDatasetAccessible(String dataSetCode, HttpSession session, String sessionIdOrNull) { + applicationContext.getDataSetService().notifyDatasetAccess(dataSetCode); + if (isDatasetAccessible(dataSetCode, sessionIdOrNull, session) == false) { throw new UserFailureException("Data set '" + dataSetCode + "' is not accessible."); 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 31135e8860c..edba8c221b9 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 @@ -878,6 +878,12 @@ public final class EncapsulatedOpenBISService implements IEncapsulatedOpenBISSer service.markSuccessfulPostRegistration(session.getSessionToken(), dataSetCode); } + @Override + public void notifyDatasetAccess(String dataSetCode) + { + service.notifyDatasetAccess(session.getSessionToken(), dataSetCode); + } + @Override public List<AbstractExternalData> listDataSetsForPostRegistration() { diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java index 6927cbbfbb7..ec7e6560446 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java @@ -479,6 +479,12 @@ public interface IEncapsulatedOpenBISService extends IEncapsulatedBasicOpenBISSe @ManagedAuthentication public void markSuccessfulPostRegistration(String dataSetCode); + /** + * {@link IServiceForDataStoreServer#notifyDatasetAccess(String, String)} + */ + @ManagedAuthentication + public void notifyDatasetAccess(String dataSetCode); + /** * {@link IServiceForDataStoreServer#listDataSetsForPostRegistration(String, String)} */ -- GitLab