diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java index 978b4498859..896c6d7d26e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.api/src/main/java/org/wso2/carbon/device/mgt/jaxrs/service/impl/RoleManagementServiceImpl.java @@ -604,28 +604,20 @@ public class RoleManagementServiceImpl implements RoleManagementService { private List 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 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; }