You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by me...@apache.org on 2020/04/14 11:59:03 UTC

[ranger] 02/03: RANGER-2775 : Pagination not working for role in Ranger admin UI page

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 <ma...@gmail.com>
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 <me...@apache.org>
---
 .../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) {