|
32 | 32 | <%@ page import="java.util.HashMap" %> |
33 | 33 | <%@ page import="java.util.List" %> |
34 | 34 | <%@ page import="java.util.Map" %> |
35 | | -<%@ page import="java.util.Objects" %> |
36 | 35 | <%@ page extends="org.labkey.api.jsp.JspBase" %> |
37 | 36 |
|
38 | 37 | <%@ taglib prefix="labkey" uri="http://www.labkey.org/taglib" %> |
|
68 | 67 |
|
69 | 68 | Map<Integer, Category> categories = sndService.getAllCategories(getContainer(), getUser()); |
70 | 69 | Map<String, Role> roles = sndSecurityManager.getAllSecurityRoles(); |
71 | | -
|
72 | 70 | Map<Integer, Map<Integer, String>> roleMapping = new IntHashMap<>(); |
73 | | - Map<Integer, String> roleNameMap; |
74 | | - SecurityPolicy policy; |
75 | | - List<Role> policyRoles; |
76 | | - String currentRoleName; |
| 71 | +
|
77 | 72 | for (Category category : categories.values()) |
78 | 73 | { |
79 | | - roleNameMap = new HashMap<>(); |
80 | | - for (Group gr : validGroups) |
81 | | - { |
82 | | - policy = SecurityPolicyManager.getPolicy(category); |
83 | | - policyRoles = policy.getAssignedRoles(gr); |
84 | | - if (!policyRoles.isEmpty()) |
85 | | - { |
86 | | - currentRoleName = null; |
87 | | - for (Role policyRole : policyRoles) |
88 | | - { |
89 | | - if (roles.containsKey(policyRole.getName())) |
90 | | - { |
91 | | - currentRoleName = policyRole.getName(); |
92 | | - break; |
93 | | - } |
94 | | - } |
95 | | -
|
96 | | - roleNameMap.put(gr.getUserId(), Objects.requireNonNullElse(currentRoleName, "None")); |
97 | | - } |
98 | | - else |
99 | | - { |
100 | | - roleNameMap.put(gr.getUserId(), "None"); |
101 | | - } |
102 | | - } |
| 74 | + SecurityPolicy policy = SecurityPolicyManager.getPolicy(category); |
| 75 | + Map<Integer, String> roleNameMap = new HashMap<>(); |
| 76 | + validGroups.forEach(gr -> { |
| 77 | + String currentRoleName = policy.getAssignedRoles(gr) |
| 78 | + .filter(policyRole -> roles.containsKey(policyRole.getName())) |
| 79 | + .findFirst() |
| 80 | + .map(Role::getName) |
| 81 | + .orElse("None"); |
| 82 | +
|
| 83 | + roleNameMap.put(gr.getUserId(), currentRoleName); |
| 84 | + }); |
103 | 85 | roleMapping.put(category.getCategoryId(), roleNameMap); |
104 | 86 | } |
105 | 87 | %> |
|
0 commit comments