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 d87b2fa38785205f4c11b2948420b53347933731..46db0ee362fe017b0994756bb9ec5eae81e102c9 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 @@ -77,6 +77,17 @@ public final class PredicateExecutor { PredicateExecutor.authorizationDataProvider = new AuthorizationDataProvider(daoFactory); } + + + static final IAuthorizationDataProvider getAuthorizationDataProvider() + { + return authorizationDataProvider; + } + + static final void setAuthorizationDataProvider(IAuthorizationDataProvider authorizationDataProvider) + { + PredicateExecutor.authorizationDataProvider = authorizationDataProvider; + } /** * Creates, casts and ensures that the returned {@link IPredicate} is not <code>null</code>. 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 4dbb6cd6dd5ef3b9bde7946ce37f6a784730f963..b76d5fba5a3a369d1eacef1e40407bd64fefb5f1 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 @@ -57,6 +57,8 @@ public final class PredicateExecutorTest extends AuthorizationTestCase private IPredicateFactory previousFactory; + private IAuthorizationDataProvider previousProvider; + private List<RoleWithIdentifier> createAllowedRoles() { return Collections.singletonList(createGroupRole(RoleCode.USER, @@ -86,6 +88,7 @@ public final class PredicateExecutorTest extends AuthorizationTestCase will(returnValue(Collections.EMPTY_LIST)); } }); + previousProvider = PredicateExecutor.getAuthorizationDataProvider(); PredicateExecutor.setDAOFactory(daoFactory); } @@ -93,6 +96,7 @@ public final class PredicateExecutorTest extends AuthorizationTestCase @AfterMethod public void tearDown() { + PredicateExecutor.setAuthorizationDataProvider(previousProvider); PredicateExecutor.setPredicateFactory(previousFactory); super.tearDown(); }