diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
index ba64b914ca704a6ecaab8f3bb9d9662037422d68..2e85633b91f7823b177380fe6c09d23ce3959ae7 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
@@ -46,6 +46,9 @@ import ch.systemsx.cisd.common.mail.MailClient;
 import ch.systemsx.cisd.common.mail.MailClientParameters;
 import ch.systemsx.cisd.common.spring.AbstractServiceWithLogger;
 import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExpressionValidator;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.PropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.DataSetTable;
@@ -59,9 +62,6 @@ import ch.systemsx.cisd.openbis.generic.server.plugin.SampleServerPluginRegistry
 import ch.systemsx.cisd.openbis.generic.shared.IRemoteHostValidator;
 import ch.systemsx.cisd.openbis.generic.shared.IServer;
 import ch.systemsx.cisd.openbis.generic.shared.ResourceNames;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExpressionValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.EntityVisitComparatorByTimeStamp;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DisplaySettings;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
index 3d409f6422418998ced34b4a6ab6ead783b1c5ff..f86fc56dd94dff2986e0856774d1c4e6321855b1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java
@@ -45,6 +45,39 @@ import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.common.utilities.PropertyParametersUtil;
 import ch.systemsx.cisd.common.utilities.PropertyParametersUtil.SectionProperties;
 import ch.systemsx.cisd.dbmigration.DatabaseConfigurationContext;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodeCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DeletionTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ListSampleCriteriaPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ProjectUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.RevertDeletionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpaceIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractExpressionPredicate.DeleteGridCustomColumnPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractExpressionPredicate.DeleteGridCustomFilterPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractExpressionPredicate.UpdateGridCustomColumnPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractExpressionPredicate.UpdateGridCustomFilterPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.ExperimentTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.ProjectTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.SpaceTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.DeletionValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExpressionValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExternalDataValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.MatchingEntityValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SpaceValidator;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.EntityTypeBO;
@@ -100,39 +133,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calcu
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl.EncapsulatedCommonServer;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl.MasterDataRegistrationScriptRunner;
 import ch.systemsx.cisd.openbis.generic.server.util.SpaceIdentifierHelper;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractExpressionPredicate.DeleteGridCustomColumnPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractExpressionPredicate.DeleteGridCustomFilterPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractExpressionPredicate.UpdateGridCustomColumnPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractExpressionPredicate.UpdateGridCustomFilterPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.ExperimentTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.ProjectTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.SpaceTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
-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.DataSetUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DeletionTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSampleCriteriaPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ProjectUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.RevertDeletionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.DeletionValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExpressionValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExternalDataValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.MatchingEntityValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ProjectValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SampleValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SpaceValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.BasicEntityInformationHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.CodeConverter;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IEntityInformationHolder;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
index 03717eaf8b0206415ed0d9a70216ee6a3130823b..4d9ce43202456040316296b4b7882e16a862bb08 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
@@ -51,6 +51,27 @@ import ch.systemsx.cisd.common.spring.HttpInvokerUtils;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.api.v1.SearchCriteriaToDetailedSearchCriteriaTranslator;
 import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationServiceUtils;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AtomicOperationsPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodeCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExistingSampleOwnerIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExistingSpaceIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ListSampleCriteriaPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ListSamplesByPropertyPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExperimentPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplesWithTypePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpaceIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleValidator;
 import ch.systemsx.cisd.openbis.generic.server.batch.BatchOperationExecutor;
 import ch.systemsx.cisd.openbis.generic.server.batch.DataSetBatchUpdate;
 import ch.systemsx.cisd.openbis.generic.server.batch.DataSetCheckBeforeBatchUpdate;
@@ -89,27 +110,6 @@ import ch.systemsx.cisd.openbis.generic.shared.IServer;
 import ch.systemsx.cisd.openbis.generic.shared.LogMessagePrefixGenerator;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchableEntityKind;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AtomicOperationsPredicate;
-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.DataSetUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExistingSampleOwnerIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExistingSpaceIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSampleCriteriaPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ListSamplesByPropertyPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperimentPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplesWithTypePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ProjectValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SampleValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.EntityOperationsState;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ArchiverDataSetCriteria;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
index 5a7dadfca06518893d7b3fdd77159386db0de8d4..0885442bc162d53706452b146b6896085a333104 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/IETLEntityOperationChecker.java
@@ -19,16 +19,16 @@ package ch.systemsx.cisd.openbis.generic.server;
 import java.util.List;
 import java.util.Map;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetUpdatesCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperimentPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExternalDataPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewProjectPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetUpdatesCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExperimentPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExternalDataPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewProjectPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleUpdatesCollectionPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewMaterial;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewProject;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/TrackingServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/TrackingServer.java
index 916120b9530f6c6ddd2e65fc307019da01de3063..9fb8cca8f7057f5013100ffb20b88d1cc626e6a3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/TrackingServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/TrackingServer.java
@@ -23,13 +23,13 @@ import java.util.Map;
 
 import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.datasetlister.IDatasetLister;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.samplelister.ISampleLister;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.shared.ITrackingServer;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.basic.SearchlinkUtilities;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
index 9ededbb191cf82d3a4a02078d904d1aa400fed3e..892c91abcbacab850c33785f2ba7767974d63afc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
@@ -27,6 +27,7 @@ import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.exceptions.InvalidSessionException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.shared.DatabaseCreateOrDeleteModification;
@@ -34,7 +35,6 @@ import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.IGeneralInformationChangingService;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.NewVocabularyTerm;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind.ObjectKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
index c9851c8c751de142f11e8bf80900300f8f92d1d3..7a236f15481309954486e54068a9c5814f9f3801 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationService.java
@@ -39,9 +39,20 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
 import ch.systemsx.cisd.openbis.generic.server.ComponentNames;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentListPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ProjectPredicate;
 import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleListPredicate;
 import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.DataSetByExperimentIdentifierValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentByIdentiferValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectByIdentiferValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleByIdentiferValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SimpleSpaceValidator;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.fetchoptions.datasetlister.DataSetLister;
@@ -72,17 +83,6 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SearchableEntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.SpaceWithProjectsAndRoleAssignments;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Vocabulary;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ProjectPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.DataSetByExperimentIdentifierValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExperimentByIdentiferValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ProjectByIdentiferValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SampleByIdentiferValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SimpleSpaceValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetRelatedEntities;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DetailedSearchCriteria;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/Argument.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/Argument.java
index cb29883631785f72a9abe9452af7e0a44db3fb84..5f6ab1f035659eebb34f08d906468c83cb9f23ae 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/Argument.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/Argument.java
@@ -3,7 +3,7 @@ package ch.systemsx.cisd.openbis.generic.server.authorization;
 import org.apache.commons.lang.builder.ToStringBuilder;
 
 import ch.systemsx.cisd.common.utilities.ModifiedShortPrefixToStringStyle;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
 
 /**
  * Small class encapsulating a method argument which could have been annotated with
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationAdvisor.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationAdvisor.java
index 8db1d0ac5cb22e575a8b88092b68b751543acec1..1b7f541dceadb31c2053d9f03f0ebb288f916bb8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationAdvisor.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationAdvisor.java
@@ -39,10 +39,10 @@ import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.AnnotationUtils;
 import ch.systemsx.cisd.common.utilities.AnnotationUtils.Parameter;
 import ch.systemsx.cisd.common.utilities.MethodUtils;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.server.util.MethodInvocationUtils;
 import ch.systemsx.cisd.openbis.generic.shared.ISessionProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.dto.IAuthSession;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationDataProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationDataProvider.java
index 784f9ffb238bcc2a8ec85333b1d622f2e123c20f..ddee40ab42a8cc952d142ddf2c9dd7a5638024b4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationDataProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationDataProvider.java
@@ -14,8 +14,6 @@ import org.hibernate.Session;
 import ch.systemsx.cisd.openbis.generic.server.batch.BatchOperationExecutor;
 import ch.systemsx.cisd.openbis.generic.server.batch.IBatchOperation;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAuthorizationDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetAccessPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationServiceUtils.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationServiceUtils.java
index 269bac9b05a265895fedcedf8b74a5b0307b34f2..50d699b9ddd23714f45d8d1714b99c7abc1128c5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationServiceUtils.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationServiceUtils.java
@@ -21,13 +21,12 @@ import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DelegatedPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpaceIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DelegatedPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMap.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMap.java
index 153a13dabb9798a696aa81c78775530469e6bae4..2928df10ff4f8060d244f1d1ab0c37ae94c2e621 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMap.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMap.java
@@ -33,7 +33,7 @@ import org.apache.log4j.Logger;
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessController.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessController.java
index 586ad3c6a2da4d480f109b31633c05c48ca2cd1f..10b92bb58323d14d96cfcf9df647b8d044cfe992 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessController.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessController.java
@@ -37,9 +37,8 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.MethodUtils;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAuthorizationDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.dto.IAuthSession;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilter.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilter.java
index c937eab91a3d0fb06b7e6410cb1e91c5b6d5988f..fd147b38a84388e7d6e50b8aee9c59c31969cdd0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilter.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilter.java
@@ -30,10 +30,9 @@ import ch.systemsx.cisd.common.collections.Modifiable;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.utilities.MethodUtils;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAuthorizationDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.IAuthSession;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/IAuthorizationDataProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IAuthorizationDataProvider.java
similarity index 98%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/IAuthorizationDataProvider.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IAuthorizationDataProvider.java
index 5276e843d7842913b232e0cabeb336c1632d223d..c40f12fa507812571c91a8c1f1141710f0f55578 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/IAuthorizationDataProvider.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IAuthorizationDataProvider.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization;
+package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import java.sql.Connection;
 import java.util.List;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IPredicateFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IPredicateFactory.java
index ef89014dd11cfe56558c94cbf1ba94dbbae421e6..7b3b0cb7b40861b6315b5195d26285ae67cbabe9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IPredicateFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/IPredicateFactory.java
@@ -16,7 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.server.authorization;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 
 /**
  * A factory for {@link IPredicate} implementation.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutor.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutor.java
index 341c4ab8be78d246c6226b7aa5eca0bfb32465e5..2acf7be1c312d04f058e41773af6cb8cf8805343 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutor.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutor.java
@@ -19,13 +19,11 @@ package ch.systemsx.cisd.openbis.generic.server.authorization;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ArrayPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.CollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAuthorizationDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ArrayPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.CollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateFactory.java
index e9e1cb4a60ac64f142ed2883c7ad5e81b52e262b..1ba08c9b20f52018b75eeb82ce4b17961b19c4f3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateFactory.java
@@ -17,7 +17,7 @@
 package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import ch.systemsx.cisd.common.utilities.ClassUtils;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 
 /**
  * A default {@link IPredicate} factory.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifier.java
similarity index 98%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifier.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifier.java
index 6c1f6da0479ff8e58f2f65ab86b755d25fe95dc2..baf862a823a9f667ee661f2be045e91369e28a1a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifier.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifier.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization;
+package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import ch.rinn.restrictions.Private;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/SpaceOwnerKind.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/SpaceOwnerKind.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/SpaceOwnerKind.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/SpaceOwnerKind.java
index 82bf765613446bdb3c9895b7b5a27ffbbe46845f..d58b6935374a11f054cb4efc4b97e8f1b0dec298 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/SpaceOwnerKind.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/SpaceOwnerKind.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization;
+package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/ValidatorStore.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/ValidatorStore.java
index b1b78e0aecfdedd78dc81a078d028d680feaa173..908d3ff14a58e8667598fdb2b02789369a8ce11d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/ValidatorStore.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/ValidatorStore.java
@@ -20,8 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import ch.systemsx.cisd.common.utilities.ClassUtils;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 
 /**
  * A <code>static</code> store of {@link IValidator}.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/AuthorizationGuard.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/AuthorizationGuard.java
similarity index 90%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/AuthorizationGuard.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/AuthorizationGuard.java
index 355d1777e52dc3e74292d5568c04762078758974..ae7b742ad8aa8915a812370ef6d3b2fce74366ea 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/AuthorizationGuard.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/AuthorizationGuard.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.annotation;
+package ch.systemsx.cisd.openbis.generic.server.authorization.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
@@ -22,7 +22,7 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 
 /**
  * An annotation for marking method parameters that should be evaluated.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/Capability.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/Capability.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/Capability.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/Capability.java
index e9291582b4bc1668dbf20316060af712cab150e7..846dccc23e11f8c809045611087bff47a34398ad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/Capability.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/Capability.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.annotation;
+package ch.systemsx.cisd.openbis.generic.server.authorization.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ReturnValueFilter.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ReturnValueFilter.java
similarity index 90%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ReturnValueFilter.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ReturnValueFilter.java
index 18fad053d3748315e2a2cb6590b111c7c328f4a6..d4317378872ea04297dc645c01adca960103f09d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ReturnValueFilter.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ReturnValueFilter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.annotation;
+package ch.systemsx.cisd.openbis.generic.server.authorization.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
@@ -22,7 +22,7 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 
 /**
  * An annotation for marking method that should have its return value filtered.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/RolesAllowed.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/RolesAllowed.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/RolesAllowed.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/RolesAllowed.java
index 6c82a20e04956c0fb24064b5af8656d7ac494e54..dd4efbec566d80fc95e4d4be84f669566c4c98c4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/RolesAllowed.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/RolesAllowed.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.annotation;
+package ch.systemsx.cisd.openbis.generic.server.authorization.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ShouldFlattenCollections.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ShouldFlattenCollections.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ShouldFlattenCollections.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ShouldFlattenCollections.java
index 07138284f355397e9f5e1c178ba2794aca543297..6d8cbc65dcb81d3e13e3be597589e166e1545d72 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/annotation/ShouldFlattenCollections.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/annotation/ShouldFlattenCollections.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.annotation;
+package ch.systemsx.cisd.openbis.generic.server.authorization.annotation;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Inherited;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractDatabaseInstancePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractDatabaseInstancePredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractDatabaseInstancePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractDatabaseInstancePredicate.java
index 6a0a39247fb559f52fe84884e4a7a885abca0a99..83d70b4c3688ebe9bfc90df90764ab1db6ea7b04 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractDatabaseInstancePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractDatabaseInstancePredicate.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.util.DatabaseInstanceIdentifierHelper;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractExpressionPredicate.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractExpressionPredicate.java
index eabb86f8f3a1f09b667e8df0abcc3ea61cb96500..f1d3a8f44e9ac15c0be38e6192665e3ac13a1e77 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractExpressionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractExpressionPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IExpressionUpdates;
 import ch.systemsx.cisd.openbis.generic.shared.dto.AbstractExpressionPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractPredicate.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractPredicate.java
index 3fbc03d775fb07fa6d27bad14bb3a1e1f7c1576c..bd01a4d4e1043f2ea8936ad4ee117d69f3eef344 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
@@ -22,7 +22,7 @@ import org.springframework.dao.DataAccessException;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractSpacePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractSpacePredicate.java
similarity index 97%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractSpacePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractSpacePredicate.java
index ef665d7e1725db6a415628fa266ade09edcdea00..17cab3ce6ef3fafd44595cb4f6ae52d2da9cfb74 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractSpacePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractSpacePredicate.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicate.java
index 6ce5e6d15ee4368941c31e684fbcefd84d1d7dab..0fadc9c51eef5c50a1090d0f5151d59dcd5a794c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicate.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicate.java
index 3b09acdf06f6847f2a9075f6e57ee8dda81acfee..859ad685800628410e9ad7fc06f34846d67e737f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicate.java
index 2167dad04e59bb46f93715d6ee41d3e758eaeacc..cb264d749d40fe4446c5f4023e0e89b4f69851b4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AtomicOperationsPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AtomicOperationsPredicate.java
similarity index 98%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AtomicOperationsPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AtomicOperationsPredicate.java
index 6e881fd358f742b860782558c1ff14a231e12d6b..14cce53c48d52d66e0ad0c3b2a3bf045635ef835 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AtomicOperationsPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AtomicOperationsPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicate.java
index 0aadeb4766d05b67183154a660b319a0312e0561..17535d26475f2324b81f0139d3c4d15e8b5e660f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicate.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Collection;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataPEPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataPEPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataPEPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataPEPredicate.java
index 3a3ff41ce4ee4e5e3b271216f5fa127d95017e23..f33dc5a4e1b945b69ca5a942c096fab1799e173d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataPEPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataPEPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodeCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodeCollectionPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodeCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodeCollectionPredicate.java
index fdc7728cf42daf50cb4a0c6365d2be10071986d4..9a337e1502bb44335bf06b7d3740fa70b5090ca5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodeCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodeCollectionPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetAccessPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicate.java
index b2a2f02bb16f7567113427f7778d2dfaa778b5c2..8d089bf4697b2541c1b437f1b465a902d596717f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicate.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetAccessPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicate.java
index e3bc7515db599397401c9746844238367689fa68..818012ea1d9ac4ccdc4ac5763fabb704c3de20bf 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicate.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.DataSetTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.DataSetTechIdCollectionPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesPredicate.java
index c4eb44c25461538b7aa41de6b1176d9c7b0d6854..52832ad7cb5b159be5c7ad3176209d10c2fbceaa 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicate.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicate.java
index 487c0700952556160bac787c64bca55d2c390817..248f35c636a9fc113545e25934c852ceacfceede 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicate.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedNullableAbstractPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedNullableAbstractPredicate.java
similarity index 90%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedNullableAbstractPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedNullableAbstractPredicate.java
index c652fb201583fd5b198f0e4583fcdc99845ccd95..45440e112d294dbe28ad99735e19d76baf80d6e1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedNullableAbstractPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedNullableAbstractPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedPredicate.java
index 456841a69d7f2889bcf7c8de535149f534ff248c..85a5e35ffa2fd4bf835186a6e37969efaa521fee 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DelegatedPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DelegatedPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DeletionTechIdCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DeletionTechIdCollectionPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DeletionTechIdCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DeletionTechIdCollectionPredicate.java
index 1e1c31f1004d9a32889b5715da9b76327ce02175..70cb3a536b3148fe6093d28f2f68264df71a3045 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DeletionTechIdCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DeletionTechIdCollectionPredicate.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetAccessPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentAccessPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java
index 71b1d3f6143ae88bd997d2802a423ebc666c4277..2d8a080ac3f96067f27e19556cc9ea72bc070765 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSampleOwnerIdentifierPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 /**
  * A {@link SampleOwnerIdentifierPredicate} which evaluates to OK if the space does not exist.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSpaceIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSpaceIdentifierPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSpaceIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSpaceIdentifierPredicate.java
index 182813f1bf69bbff46f7ee65a249bdf627adcf88..ccdc0e4ddf379332b1025921e6ea9c023f2ff497 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExistingSpaceIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExistingSpaceIdentifierPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentIdentifierPredicate.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentIdentifierPredicate.java
index 7a4d35ad617aa6411d9dfb7c63f4ed7c479b83ed..d734ec1bbde62e5f73f50c17d898c2ad9d685b22 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentIdentifierPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentListPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentListPredicate.java
index 73b515e792f8556c8407df7f1e73da0d05eb0a69..1a3d7c7d0de1a7cc96f5f29c871321a998f28c6e 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentListPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentListPredicate.java
@@ -29,12 +29,11 @@ import net.lemnik.eodsql.Select;
 
 import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException;
 import ch.systemsx.cisd.common.exceptions.Status;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.LongArrayMapper;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.StringArrayMapper;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractSpacePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentPEPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentPEPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentPEPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentPEPredicate.java
index 8aebd07d66ab3829fe97c00b291d8355a894de4a..946386e3e80b3da8be994e0861dc09e0aa8329cb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentPEPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentPEPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentUpdatesPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentUpdatesPredicate.java
similarity index 90%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentUpdatesPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentUpdatesPredicate.java
index 69219e167ca878b07b593f92f179488f12efd8e2..e3b4b535ad782349ae84524e0414b72d0fffddc9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ExperimentUpdatesPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ExperimentUpdatesPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentUpdatesDTO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/IPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/IPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/IPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/IPredicate.java
index 84ef6857e6ffa885b7ec2db3c3d61d92bc5e6556..62851ab331f53bc439ae4742bd4d5c296445fd4f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/IPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/IPredicate.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.server.authorization.IPredicateFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicate.java
index aa665d8d4b89f7e408559f47759fb390d165a048..650c7b80f049bd7a7c056941d991d4dcbf8c142f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicate.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSamplesByPropertyPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSamplesByPropertyPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSamplesByPropertyPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSamplesByPropertyPredicate.java
index 48ae133b42e4d901a9676888de607402adb9f7cd..fab5175ce71f04541d3fa9cd484674fafc7405a3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSamplesByPropertyPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSamplesByPropertyPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ListSamplesByPropertyCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewDataSetsWithTypePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewDataSetsWithTypePredicate.java
similarity index 89%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewDataSetsWithTypePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewDataSetsWithTypePredicate.java
index c3979269ad580703707bccfa8482caf8dc97835d..9dd927ac5c784b9122a9a89b12540583363e3c49 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewDataSetsWithTypePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewDataSetsWithTypePredicate.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSet;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewDataSetsWithTypes;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicate.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicate.java
index d26c780aef2494be1377ac05d62ef5e492fafd3b..227806b33de1dacea5ddaa6f37a64c2a1781c182 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentsWithTypePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentsWithTypePredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentsWithTypePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentsWithTypePredicate.java
index 19e874d713521dac8cd6bbf81255f279e3675b00..e636a39be7d1f959138ceab8ff71e699f69e2ab4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentsWithTypePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentsWithTypePredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewBasicExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperimentsWithType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExternalDataPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExternalDataPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExternalDataPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExternalDataPredicate.java
index 243f632ce892e2e0782c88a6a496175679e123e2..28a8f8cc8a8d6a188fbe233d896e5786e2afe2b0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExternalDataPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExternalDataPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewProjectPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewProjectPredicate.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewProjectPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewProjectPredicate.java
index e3783534521c583e20c47d70c10ef3e526365748..90a85e1e8e3c032e6dd9a57b70d90ba79d3367b4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewProjectPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewProjectPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewProject;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicate.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicate.java
index 824798fcb79bb2038e9ead7c07ec7f0918b0764c..04fdfa67a1c999aa0b152650ecb6c3a3681c587c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicate.java
index dfa1ba2327755ee46fbb9d446891456180513567..3467ef9b55b7885635eb41a2fd8dafab38e7db5c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSamplesWithTypes;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NullableGroupIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NullableGroupIdentifierPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NullableGroupIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NullableGroupIdentifierPredicate.java
index 9cb0dff5ade47126c0c3cf6c383039d0319ef7dd..8fd15faff82d85dc0ae5dbc8c321fcb82e2b8452 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NullableGroupIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NullableGroupIdentifierPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/PersistentEntityPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/PersistentEntityPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/PersistentEntityPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/PersistentEntityPredicate.java
index 74a141c17566e08d4451c7ed59d7843e81a9855f..b6cdbc22c7d0a97b27cca3e5d9285da945fdd5fd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/PersistentEntityPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/PersistentEntityPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPEPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPEPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPEPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPEPredicate.java
index 491a48566afdacaee1cbecc6a276ee11c528d3df..ff5beaaf852aff4a592387615f119624a394a2b2 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPEPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPEPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicate.java
index 7919f9f788341be1bd860a20375c87472f71c330..3672be3b015203ef50a9fe4e7714a18bdcfba124 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicate.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Project;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectUpdatesPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectUpdatesPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectUpdatesPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectUpdatesPredicate.java
index b43402d3b215a8af8c73aba0966d0222a8035a51..87ecf8cd97b23e26a5e131c61631d39d5f88e791 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectUpdatesPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectUpdatesPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectUpdatesDTO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/RevertDeletionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/RevertDeletionPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/RevertDeletionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/RevertDeletionPredicate.java
index 77a2efc2d635b033f3fb478f959643c818636e87..dff24f0ab55632e34fa6d7c624fc0ac2dfa31cb9 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/RevertDeletionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/RevertDeletionPredicate.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleListPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleListPredicate.java
index 142ec02f042c1d75c25091d27774248336e77965..a5ad61625dd126cb08d83d32cd9e7f97d3fa8e74 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleListPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleListPredicate.java
@@ -29,14 +29,12 @@ import net.lemnik.eodsql.Select;
 
 import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException;
 import ch.systemsx.cisd.common.exceptions.Status;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.LongArrayMapper;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.StringArrayMapper;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractSpacePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java
index 4dd977a6deef76615d8ee28109f4fb97509bd379..44c12f3eb2c15e0dfa5aa6ce30e0cb120ce941cb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierCollectionPredicate.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicate.java
index 1d2f1e3d58590a3254c44c2977b0a448f663bebb..0e029cd058bf183e54539436a8878c2c922077b6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePEPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePEPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePEPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePEPredicate.java
index d68a0d3a73631af1a884c64e5972cf85df8f7bc3..3404f551b0a7f5032fe3e973f187f0d98fcb319a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePEPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePEPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePermIdPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePermIdPredicate.java
similarity index 92%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePermIdPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePermIdPredicate.java
index efc82cf5984877ef7d072288c8b05cce18585cd4..93bf3ec20f7a9d942340a478ac7cecd91fd88394 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SamplePermIdPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePermIdPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PermId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePredicate.java
index b983bf8e80d44bee5f5aa8e7fb31fb492d9e7b3f..088c03afd8a4429966ce6b8a24269a75af710644 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SamplePredicate.java
@@ -20,7 +20,6 @@ import java.util.Collections;
 import java.util.List;
 
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DelegatedPredicate;
 
 /**
  * Predicate based on {@link ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample}. This
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java
index 63561ddc346ab8ec7472e573035530829ebd45db..1cb0ce2a4aae3e209342129a7fe7735ca40c11c5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdCollectionPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleAccessPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdPredicate.java
index cf6388d275a112fc72230cd53422b6ecf00d5065..d961fb398411a734b3395117c2a14a8826b5bd53 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleTechIdPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleTechIdPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java
index b44574047fa5d3939e953f03982fa530a3a6e61b..a3dc393e9453d90210523285d87bfe5a3646becc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicate.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesPredicate.java
index efeb7d4a145b7304ff3343449cabb0a913aab96b..c069a3cccc1f01944db0ab40cc8bd5c209ef6459 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleUpdatesDTO;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicate.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicate.java
index 1152e29eab7b8f72be859893483f86bebb6a5e3c..99e6feafae6dbf13c3f9d7bddce51d53a627f89c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpacePEPredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpacePEPredicate.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpacePEPredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpacePEPredicate.java
index 64fbf5a6fe63e553a630d6992e76144fce674a0e..0aacfc864baa53ce7d35171afb8d9d58c209b836 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpacePEPredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpacePEPredicate.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/UpdatedExperimentsWithTypePredicate.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/UpdatedExperimentsWithTypePredicate.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/UpdatedExperimentsWithTypePredicate.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/UpdatedExperimentsWithTypePredicate.java
index ecf21b5adb3c17a121be46ebe2491f55647194ef..23179c8a0a96f75624ce5a08537259f598cc3d60 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/UpdatedExperimentsWithTypePredicate.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/UpdatedExperimentsWithTypePredicate.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewBasicExperiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.UpdatedExperimentsWithType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractIdentifierValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractIdentifierValidator.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractIdentifierValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractIdentifierValidator.java
index bc7233ba9a5ea54aee1756a7fac149bade5100de..137897cb7a8a15ea286e899e47ccf4aa5c66c980 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractIdentifierValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractIdentifierValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractValidator.java
similarity index 93%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractValidator.java
index 70e8f5ec7dda7c601019f1c252dd3c87cdc7b40b..3819e810b54dd6d4b51d45b9990266beb7cda83f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/AbstractValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/AbstractValidator.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DataSetByExperimentIdentifierValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DataSetByExperimentIdentifierValidator.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DataSetByExperimentIdentifierValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DataSetByExperimentIdentifierValidator.java
index 854676b8afd33a99b19c4da7107435e244b79b2f..4556eff62638289fb31419173d0c013b731b37dc 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DataSetByExperimentIdentifierValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DataSetByExperimentIdentifierValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.DataSet;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifierHolder;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidator.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidator.java
index c13138a452aa323f820f8f5f2d4d7723470e6fd5..064bfb1693e7c1c47dc9d50bd082ab5be879aaf5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Set;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DeletionValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DeletionValidator.java
similarity index 98%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DeletionValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DeletionValidator.java
index e066da311f4f6a72065e5f895fa9632952bd37ac..04a364a14442fb66318e691f609ad6f95558d0e4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DeletionValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DeletionValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentByIdentiferValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentByIdentiferValidator.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentByIdentiferValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentByIdentiferValidator.java
index 604caef3c010ba6b465c987a28682f2a5f60c03e..14145bedc885260ea1ec4dac16203b811f804986 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentByIdentiferValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentByIdentiferValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifierFactory;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidator.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidator.java
index b7538b5ee2d7e79ad7c8086aa13f0ca1d669efb1..13289c8818851ffe9e3963f4afb60a6ce4c029fb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExpressionValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExpressionValidator.java
similarity index 97%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExpressionValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExpressionValidator.java
index fb4e0b1d4d4274d59fa128215d711f64bfed7196..85e1471bc28e9bd176b44b4ac31e38ffe9634072 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExpressionValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExpressionValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Set;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidator.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidator.java
index b5e87b4bad9a8da031d25d8948cba315ac9604fb..c247fe9c12d630c1c73e9963948f188149ab8c60 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/IValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/IValidator.java
similarity index 91%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/IValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/IValidator.java
index 197f0e13d748c58dbebc47973b66cad62f226b61..0730e1f5df3791ea729e572a22b45d4e8bb35124 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/IValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/IValidator.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.server.authorization.ValidatorStore;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidator.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidator.java
index 9284d8a0f3f87eb08ce93ceb63474eda6b15478c..cc7ec0ce157b835ac2c399744dc910d5f6982a75 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MatchingEntity;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectByIdentiferValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectByIdentiferValidator.java
similarity index 94%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectByIdentiferValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectByIdentiferValidator.java
index bff85026ba919a67dc6e6ede7c01be54d7a42683..91443c240fab8788da9be217320d5d01a836b6af 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectByIdentiferValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectByIdentiferValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifierFactory;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidator.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidator.java
index de74d78ee005b043cd905c431149d942f56ac4d0..0cb71cba4b159a2ff45bdbed9a0e95a03ba7cb96 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Project;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleByIdentiferValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleByIdentiferValidator.java
similarity index 95%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleByIdentiferValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleByIdentiferValidator.java
index 80abf45f71a2653cae755d3a4c4858b44da55a62..fdcad71278eac5bc9508b0abba8d6c108e5c54b7 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleByIdentiferValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleByIdentiferValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidator.java
similarity index 97%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidator.java
index d02de3e0c3fc45762994848785e8d860d90ed3e7..b4ef6e1a93ba0bfab88e4985b3499cc23812aa82 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Set;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SimpleSpaceValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SimpleSpaceValidator.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SimpleSpaceValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SimpleSpaceValidator.java
index 4f872fbb3fc062776a426f11eb797c5263140dbf..04146746d756f574661ba9e8fec6ac00eccfeedb 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SimpleSpaceValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SimpleSpaceValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Set;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SpaceValidator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SpaceValidator.java
similarity index 96%
rename from openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SpaceValidator.java
rename to openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SpaceValidator.java
index fef3ec685603ff2a2d75ea85a3b01058c0232d2b..3ea773e3f476193267bc4626cb4e63149864ba58 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SpaceValidator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SpaceValidator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import java.util.Set;
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IEntityOperationChecker.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IEntityOperationChecker.java
index 34f73f322986d8a2c8a43c38bc090fdb76d37dc1..0b0f75063c9d7e133d7d95d8bd3fb78454fc879b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IEntityOperationChecker.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IEntityOperationChecker.java
@@ -18,10 +18,10 @@ package ch.systemsx.cisd.openbis.generic.server.business;
 
 import java.util.List;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.dto.IAuthSession;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IRelationshipService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IRelationshipService.java
index 2102221a7688040e3bc25629af0c8da065fb6144..1a9b060c9624c7f30b1d665971a1d4adf66c00ee 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IRelationshipService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/IRelationshipService.java
@@ -19,14 +19,14 @@ package ch.systemsx.cisd.openbis.generic.server.business;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataPEPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentPEPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ProjectPEPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SamplePEPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpacePEPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataPEPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentPEPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ProjectPEPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SamplePEPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpacePEPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/server/DemoServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/server/DemoServer.java
index ba3a63165d830a65b0c19dbf13e8a9f4f7cf737e..07f2b14047361fe1a6ad0da8a74a94fa6044d472 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/server/DemoServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/server/DemoServer.java
@@ -28,15 +28,15 @@ import ch.systemsx.cisd.common.exceptions.NotImplementedException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewAttachment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
index 91c933de0d8642cc840501e9aaf4751296d39385..83f5164b5d7ec11e790aa86ae0cc7103fac3c5d4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/server/GenericServer.java
@@ -37,6 +37,22 @@ import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
 import ch.systemsx.cisd.openbis.generic.server.IASyncAction;
 import ch.systemsx.cisd.openbis.generic.server.MaterialHelper;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ExperimentUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewDataSetsWithTypePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExperimentPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExperimentsWithTypePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplesWithTypePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleUpdatesPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.UpdatedExperimentsWithTypePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.server.batch.BatchOperationExecutor;
 import ch.systemsx.cisd.openbis.generic.server.batch.IBatchOperation;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
@@ -48,22 +64,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ProjectTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.ExperimentUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewDataSetsWithTypePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperimentPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewExperimentsWithTypePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.NewSamplesWithTypePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleUpdatesPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.UpdatedExperimentsWithTypePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentWithContent;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/QueryServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/QueryServer.java
index 200854199cc9ef3a327280068866d150cb964921..1545d419efcf1a8d0b6e5ec9886d747e77c0ef8f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/QueryServer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/server/QueryServer.java
@@ -33,15 +33,15 @@ import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExpressionValidator;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IQueryDAO;
 import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExpressionValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.QueryType;
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/authorization/AuthorizationChecker.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/authorization/AuthorizationChecker.java
index 31d02ec8de533b6ec9b6b1309bb7efe0224b0c2b..7fc92fc288cf3fab11a512a4630f9a41279b78d1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/authorization/AuthorizationChecker.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/shared/authorization/AuthorizationChecker.java
@@ -20,7 +20,7 @@ import java.util.List;
 import java.util.Set;
 
 import ch.systemsx.cisd.openbis.generic.server.authorization.DefaultAccessController;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationTestCase.java
similarity index 98%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationTestCase.java
index 0cc544a913610bfce8b169d07aa6cbb8c098a5bc..12a2273148eed463b043520a0177474183429d4f 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/AuthorizationTestCase.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/AuthorizationTestCase.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization;
+package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -28,6 +28,9 @@ import org.testng.annotations.AfterMethod;
 import org.testng.annotations.BeforeMethod;
 
 import ch.rinn.restrictions.Friend;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMapTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMapTest.java
index 0bfe39f5b3b3cfa22aafc035513c0a7a772ad8c3..ad747cfeee41bee52ad14ab6eafa43ce97e1d9db 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMapTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/CapabilityMapTest.java
@@ -26,7 +26,7 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.logging.LogInitializer;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessControllerTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessControllerTest.java
index 8219b26e9d4313f506f41bb1ce4dfd64566c80a2..8760f13fda4b5b14a27c000c4edb01873bed151b 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessControllerTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultAccessControllerTest.java
@@ -36,8 +36,8 @@ import ch.rinn.restrictions.Friend;
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
 import ch.systemsx.cisd.common.logging.LogInitializer;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilterTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilterTest.java
index d2e739340f9f53ddd50f8f02139af58797656619..30ea76333d3819d670857549f2d5085624ee7a95 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilterTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/DefaultReturnValueFilterTest.java
@@ -42,7 +42,7 @@ import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogInitializer;
 import ch.systemsx.cisd.common.test.LogMonitoringAppender;
 import ch.systemsx.cisd.common.utilities.StringUtilities;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutorTest.java
index 51b9c216f9602d60984e4adebf4a068593082ade..cd479009cabebc49a04736dc05249d85aeb27cd0 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/PredicateExecutorTest.java
@@ -27,12 +27,9 @@ import org.testng.annotations.Test;
 import ch.rinn.restrictions.Friend;
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.utilities.StringUtilities;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IAuthorizationDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDatabaseInstanceDAO;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifierTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifierTest.java
similarity index 97%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifierTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifierTest.java
index 1a9eaea401a6b69378bab8d467f2246e006e74a4..52ba1d24d62a6c9111264664fc69fff406050153 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/RoleWithIdentifierTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/RoleWithIdentifierTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization;
+package ch.systemsx.cisd.openbis.generic.server.authorization;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -25,6 +25,7 @@ import org.testng.annotations.Test;
 
 import ch.rinn.restrictions.Friend;
 import ch.systemsx.cisd.openbis.generic.server.authorization.DefaultAccessController;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleLevel;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicateTest.java
similarity index 91%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicateTest.java
index 1b7378948b2b48bf2da98a9d5f760f7e17ed0c11..f19970722cf34f7c25b4fca89e539d8f98c0ed6f 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdCollectionPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdCollectionPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -24,12 +24,12 @@ import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.DataSetTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.ExperimentTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.ProjectTechIdCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdCollectionPredicate.SpaceTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.DataSetTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.ExperimentTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.ProjectTechIdCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdCollectionPredicate.SpaceTechIdCollectionPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicateTest.java
similarity index 94%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicateTest.java
index 7482748fcb3eeb03bfe0975c2c6371f735a84997..448df13bc340a6da85524de657dcc7cc827f9d4d 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/AbstractTechIdPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/AbstractTechIdPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Collections;
 import java.util.List;
@@ -23,9 +23,10 @@ import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.CommonTestUtils;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicateTest.java
similarity index 90%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicateTest.java
index db7be3a320473b0fb00a6a80759d9d53b3f965b3..eaa2aa0d585a845b9a9dfcdc7c624c030b678c0d 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ArrayPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ArrayPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
@@ -23,8 +23,10 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ArrayPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicateTest.java
similarity index 90%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicateTest.java
index 3fd2ac229acb764e75b71d1b335c14ca3753f130..dbe50eaddb091352b40e16a6f0513a2cf747c08e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/CollectionPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/CollectionPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -25,8 +25,10 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.CollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicateTest.java
similarity index 92%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicateTest.java
index 3f59a407227f646a7a54daa58a38ad4a44777b94..9e12ae65e0f23c3445d3d45569a34fe33006e079 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetCodePredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetCodePredicateTest.java
@@ -14,13 +14,14 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetAccessPE;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java
similarity index 94%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java
index e5ffc0f4685197bd0453f9e00aed053612364e5c..34d3d8bfebdae85c7f9fd5ddca81fce25aa3aeec 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DataSetUpdatesCollectionPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -23,8 +23,9 @@ import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetUpdatesCollectionPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetUpdatesDTO;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java
similarity index 95%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java
index fa284ad30e53af7605234c1078fb3967ccdb896b..fcfbbfca2aad8c28e27a40adcfaa89c258592bad 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/DatabaseInstanceIdentifierPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import org.jmock.Expectations;
 import org.testng.annotations.Test;
@@ -22,7 +22,8 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DatabaseInstanceIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicateTest.java
similarity index 95%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicateTest.java
index 1aeb00b4217afe0b3157055c4ee5ba1ecc56702d..1b2e28ee5d3bba950031dfe2d8931a90f83a5395 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ListSampleCriteriaPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ListSampleCriteriaPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -24,9 +24,10 @@ import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.SpaceOwnerKind;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ListSampleCriteriaPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleAccessPE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicateTest.java
similarity index 86%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicateTest.java
index 9b673fc9d3acf85ded44aae139efe2a95216b9b9..bb8b838c90dfa4c5b5c403b78aecbf55625cbaf5 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewExperimentPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewExperimentPredicateTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewExperimentPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicateTest.java
similarity index 95%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicateTest.java
index 50e5114c4de833cc51b5bbd3afc53120b1072e1a..b2f20e7d172d92ee818007b10948fc89eeb84f32 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplePredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplePredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.List;
@@ -22,7 +22,8 @@ import java.util.List;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicateTest.java
similarity index 94%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicateTest.java
index 3bf32963af0990eaa0a7131461d192a486ff3d52..285e62d32252e80ad6bc38b8c229d6e7c3985450 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/NewSamplesWithTypePredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/NewSamplesWithTypePredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.List;
@@ -24,8 +24,10 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.NewSamplesWithTypePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSamplesWithTypes;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicateTest.java
similarity index 92%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicateTest.java
index 3df4b6e48f49777eaa6b761fc96f8ee24af7ee99..8a39a2c8c4ff540cee46f3054ba74ac386d9706a 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/ProjectPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/ProjectPredicateTest.java
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.ProjectPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Project;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 
 /**
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java
similarity index 94%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java
index 8dc8ab231adfb832db1635742f3480bd1bbc21a8..0d6cd965b8e6a977ddfa6bef01d55ef5d9f5f00c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleOwnerIdentifierPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleOwnerIdentifierPredicateTest.java
@@ -14,15 +14,16 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.List;
 
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleOwnerIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java
similarity index 96%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java
index 1fe28fc66d8abfe4351a4bb203b15a90df6f3c2b..7223bda11b6bb38a68416f8d1290585a96a38ff3 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SampleUpdatesCollectionPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SampleUpdatesCollectionPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -23,7 +23,8 @@ import org.jmock.Expectations;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleUpdatesCollectionPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleAccessPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SampleAccessPE.SampleOwnerType;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicateTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicateTest.java
similarity index 96%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicateTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicateTest.java
index 97f77581d320183707953d0894f076f5166a2fa2..36f1ebe3988f726792e52bf3e97c91a301d8bb6f 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/predicate/SpaceIdentifierPredicateTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/predicate/SpaceIdentifierPredicateTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.predicate;
+package ch.systemsx.cisd.openbis.generic.server.authorization.predicate;
 
 import java.util.Collections;
 import java.util.List;
@@ -24,7 +24,8 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.StatusFlag;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpaceIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/CustomGridExpressionValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/CustomGridExpressionValidatorTest.java
similarity index 95%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/CustomGridExpressionValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/CustomGridExpressionValidatorTest.java
index e4e23d3997b46ed2f06b392dc97f6a8640641259..29a4fbe06782c23b9082553808b2338d7d63505a 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/CustomGridExpressionValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/CustomGridExpressionValidatorTest.java
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
 import ch.rinn.restrictions.Friend;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExpressionValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatabaseInstancePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.GridCustomFilterPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidatorTest.java
similarity index 87%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidatorTest.java
index c5e9725340cb8fa232dae3ca755121d8347132ba..5c45300ed47e79d5c01cfc17789174909a2d7bac 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/DatabaseInstanceValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/DatabaseInstanceValidatorTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.DatabaseInstanceValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.translator.DatabaseInstanceTranslator;
 
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidatorTest.java
similarity index 91%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidatorTest.java
index 9d0e53a3a722616ebfb3b32dceec0e13445a6608..3ea8a7c21ab01f060f39d5fa4b8145e26269eb4e 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExperimentValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExperimentValidatorTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.translator.ExperimentTranslator;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidatorTest.java
similarity index 91%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidatorTest.java
index d9d06a3f29c1cdd7f94ec2b0955c4815d096f45f..8c7c443de165546615f956955d5d115f5804c18c 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ExternalDataValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ExternalDataValidatorTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExternalDataValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSet;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/GroupValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/GroupValidatorTest.java
similarity index 92%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/GroupValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/GroupValidatorTest.java
index e268d6764624045ba7dc7e13c6c02999949720cc..04334e38a19683aa3e456565a4516813078dedca 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/GroupValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/GroupValidatorTest.java
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SpaceValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidatorTest.java
similarity index 95%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidatorTest.java
index 3bfdbb31a80f9cb63aa5e09fe1071c99de6445ed..61f781059948e804f5062d6265531a7208f8b543 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/MatchingEntityValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/MatchingEntityValidatorTest.java
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
 import ch.rinn.restrictions.Friend;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.MatchingEntityValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MatchingEntity;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidatorTest.java
similarity index 90%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidatorTest.java
index e6e956e614f98d5cd9e4da804493087cd4d7704e..a0ac21c5f6ac671ea6354e798444f450e5f1ab83 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/ProjectValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/ProjectValidatorTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ProjectValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.translator.ProjectTranslator;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidatorTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidatorTest.java
similarity index 92%
rename from openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidatorTest.java
rename to openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidatorTest.java
index ff2de679d0831721eddf4e414867897c6e9b343b..0236a830d1cbdc44a3b031bcda2f618d3809c6d0 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/shared/authorization/validator/SampleValidatorTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/authorization/validator/SampleValidatorTest.java
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.generic.shared.authorization.validator;
+package ch.systemsx.cisd.openbis.generic.server.authorization.validator;
 
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.AuthorizationTestCase;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SampleValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.translator.SampleTranslator;
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/util/AnnotationAppliedTestCase.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/util/AnnotationAppliedTestCase.java
index 8bcdc3488d32f07c1848b4c3404c2eaeff35a626..13135110d3f1249d7846f0a0e669b9267365703a 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/util/AnnotationAppliedTestCase.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/util/AnnotationAppliedTestCase.java
@@ -25,7 +25,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.testng.AssertJUnit;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 
 /**
  * Test case for test classes testing whether an interface and/or its implementation have all
diff --git a/openbis_all/source/java/TransferAuthorizationAnnotations.java b/openbis_all/source/java/TransferAuthorizationAnnotations.java
index 91a47538039301d8ffefb7570568098a6336c7be..8a73b62d9acec2e6296eb56d7e996941cb8a5f38 100644
--- a/openbis_all/source/java/TransferAuthorizationAnnotations.java
+++ b/openbis_all/source/java/TransferAuthorizationAnnotations.java
@@ -26,10 +26,10 @@ import java.util.StringTokenizer;
 
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
 import ch.systemsx.cisd.common.shared.basic.utils.CommaSeparatedListBuilder;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 
 /**
  * @author Franz-Josef Elmer
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/PhosphoNetXServer.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/PhosphoNetXServer.java
index b5e8bf34cde812476d82a363525548b688d80f0f..2cfca48f83967b207a142720117cc0933c8c85c3 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/PhosphoNetXServer.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/PhosphoNetXServer.java
@@ -29,14 +29,14 @@ import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IVocabularyDAO;
 import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Vocabulary;
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/ProteomicsDataServiceInternal.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/ProteomicsDataServiceInternal.java
index a3cc949876f3d18026d84d698228e131a9d2d816..e40c61465234bc01a515942453f7b6c301ed23d7 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/ProteomicsDataServiceInternal.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/ProteomicsDataServiceInternal.java
@@ -29,6 +29,13 @@ import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodeCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.ExperimentValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ICommonBusinessObjectFactory;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.IDataSetTable;
@@ -36,13 +43,6 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IEntityTypeDAO;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IExperimentDAO;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodeCollectionPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExperimentValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind;
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/api/v1/ProteomicsDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/api/v1/ProteomicsDataService.java
index 8d8030699168e1f193ca20b6e37f2fbb47890743..eec07410d491eb01c27e1a3cd408e59c99ccf9a0 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/api/v1/ProteomicsDataService.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/server/api/v1/ProteomicsDataService.java
@@ -34,9 +34,9 @@ import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode;
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/ParentSampleValidator.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/ParentSampleValidator.java
index 743b4ce79cc65bf553b8f161e5067f99c45858ed..40ff1d83885188f50d4119cd3d7c9ad8f70744a2 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/ParentSampleValidator.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/ParentSampleValidator.java
@@ -16,9 +16,9 @@
 
 package ch.systemsx.cisd.openbis.plugin.proteomics.shared.authorization.validator;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.SpaceValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.SpaceValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/RawDataSampleValidator.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/RawDataSampleValidator.java
index d9f3c666e8d68301be3d2606107e81f2821bc6d7..54fbed37926b1600d552020db401261774b59717 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/RawDataSampleValidator.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/proteomics/shared/authorization/validator/RawDataSampleValidator.java
@@ -1,7 +1,7 @@
 package ch.systemsx.cisd.openbis.plugin.proteomics.shared.authorization.validator;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.IValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.IValidator;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.plugin.proteomics.shared.dto.MsInjectionSample;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
index 4431aef826727dce851730302d75362857c6bdb9..da93f6842010b98ed817c928fc6480095b7a3a30 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/ScreeningServer.java
@@ -34,6 +34,15 @@ import ch.systemsx.cisd.authentication.ISessionManager;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
 import ch.systemsx.cisd.openbis.generic.server.AbstractServer;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.AuthorizationGuard;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.Capability;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ReturnValueFilter;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.RolesAllowed;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodeCollectionPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.ISampleBO;
 import ch.systemsx.cisd.openbis.generic.server.business.bo.common.DatabaseContextUtils;
@@ -43,15 +52,6 @@ import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlu
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.shared.ICommonServer;
 import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.Sample;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.Capability;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.DataSetTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-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.SampleTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicProjectIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.CodeAndLabel;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ExperimentIdentifierPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ExperimentIdentifierPredicate.java
index 8ab0ca2bd24799c56d4ea26cf231794a974fdef0..fdae4408a98f0cc538eedab3a7dacf47b48600f5 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ExperimentIdentifierPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ExperimentIdentifierPredicate.java
@@ -19,8 +19,8 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorizat
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractSpacePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractSpacePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateIdentifierPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateIdentifierPredicate.java
index 86ac5a84653823a4468d2cb94d7f5d1bbc5973a3..ec7b8083b45a13ff414d286fe044d9f8fc192ea9 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateIdentifierPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateIdentifierPredicate.java
@@ -19,10 +19,10 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorizat
 import java.util.List;
 
 import ch.systemsx.cisd.common.exceptions.Status;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractSpacePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SampleOwnerIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractSpacePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SampleOwnerIdentifierPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateWellReferenceWithDatasetsValidator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateWellReferenceWithDatasetsValidator.java
index 7654da9d275d52d825597f0e0b3cc8c146d8b3da..e4531738db617e06b030ce5d60004173741c5ce4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateWellReferenceWithDatasetsValidator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/PlateWellReferenceWithDatasetsValidator.java
@@ -18,7 +18,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorizat
 
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.AbstractValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.AbstractValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningExperimentValidator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningExperimentValidator.java
index 7fc4917388430c8942233fca3dc432f6ad4ff61e..ee7521a121899188c3818911d5bcc618637f3729 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningExperimentValidator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningExperimentValidator.java
@@ -2,7 +2,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorizat
 
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.AbstractValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.AbstractValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
index c15c26108956f3cd01a935ae17c0220509ce1765..99a94c886cd5643e02cff7297678b789a87b83ed 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateListReadOnlyPredicate.java
@@ -27,10 +27,10 @@ import net.lemnik.eodsql.QueryTool;
 import net.lemnik.eodsql.Select;
 
 import ch.systemsx.cisd.common.exceptions.Status;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.annotation.ShouldFlattenCollections;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractSpacePredicate;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.db.StringArrayMapper;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ShouldFlattenCollections;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractSpacePredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.exception.UndefinedSpaceException;
 import ch.systemsx.cisd.openbis.generic.shared.util.SpaceCodeHelper;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateValidator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateValidator.java
index eb32c0ddff45dd916b8d8b31abd657429d5fa296..585a3d150118cc8ebc71b3fc80b3d87179f3c4b3 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateValidator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/ScreeningPlateValidator.java
@@ -2,7 +2,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorizat
 
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.AbstractValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.AbstractValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/WellIdentifierPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/WellIdentifierPredicate.java
index c2a145b18273376c7f3683e0d0a3c204217212d3..c6a193a90b166586529b4a196e3080cb8c90feb3 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/WellIdentifierPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/internal/authorization/WellIdentifierPredicate.java
@@ -16,8 +16,8 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.api.internal.authorization;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DelegatedPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SamplePermIdPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DelegatedPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SamplePermIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PermId;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.WellIdentifier;
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/DatasetReferencePredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/DatasetReferencePredicate.java
index 7572b2e9e995e63d0d27e5cb57e92599dd2b90af..82d33d7993fa49d1c2a8923046619ba5ece99e0e 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/DatasetReferencePredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/DatasetReferencePredicate.java
@@ -16,8 +16,8 @@
 
 package ch.systemsx.cisd.openbis.plugin.screening.shared.authorization;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodePredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DelegatedPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DataSetCodePredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DelegatedPredicate;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.DatasetReference;
 
 /**
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/ExperimentSearchCriteriaPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/ExperimentSearchCriteriaPredicate.java
index 707f2cf8e4778ad96a9be13aad18aa35042740ee..32b2b7d8182ae4ab33e42947fc096cebf2309ea8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/ExperimentSearchCriteriaPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/ExperimentSearchCriteriaPredicate.java
@@ -22,11 +22,11 @@ import org.springframework.dao.DataAccessException;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.SpaceIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.SpaceIdentifierPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicProjectIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/MaterialFeaturesOneExpPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/MaterialFeaturesOneExpPredicate.java
index d92795247628d6a647c28aa6f7c875dbf3d02bc7..19d4258b3d96f7217fc8d39645aa92f83eeb4cf8 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/MaterialFeaturesOneExpPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/MaterialFeaturesOneExpPredicate.java
@@ -22,10 +22,10 @@ import org.springframework.dao.DataAccessException;
 
 import ch.systemsx.cisd.common.exceptions.Status;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.IAuthorizationDataProvider;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.RoleWithIdentifier;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.IAuthorizationDataProvider;
+import ch.systemsx.cisd.openbis.generic.server.authorization.RoleWithIdentifier;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.IPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.MaterialFeaturesOneExpCriteria;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/SpaceValidator.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/SpaceValidator.java
index 218d6ea8daec9a59c08d67d13883f64358bcd494..4e512fd38b3ea5605596dd8a29cbf7590598ef4a 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/SpaceValidator.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/SpaceValidator.java
@@ -18,7 +18,7 @@ package ch.systemsx.cisd.openbis.plugin.screening.shared.authorization;
 
 import java.util.Set;
 
-import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.AbstractValidator;
+import ch.systemsx.cisd.openbis.generic.server.authorization.validator.AbstractValidator;
 import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.RoleAssignmentPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE;
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/WellSearchCriteriaPredicate.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/WellSearchCriteriaPredicate.java
index aac3f4869941cf7d084a6e21e534fc6edcb21c3a..339099e2b0e426b68396e107e98967b3d23fc530 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/WellSearchCriteriaPredicate.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/authorization/WellSearchCriteriaPredicate.java
@@ -17,7 +17,7 @@
 package ch.systemsx.cisd.openbis.plugin.screening.shared.authorization;
 
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
-import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DelegatedPredicate;
+import ch.systemsx.cisd.openbis.generic.server.authorization.predicate.DelegatedPredicate;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria;
 import ch.systemsx.cisd.openbis.plugin.screening.shared.basic.dto.WellSearchCriteria.ExperimentSearchCriteria;