This is an automated email from the ASF dual-hosted git repository. mehul pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 99c15149dc250d56e5145996bc944f0b32e6ac56 Author: maheshbandal <[email protected]> AuthorDate: Tue Apr 7 19:22:32 2020 +0530 RANGER-2775 : Pagination not working for role in Ranger admin UI page Signed-off-by: Mehul Parikh <[email protected]> --- .../src/main/java/org/apache/ranger/biz/RoleDBStore.java | 15 +++++++++++++++ .../src/main/java/org/apache/ranger/rest/RoleREST.java | 10 +--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java index 9d2f0ba..6ef5fe5 100644 --- a/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java +++ b/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java @@ -43,6 +43,7 @@ import org.apache.ranger.plugin.store.RoleStore; import org.apache.ranger.plugin.util.RangerRoles; import org.apache.ranger.plugin.util.SearchFilter; import org.apache.ranger.service.RangerRoleService; +import org.apache.ranger.view.RangerRoleList; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -268,6 +269,20 @@ public class RoleDBStore implements RoleStore { return ret; } + public RangerRoleList getRoles(SearchFilter filter, RangerRoleList rangerRoleList) throws Exception { + List<RangerRole> roles = new ArrayList<RangerRole>(); + List<XXRole> xxRoles = (List<XXRole>)roleService.searchResources(filter, roleService.searchFields, roleService.sortFields, rangerRoleList); + + if (CollectionUtils.isNotEmpty(xxRoles)) { + for (XXRole xxRole : xxRoles) { + roles.add(roleService.read(xxRole.getId())); + } + } + + rangerRoleList.setRoleList(roles); + return rangerRoleList; + } + @Override public List<String> getRoleNames(SearchFilter filter) throws Exception { return daoMgr.getXXRole().getAllNames(); diff --git a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java index aa031ae..be3bf2f 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java @@ -330,17 +330,9 @@ public class RoleREST { LOG.debug("==> getAllRoles()"); } SearchFilter filter = searchUtil.getSearchFilter(request, roleService.sortFields); - List<RangerRole> roles; try { ensureAdminAccess(null, null); - roles = roleStore.getRoles(filter); - ret.setRoleList(roles); - if (roles != null) { - ret.setTotalCount(roles.size()); - ret.setSortBy(filter.getSortBy()); - ret.setSortType(filter.getSortType()); - ret.setResultSize(roles.size()); - } + roleStore.getRoles(filter,ret); } catch(WebApplicationException excp) { throw excp; } catch(Throwable excp) {
