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"));