TSK-398: optimized role initialization.

This commit is contained in:
Holger Hagen 2018-03-23 09:36:13 +01:00 committed by Mustapha Zorgati
parent fd0bc96b9d
commit 68d8252fbf
2 changed files with 8 additions and 13 deletions

View File

@ -16,6 +16,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.stream.Collectors;
import javax.sql.DataSource;
@ -123,8 +124,9 @@ public class TaskanaEngineConfiguration {
}
private void initTaskanaRoles(Properties props, String rolesSeparator) {
List<String> validPropertyNames = Arrays.asList(TaskanaRole.USER.getPropertyName(),
TaskanaRole.BUSINESS_ADMIN.getPropertyName(), TaskanaRole.ADMIN.getPropertyName());
List<String> validPropertyNames = Arrays.stream(TaskanaRole.values())
.map(TaskanaRole::getPropertyName)
.collect(Collectors.toList());
for (Object obj : props.keySet()) {
String propertyName = ((String) obj);
if (validPropertyNames.contains(propertyName.toLowerCase().trim())) {
@ -186,16 +188,8 @@ public class TaskanaEngineConfiguration {
private void ensureRoleMapIsFullyInitialized() {
// make sure that roleMap does not return null for any role
if (!roleMap.containsKey(TaskanaRole.ADMIN)) {
roleMap.put(TaskanaRole.ADMIN, new HashSet<>());
}
if (!roleMap.containsKey(TaskanaRole.BUSINESS_ADMIN)) {
roleMap.put(TaskanaRole.BUSINESS_ADMIN, new HashSet<>());
}
if (!roleMap.containsKey(TaskanaRole.USER)) {
roleMap.put(TaskanaRole.USER, new HashSet<>());
}
Arrays.stream(TaskanaRole.values())
.forEach(role -> roleMap.putIfAbsent(role, new HashSet<>()));
}
public static DataSource createDefaultDataSource() {

View File

@ -15,6 +15,7 @@ import acceptance.AbstractAccTest;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.WorkbasketType;
import pro.taskana.exceptions.DomainNotFoundException;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.InvalidWorkbasketException;
import pro.taskana.exceptions.NotAuthorizedException;
@ -137,7 +138,7 @@ public class DeleteWorkbasketAccTest extends AbstractAccTest {
@Test
public void testCreateAndDeleteWorkbasket()
throws SQLException, NotAuthorizedException, InvalidArgumentException, WorkbasketNotFoundException,
InvalidWorkbasketException, WorkbasketAlreadyExistException {
InvalidWorkbasketException, WorkbasketAlreadyExistException, DomainNotFoundException {
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
int before = workbasketService.createWorkbasketQuery().domainIn("DOMAIN_A").list().size();