This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch RANGER-3923
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/RANGER-3923 by this push:
     new fff59fdd4 RANGER-4603: added query param createdBy for dataset GET API
fff59fdd4 is described below

commit fff59fdd4ecc4f30c2302de0cf67933f9c083475
Author: prashant <[email protected]>
AuthorDate: Wed Dec 13 17:09:44 2023 +0530

    RANGER-4603: added query param createdBy for dataset GET API
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../src/main/java/org/apache/ranger/plugin/util/SearchFilter.java   | 1 +
 security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java  | 6 ++++++
 .../src/main/java/org/apache/ranger/common/RangerSearchUtil.java    | 3 ++-
 .../java/org/apache/ranger/service/RangerGdsDatasetService.java     | 1 +
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
index 719ec3005..fe06d1dbe 100755
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
@@ -123,6 +123,7 @@ public class SearchFilter {
        public static final String GDS_PERMISSION           = "gdsPermission";  
      // search, sort
        public static final String CREATE_TIME_START        = 
"createdTimeStart";     // search
        public static final String CREATE_TIME_END          = "createdTimeEnd"; 
      // search
+       public static final String CREATED_BY                   = "createdBy";  
          // search
        public static final String UPDATE_TIME_START        = 
"updatedTimeStart";     // search
        public static final String UPDATE_TIME_END          = "updatedTimeEnd"; 
      // search
        public static final String IS_DISTINCT              = "isDistinct";     
      // search, sort
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java
index ae7a383f8..bf348e4ed 100755
--- a/security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java
@@ -276,6 +276,12 @@ public class GdsDBStore extends AbstractGdsStore {
     public PList<RangerDataset> searchDatasets(SearchFilter filter) {
         LOG.debug("==> searchDatasets({})", filter);
 
+               if (filter.getParam(SearchFilter.CREATED_BY) != null) {
+                       String userName = 
filter.getParam(SearchFilter.CREATED_BY);
+                       Long userId = 
daoMgr.getXXPortalUser().findByLoginId(userName).getId();
+                       filter.setParam(SearchFilter.CREATED_BY, 
Long.toString(userId));
+               }
+
         PList<RangerDataset> ret           = getUnscrubbedDatasets(filter);
         GdsPermission        gdsPermission = 
getGdsPermissionFromFilter(filter);
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java 
b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
index 87a278674..c26993304 100755
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
@@ -42,7 +42,7 @@ import org.springframework.stereotype.Component;
 @Component
 public class RangerSearchUtil extends SearchUtil {
        final static Logger logger = 
LoggerFactory.getLogger(RangerSearchUtil.class);
-       
+
        public SearchFilter getSearchFilter(@Nonnull HttpServletRequest 
request, List<SortField> sortFields) {
                Validate.notNull(request, "request");
                SearchFilter ret = new SearchFilter();
@@ -92,6 +92,7 @@ public class RangerSearchUtil extends SearchUtil {
                ret.setParam(SearchFilter.FETCH_TAG_POLICIES, 
request.getParameter(SearchFilter.FETCH_TAG_POLICIES));
                ret.setParam(SearchFilter.SERVICE_NAME_PREFIX, 
request.getParameter(SearchFilter.SERVICE_NAME_PREFIX));
                ret.setParam(SearchFilter.ZONE_NAME_PREFIX, 
request.getParameter(SearchFilter.ZONE_NAME_PREFIX));
+               ret.setParam(SearchFilter.CREATED_BY, 
request.getParameter(SearchFilter.CREATED_BY));
 
                for (Map.Entry<String, String[]> e : 
request.getParameterMap().entrySet()) {
                        String name = e.getKey();
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetService.java
index e8d672015..a82672a37 100755
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetService.java
@@ -68,6 +68,7 @@ public class RangerGdsDatasetService extends 
RangerGdsBaseModelService<XXGdsData
         searchFields.add(new SearchField(SearchFilter.PROJECT_ID,              
"dip.projectId",     SearchField.DATA_TYPE.INTEGER, 
SearchField.SEARCH_TYPE.FULL,    "XXGdsDatasetInProject dip",                   
 "obj.id = dip.datasetId"));
         searchFields.add(new SearchField(SearchFilter.PROJECT_NAME,            
"proj.name",         SearchField.DATA_TYPE.STRING,  
SearchField.SEARCH_TYPE.FULL,    "XXGdsDatasetInProject dip, XXGdsProject 
proj", "obj.id = dip.datasetId and dip.projectId = proj.id"));
         searchFields.add(new SearchField(SearchFilter.PROJECT_NAME_PARTIAL,    
"proj.name",         SearchField.DATA_TYPE.STRING,  
SearchField.SEARCH_TYPE.PARTIAL, "XXGdsDatasetInProject dip, XXGdsProject 
proj", "obj.id = dip.datasetId and dip.projectId = proj.id"));
+        searchFields.add(new SearchField(SearchFilter.CREATED_BY,              
"obj.addedByUserId", SearchField.DATA_TYPE.INTEGER,  
SearchField.SEARCH_TYPE.FULL));
 
         sortFields.add(new SortField(SearchFilter.CREATE_TIME,  
"obj.createTime"));
         sortFields.add(new SortField(SearchFilter.UPDATE_TIME,  
"obj.updateTime"));

Reply via email to