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 ea06230a93d4c07ca3edf8655405d1da5999937d..8ffed08ab34f946951dff967e81ea8ac1dd16aee 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 31135e8860c28481335caacdbd980b6820f37ac8..edba8c221b947edbed66bd36f3989f1f3dc8b076 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 6927cbbfbb704e7950cbe3888badb787f731a608..ec7e656044639763392984d374a72c652e38a89b 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)} */