Merge pull request #1133 from Kamidu/master

Fixing https://github.com/wso2/product-iots/issues/1526
4.x.x
Madawa Soysa 7 years ago committed by GitHub
commit a5a5e72018
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -604,28 +604,20 @@ public class RoleManagementServiceImpl implements RoleManagementService {
private List<String> getRolesFromUserStore(String filter, String userStore) throws UserStoreException {
AbstractUserStoreManager userStoreManager = (AbstractUserStoreManager) DeviceMgtAPIUtils.getUserStoreManager();
String[] roles;
boolean filterRolesByName = (!((filter == null) || filter.isEmpty()));
if ((filter == null) || filter.isEmpty()) {
filter = "*";
}
if (log.isDebugEnabled()) {
log.debug("Getting the list of user roles");
}
if (userStore.equals("all")) {
roles = userStoreManager.getRoleNames("*", -1, false, true, true);
roles = userStoreManager.getRoleNames(filter, -1, true, true, true);
} else {
roles = userStoreManager.getRoleNames(userStore + "/*", -1, false, true, true);
roles = userStoreManager.getRoleNames(userStore + "/" + filter, -1, true, true, true);
}
// removing all internal roles, roles created for Service-providers and application related roles.
List<String> filteredRoles = new ArrayList<>();
for (String role : roles) {
if (!(role.startsWith("Internal/") || role.startsWith("Authentication/") || role.startsWith(
"Application/"))) {
if (!filterRolesByName) {
filteredRoles.add(role);
} else {
if (role.contains(filter)) {
filteredRoles.add(role);
}
}
}
filteredRoles.add(role);
}
return filteredRoles;
}

Loading…
Cancel
Save