From a0958f728d7f018e9aa3a76e409cc3d724854fe3 Mon Sep 17 00:00:00 2001 From: Hugo Renard <hugo.renard@protonmail.com> Date: Fri, 22 Apr 2022 17:17:05 +0200 Subject: [PATCH] fix role mapping --- .../java/sh/libre/scim/core/UserAdapter.java | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/main/java/sh/libre/scim/core/UserAdapter.java b/src/main/java/sh/libre/scim/core/UserAdapter.java index 1aac599..00df936 100644 --- a/src/main/java/sh/libre/scim/core/UserAdapter.java +++ b/src/main/java/sh/libre/scim/core/UserAdapter.java @@ -100,26 +100,15 @@ public class UserAdapter extends Adapter<UserModel, UserResource> { user.getGroupsStream().flatMap(g -> g.getRoleMappingsStream()) .filter((r) -> r.getFirstAttribute("scim").equals("true")).map((r) -> r.getName()) .forEach(r -> rolesSet.add(r)); - // Bug when new user. - try { - var roleStream = user.getRoleMappingsStream(); - if (rolesSet == null) { - LOGGER.error("role stream is null"); + + user.getRoleMappingsStream().filter((r) -> { + var attr = r.getFirstAttribute("scim"); + if (attr == null) { + return false; } - roleStream.filter((r) -> { - var attr = r.getFirstAttribute("scim"); - if (attr == null) { - LOGGER.debug("attribute is null"); - return false; - } - return attr.equals("true"); - }).map((r) -> r.getName()).forEach(r -> rolesSet.add(r)); - - // user.getRoleMappingsStream().filter((r) -> r.getFirstAttribute("scim").equals("true")) - // .map((r) -> r.getName()).forEach(r -> rolesSet.add(r)); - } catch (Exception e) { - LOGGER.error(e); - } + return attr.equals("true"); + }).map((r) -> r.getName()).forEach(r -> rolesSet.add(r)); + var roles = new String[rolesSet.size()]; rolesSet.toArray(roles); setRoles(roles); -- GitLab