From 982ccd60086a57f0a9217ad411046e6080ade3d2 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 22 Aug 2017 16:11:19 +0200 Subject: [PATCH] privileges for objects --- .../lcsb/mapviewer/api/users/UserRestImpl.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java index ee5dfd2b19..41b26a7ef9 100644 --- a/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java +++ b/rest-api/src/main/java/lcsb/mapviewer/api/users/UserRestImpl.java @@ -26,7 +26,7 @@ import lcsb.mapviewer.services.view.AuthenticationToken; @Transactional(value = "txManager") public class UserRestImpl extends BaseRestImpl { - Logger logger = Logger.getLogger(UserRestImpl.class); + Logger logger = Logger.getLogger(UserRestImpl.class); @Autowired private ILayoutService layoutService; @@ -184,25 +184,21 @@ public class UserRestImpl extends BaseRestImpl { Object value = privilegesData.get(key); PrivilegeType type = PrivilegeType.valueOf(key); - Integer objectId = null; - Object privilegeToSet = null; + if (type.getPrivilegeClassType().equals(BasicPrivilege.class)) { - privilegeToSet = value; + getUserService().setUserPrivilege(modifiedUser, type, value, authenticationToken); } else if (type.getPrivilegeClassType().equals(ObjectPrivilege.class)) { if (value instanceof Map) { - privilegeToSet = ((Map<?, ?>) value).get(value); - objectId = (Integer) ((Map<?, ?>) value).get(objectId); + Map<?, ?> objects = (Map<?, ?>) value; + for (Object objectId : objects.keySet()) { + getUserService().setUserPrivilege(modifiedUser, type, objects.get(objectId), Integer.valueOf((String) objectId), authenticationToken); + } } else { throw new QueryException("Invalid value for privilege: " + key); } } else { throw new QueryException("Unknown privilege type: " + key); } - if (objectId == null) { - getUserService().setUserPrivilege(modifiedUser, type, privilegeToSet, authenticationToken); - } else { - getUserService().setUserPrivilege(modifiedUser, type, privilegeToSet, objectId, authenticationToken); - } } return getUser(token, login, ""); -- GitLab