diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected index 6e88d200ea1a06833a2fea7c259c942776a194a2..6eccc0259cfc4ba3acc7296328a6e770b8cecaaf 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/ICommonServer.java.expected @@ -27,6 +27,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Authoriz import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RoleSet; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; +import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodeCollectionPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodePredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSampleCriteriaPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ProjectUpdatesPredicate; @@ -889,15 +890,17 @@ public interface ICommonServer extends IServer @Transactional(readOnly = true) @RolesAllowed(RoleSet.OBSERVER) - public TableModel createReportFromDatasets(String sessionToken, + public TableModel createReportFromDatasets( + String sessionToken, DatastoreServiceDescription serviceDescription, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); @Transactional(readOnly = true) @RolesAllowed(RoleSet.USER) - public void processDatasets(String sessionToken, + public void processDatasets( + String sessionToken, DatastoreServiceDescription serviceDescription, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Schedules archiving of specified data sets. @@ -907,8 +910,9 @@ public interface ICommonServer extends IServer @Transactional @RolesAllowed(RoleSet.SPACE_ADMIN) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int archiveDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + public int archiveDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Schedules unarchiving of specified data sets. @@ -918,8 +922,9 @@ public interface ICommonServer extends IServer @Transactional @RolesAllowed(RoleSet.USER) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int unarchiveDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + public int unarchiveDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Locks data sets. @@ -929,8 +934,9 @@ public interface ICommonServer extends IServer @Transactional @RolesAllowed(RoleSet.SPACE_ADMIN) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int lockDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + public int lockDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Unlocks data sets. @@ -940,8 +946,9 @@ public interface ICommonServer extends IServer @Transactional @RolesAllowed(RoleSet.SPACE_ADMIN) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int unlockDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + public int unlockDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Returns all authorization groups. diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected index 034ebd44fcd9d0a8af55b7c4049ce26a0118b5ae..05a50fc48ef17bedde64aca024c1fe4dd0183c64 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/IETLLIMSService.java.expected @@ -26,6 +26,7 @@ import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Authoriz import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RoleSet; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; +import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodeCollectionPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodePredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSampleCriteriaPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSamplesByPropertyPredicate; @@ -269,6 +270,18 @@ public interface IETLLIMSService extends IServer, ISessionProvider @AuthorizationGuard(guardClass = DataSetCodePredicate.class) String dataSetCode) throws UserFailureException; + /** + * Check which of the list of of data sets the current user can access. + * + * @param sessionToken The user's session token. + * @param dataSetCodes The data set codes the user wants to access. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleSet.OBSERVER) + public void checkDataSetCollectionAccess( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> dataSetCodes); + /** * Tries to return the data set specified by its code. */ @@ -347,8 +360,9 @@ public interface IETLLIMSService extends IServer, ISessionProvider @Transactional @RolesAllowed(RoleSet.ETL_SERVER) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public void updateDataSetStatuses(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> dataSetCodes, + public void updateDataSetStatuses( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> dataSetCodes, final DataSetArchivingStatus newStatus) throws UserFailureException; /** @@ -359,8 +373,9 @@ public interface IETLLIMSService extends IServer, ISessionProvider @Transactional @RolesAllowed(RoleSet.ETL_SERVER) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int archiveDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); + public int archiveDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); /** * Schedules unarchiving of specified data sets. @@ -370,7 +385,7 @@ public interface IETLLIMSService extends IServer, ISessionProvider @Transactional @RolesAllowed(RoleSet.ETL_SERVER) @DatabaseUpdateModification(value = ObjectKind.DATA_SET) - public int unarchiveDatasets(String sessionToken, - @AuthorizationGuard(guardClass = DataSetCodePredicate.class) List<String> datasetCodes); - + public int unarchiveDatasets( + String sessionToken, + @AuthorizationGuard(guardClass = DataSetCodeCollectionPredicate.class) List<String> datasetCodes); }