use of org.pentaho.platform.web.http.api.resources.SystemRolesMap in project pentaho-platform by pentaho.
the class UserRoleDaoService method getRoleBindingStruct.
public SystemRolesMap getRoleBindingStruct(String locale) throws SecurityException {
if (canAdminister()) {
RoleBindingStruct roleBindingStruct = getRoleBindingDao().getRoleBindingStruct(locale);
SystemRolesMap systemRolesMap = new SystemRolesMap();
for (Map.Entry<String, String> localalizeNameEntry : roleBindingStruct.logicalRoleNameMap.entrySet()) {
systemRolesMap.getLocalizedRoleNames().add(new LocalizedLogicalRoleName(localalizeNameEntry.getKey(), localalizeNameEntry.getValue()));
}
for (Map.Entry<String, List<String>> logicalRoleAssignments : roleBindingStruct.bindingMap.entrySet()) {
systemRolesMap.getAssignments().add(new LogicalRoleAssignment(logicalRoleAssignments.getKey(), logicalRoleAssignments.getValue(), roleBindingStruct.immutableRoles.contains(logicalRoleAssignments.getKey())));
}
return systemRolesMap;
} else {
throw new SecurityException();
}
}
use of org.pentaho.platform.web.http.api.resources.SystemRolesMap in project pentaho-platform by pentaho.
the class UserRoleDaoServiceTest method testGetRoleBindingStruct.
@Test
public void testGetRoleBindingStruct() {
setupMockSessionUser(SESSION_USER_NAME, true);
Map<String, String> localizedNameEntry = new HashMap<>();
localizedNameEntry.put("testEntry", "testValue");
Map<String, List<String>> testBindingMap = new HashMap<>();
testBindingMap.put("testBinding", new ArrayList<>());
RoleBindingStruct roleBindingStruct = mock(RoleBindingStruct.class);
roleBindingStruct.logicalRoleNameMap = localizedNameEntry;
roleBindingStruct.bindingMap = testBindingMap;
roleBindingStruct.immutableRoles = new HashSet<>();
IRoleAuthorizationPolicyRoleBindingDao roleBindingDao = mock(IRoleAuthorizationPolicyRoleBindingDao.class);
when(roleBindingDao.getRoleBindingStruct(nullable(String.class))).thenReturn(roleBindingStruct);
PentahoSystem.registerObject(roleBindingDao);
SystemRolesMap validateMap = userRoleService.getRoleBindingStruct("en");
assert (1 == validateMap.getLocalizedRoleNames().size());
assertEquals("testEntry", validateMap.getLocalizedRoleNames().get(0).getRoleName());
assertEquals("testValue", validateMap.getLocalizedRoleNames().get(0).getLocalizedName());
}
Aggregations