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 955f6a7f1 RANGER-4446: added API to return dataset summary 955f6a7f1 is described below commit 955f6a7f181128205316571d1c7797bced09861d Author: Subhrat Chaudhary <such...@yahoo.com> AuthorDate: Fri Oct 6 00:18:39 2023 -0700 RANGER-4446: added API to return dataset summary Signed-off-by: Madhan Neethiraj <mad...@apache.org> --- .../org/apache/ranger/plugin/model/RangerGds.java | 195 +++++++++++++++++++++ .../java/org/apache/ranger/biz/GdsDBStore.java | 178 +++++++++++++------ .../main/java/org/apache/ranger/rest/GdsREST.java | 22 +-- .../ranger/security/context/RangerAPIList.java | 2 +- .../service/RangerGdsSharedResourceService.java | 10 +- 5 files changed, 340 insertions(+), 67 deletions(-) diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java index fd27f54a9..8b27b9769 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java @@ -22,6 +22,7 @@ package org.apache.ranger.plugin.model; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemDataMaskInfo; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemRowFilterInfo; import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource; +import org.apache.ranger.plugin.model.RangerPrincipal.PrincipalType; import org.codehaus.jackson.annotate.JsonAutoDetect; import org.codehaus.jackson.annotate.JsonIgnoreProperties; @@ -479,4 +480,198 @@ public class RangerGds { return sb; } } + + @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) + @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY) + @JsonIgnoreProperties(ignoreUnknown = true) + public static class DatasetSummary extends RangerBaseModelObject implements java.io.Serializable { + private static final long serialVersionUID = 1L; + + private String name; + private GdsPermission permissionForCaller; + private Map<PrincipalType, Long> principalsCount; + private Long projectsCount; + private Long totalResourceCount; + private List<DataShareInDatasetSummary> dataShares; + + public DatasetSummary() { + super(); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public GdsPermission getPermissionForCaller() { + return permissionForCaller; + } + + public void setPermissionForCaller(GdsPermission permissionForCaller) { + this.permissionForCaller = permissionForCaller; + } + + public Map<PrincipalType, Long> getPrincipalsCount() { + return principalsCount; + } + + public void setPrincipalsCount(Map<PrincipalType, Long> principalsCount) { + this.principalsCount = principalsCount; + } + + public Long getProjectsCount() { + return projectsCount; + } + + public void setProjectsCount(Long projectsCount) { + this.projectsCount = projectsCount; + } + + public Long getTotalResourceCount() { + return totalResourceCount; + } + + public void setTotalResourceCount(Long totalResourceCount) { + this.totalResourceCount = totalResourceCount; + } + + public List<DataShareInDatasetSummary> getDataShares() { + return dataShares; + } + + public void setDataShares(List<DataShareInDatasetSummary> dataShares) { + this.dataShares = dataShares; + } + + @Override + public String toString() { + return toString(new StringBuilder()).toString(); + } + + public StringBuilder toString(StringBuilder sb) { + sb.append("DatasetSummary={"); + + super.toString(sb); + + sb.append("name={").append(name).append("} ") + .append("permissionForCaller={").append(permissionForCaller).append("} ") + .append("principalsCount={").append(principalsCount).append("} ") + .append("projectsCount={").append(projectsCount).append("} ") + .append("totalResourceCount={").append(totalResourceCount).append("} ") + .append("dataShares={").append(dataShares).append("} ") + .append("}"); + + return sb; + } + } + + @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) + @JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY) + @JsonIgnoreProperties(ignoreUnknown = true) + public static class DataShareInDatasetSummary extends RangerBaseModelObject implements java.io.Serializable { + private static final long serialVersionUID = 1L; + + private String name; + private Long serviceId; + private String serviceName; + private Long zoneId; + private String zoneName; + private Long resourceCount; + private GdsShareStatus shareStatus; + private String approver; + + public DataShareInDatasetSummary() { + super(); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long getServiceId() { + return serviceId; + } + + public void setServiceId(Long serviceId) { + this.serviceId = serviceId; + } + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public Long getZoneId() { + return zoneId; + } + + public void setZoneId(Long zoneId) { + this.zoneId = zoneId; + } + + public String getZoneName() { + return zoneName; + } + + public void setZoneName(String zoneName) { + this.zoneName = zoneName; + } + + public Long getResourceCount() { + return resourceCount; + } + + public void setResourceCount(Long resourceCount) { + this.resourceCount = resourceCount; + } + + public GdsShareStatus getShareStatus() { + return shareStatus; + } + + public void setShareStatus(GdsShareStatus shareStatus) { + this.shareStatus = shareStatus; + } + + public String getApprover() { + return approver; + } + + public void setApprover(String approver) { + this.approver = approver; + } + + @Override + public String toString() { + return toString(new StringBuilder()).toString(); + } + + public StringBuilder toString(StringBuilder sb) { + sb.append("DatasetSummary={"); + + super.toString(sb); + + sb.append("name={").append(name).append("} ") + .append("serviceId={").append(serviceId).append("} ") + .append("serviceName={").append(serviceName).append("} ") + .append("zoneId={").append(zoneId).append("} ") + .append("zoneName={").append(zoneName).append("} ") + .append("resourceCount={").append(resourceCount).append("} ") + .append("shareStatus={").append(shareStatus).append("} ") + .append("approver={").append(approver).append("} ") + .append("}"); + + return sb; + } + } } 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 42a2fa16c..8a2b7f6c5 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 @@ -19,12 +19,12 @@ package org.apache.ranger.biz; +import org.apache.http.HttpStatus; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.http.HttpStatus; import org.apache.ranger.common.GUIDUtil; -import org.apache.ranger.common.MessageEnums; import org.apache.ranger.common.RESTErrorUtil; +import org.apache.ranger.common.MessageEnums; import org.apache.ranger.common.db.RangerTransactionSynchronizationAdapter; import org.apache.ranger.db.RangerDaoManager; import org.apache.ranger.db.XXGdsDataShareInDatasetDao; @@ -36,9 +36,12 @@ import org.apache.ranger.entity.XXGdsDataset; import org.apache.ranger.entity.XXGdsDatasetInProject; import org.apache.ranger.entity.XXGdsDatasetPolicyMap; import org.apache.ranger.entity.XXPolicy; +import org.apache.ranger.entity.XXService; +import org.apache.ranger.entity.XXSecurityZone; import org.apache.ranger.entity.XXGdsProject; import org.apache.ranger.entity.XXGdsProjectPolicyMap; -import org.apache.ranger.plugin.model.RangerDatasetHeader.RangerDatasetHeaderInfo; +import org.apache.ranger.plugin.model.RangerGds.DatasetSummary; +import org.apache.ranger.plugin.model.RangerGds.DataShareInDatasetSummary; import org.apache.ranger.plugin.model.RangerPolicy; import org.apache.ranger.plugin.model.RangerGds.GdsPermission; import org.apache.ranger.plugin.model.RangerGds.GdsShareStatus; @@ -151,16 +154,16 @@ public class GdsDBStore extends AbstractGdsStore { } } - public PList<RangerDatasetHeaderInfo> getDatasetHeaders(SearchFilter filter) throws Exception { - LOG.debug("==> getDatasetHeaders({})", filter); + public PList<DatasetSummary> getDatasetSummary(SearchFilter filter) throws Exception { + LOG.debug("==> getDatasetSummary({})", filter); - PList<RangerDataset> datasets = getUnscrubbedDatasets(filter); - List<RangerDatasetHeaderInfo> datasetHeaders = toDatasetHeaders(datasets.getList(), getGdsPermissionFromFilter(filter)); - PList<RangerDatasetHeaderInfo> ret = new PList<>(datasetHeaders, datasets.getStartIndex(), datasets.getPageSize(), datasets.getTotalCount(), datasets.getResultSize(), datasets.getSortType(), datasets.getSortBy()); + PList<RangerDataset> datasets = getUnscrubbedDatasets(filter); + List<DatasetSummary> datasetSummary = toDatasetSummary(datasets.getList(), getGdsPermissionFromFilter(filter)); + PList<DatasetSummary> ret = new PList<>(datasetSummary, datasets.getStartIndex(), datasets.getPageSize(), datasets.getTotalCount(), datasets.getResultSize(), datasets.getSortType(), datasets.getSortBy()); ret.setQueryTimeMS(datasets.getQueryTimeMS()); - LOG.debug("<== getDatasetHeaders({}): ret={}", filter, ret); + LOG.debug("<== getDatasetSummary({}): ret={}", filter, ret); return ret; } @@ -1178,39 +1181,44 @@ public class GdsDBStore extends AbstractGdsStore { } } - private List<RangerDatasetHeaderInfo> toDatasetHeaders(List<RangerDataset> datasets, GdsPermission gdsPermission) { - List<RangerDatasetHeaderInfo> ret = new ArrayList<>(); + private List<DatasetSummary> toDatasetSummary(List<RangerDataset> datasets, GdsPermission gdsPermission) { + List<DatasetSummary> ret = new ArrayList<>(); + String currentUser = bizUtil.getCurrentUserLoginId(); for (RangerDataset dataset : datasets) { - RangerDatasetHeaderInfo datasetHeader = new RangerDatasetHeaderInfo(); - - if (gdsPermission.equals(GdsPermission.LIST)) { - final GdsPermission permissionForUser = validator.getGdsPermissionForUser(dataset.getAcl(), bizUtil.getCurrentUserLoginId()); + GdsPermission permissionForCaller = validator.getGdsPermissionForUser(dataset.getAcl(), currentUser); - if (permissionForUser.equals(GdsPermission.NONE)) { - continue; - } else { - datasetHeader.setPermissionForCaller(permissionForUser.toString()); - } - } else { - datasetHeader.setDataSharesCountByStatus(getDataSharesInDatasetCountByStatus(dataset.getId())); - datasetHeader.setProjectsCount(getDIPCountForDataset(dataset.getId())); - datasetHeader.setPrincipalsCountByType(getPrincipalCountForDataset(dataset.getName())); - - datasetHeader.setResourceCount(getResourceCountInDataset(dataset.getId())); + if (permissionForCaller.equals(GdsPermission.NONE)) { + continue; } - datasetHeader.setId(dataset.getId()); - datasetHeader.setName(dataset.getName()); - datasetHeader.setCreateTime(dataset.getCreateTime()); - datasetHeader.setUpdateTime(dataset.getUpdateTime()); - datasetHeader.setCreatedBy(dataset.getCreatedBy()); - datasetHeader.setUpdatedBy(dataset.getUpdatedBy()); - datasetHeader.setIsEnabled(dataset.getIsEnabled()); - datasetHeader.setGuid(dataset.getGuid()); - datasetHeader.setVersion(dataset.getVersion()); + DatasetSummary datasetSummary = new DatasetSummary(); + + datasetSummary.setId(dataset.getId()); + datasetSummary.setName(dataset.getName()); + datasetSummary.setCreateTime(dataset.getCreateTime()); + datasetSummary.setUpdateTime(dataset.getUpdateTime()); + datasetSummary.setCreatedBy(dataset.getCreatedBy()); + datasetSummary.setUpdatedBy(dataset.getUpdatedBy()); + datasetSummary.setIsEnabled(dataset.getIsEnabled()); + datasetSummary.setGuid(dataset.getGuid()); + datasetSummary.setVersion(dataset.getVersion()); + datasetSummary.setPermissionForCaller(permissionForCaller); + + if (!gdsPermission.equals(GdsPermission.LIST)) { + datasetSummary.setProjectsCount(getDIPCountForDataset(dataset.getId())); + datasetSummary.setPrincipalsCount(getPrincipalCountForDataset(dataset.getName())); + + List<DataShareInDatasetSummary> dshInDsSummaryList = getDshInDsSummaryList(dataset.getId()); + + datasetSummary.setDataShares(dshInDsSummaryList); + datasetSummary.setTotalResourceCount(dshInDsSummaryList.stream() + .map(DataShareInDatasetSummary::getResourceCount) + .mapToLong(Long::longValue) + .sum()); + } - ret.add(datasetHeader); + ret.add(datasetSummary); } return ret; @@ -1231,10 +1239,6 @@ public class GdsDBStore extends AbstractGdsStore { return datasetInProjectService.getDatasetsInProjectCount(datasetId); } - private Long getResourceCountInDataset(Long datasetId) { - return sharedResourceService.getResourceCountInDataset(datasetId); - } - private Map<PrincipalType, Long> getPrincipalCountForDataset(String datasetName) { Map<PrincipalType, Long> ret = new HashMap<>(); Set<String> users = new HashSet<>(); @@ -1319,9 +1323,8 @@ public class GdsDBStore extends AbstractGdsStore { } private void removeDshInDsForDataShare(Long dataShareId) { - SearchFilter filter = new SearchFilter(); - filter.setParam(SearchFilter.DATA_SHARE_ID, dataShareId.toString()); - final RangerDataShareInDatasetList dshInDsList = dataShareInDatasetService.searchDataShareInDatasets(filter); + SearchFilter filter = new SearchFilter(SearchFilter.DATA_SHARE_ID, dataShareId.toString()); + RangerDataShareInDatasetList dshInDsList = dataShareInDatasetService.searchDataShareInDatasets(filter); for(RangerDataShareInDataset dshInDs : dshInDsList.getList()) { final boolean dshInDsDeleted = dataShareInDatasetService.delete(dshInDs); @@ -1333,14 +1336,13 @@ public class GdsDBStore extends AbstractGdsStore { } private void removeSharedResourcesForDataShare(Long dataShareId) { - SearchFilter filter = new SearchFilter(); - filter.setParam(SearchFilter.DATA_SHARE_ID, dataShareId.toString()); - final RangerSharedResourceList sharedResources = sharedResourceService.searchSharedResources(filter); + SearchFilter filter = new SearchFilter(SearchFilter.DATA_SHARE_ID, dataShareId.toString()); + RangerSharedResourceList sharedResources = sharedResourceService.searchSharedResources(filter); - for(RangerSharedResource sharedResource : sharedResources.getList()) { + for (RangerSharedResource sharedResource : sharedResources.getList()) { final boolean sharedResourceDeleted = sharedResourceService.delete(sharedResource); - if(!sharedResourceDeleted) { + if (!sharedResourceDeleted) { throw restErrorUtil.createRESTException("SharedResource could not be deleted", MessageEnums.ERROR_DELETE_OBJECT, sharedResource.getId(), "SharedResourceId", null, HttpStatus.SC_INTERNAL_SERVER_ERROR); } } @@ -1415,8 +1417,8 @@ public class GdsDBStore extends AbstractGdsStore { } private void addCreatorAsAclAdmin(RangerGdsObjectACL acl) { - String currentUser = bizUtil.getCurrentUserLoginId(); - Map<String, GdsPermission> userAcl = acl.getUsers(); + String currentUser = bizUtil.getCurrentUserLoginId(); + Map<String, GdsPermission> userAcl = acl.getUsers(); if (userAcl == null) { userAcl = new HashMap<>(); @@ -1428,4 +1430,80 @@ public class GdsDBStore extends AbstractGdsStore { acl.getUsers().put(currentUser, GdsPermission.ADMIN); } } + + private List<DataShareInDatasetSummary> getDshInDsSummaryList(Long datasetId) { + List<DataShareInDatasetSummary> ret = new ArrayList<>(); + SearchFilter filter = new SearchFilter(SearchFilter.DATASET_ID, datasetId.toString()); + RangerDataShareList dataShares = dataShareService.searchDataShares(filter); + + if (CollectionUtils.isNotEmpty(dataShares.getList())) { + RangerDataShareInDatasetList dshInDsList = dataShareInDatasetService.searchDataShareInDatasets(filter); + + if (CollectionUtils.isNotEmpty(dshInDsList.getList())) { + for (RangerDataShare dataShare : dataShares.getList()) { + DataShareInDatasetSummary summary = toDshInDsSummary(dataShare, dshInDsList.getList()); + + ret.add(summary); + } + } + } + + return ret; + } + + private DataShareInDatasetSummary toDshInDsSummary(RangerDataShare dataShare, List<RangerDataShareInDataset> dshInDsList) { + Optional<RangerDataShareInDataset> dshInDs = dshInDsList.stream().filter(d -> d.getDataShareId().equals(dataShare.getId())).findFirst(); + + if (!dshInDs.isPresent()) { + throw restErrorUtil.createRESTException("RequestStatus for DataShareInDataset not found", MessageEnums.DATA_NOT_FOUND, dataShare.getId(), "SharedResourceId", null, HttpStatus.SC_NOT_FOUND); + } + + DataShareInDatasetSummary summary = new DataShareInDatasetSummary(); + + summary.setId(dataShare.getId()); + summary.setCreatedBy(dataShare.getCreatedBy()); + summary.setCreateTime(dataShare.getCreateTime()); + summary.setUpdatedBy(dataShare.getUpdatedBy()); + summary.setUpdateTime(dataShare.getUpdateTime()); + summary.setGuid(dataShare.getGuid()); + summary.setIsEnabled(dataShare.getIsEnabled()); + summary.setVersion(dataShare.getVersion()); + + summary.setName(dataShare.getName()); + summary.setServiceId(getServiceId(dataShare.getService())); + summary.setServiceName(dataShare.getService()); + summary.setZoneId(getZoneId(dataShare.getZone())); + summary.setZoneName(dataShare.getZone()); + summary.setShareStatus(dshInDs.get().getStatus()); + summary.setApprover(dshInDs.get().getApprover()); + summary.setResourceCount(sharedResourceService.getResourceCountForDataShare(dataShare.getId())); + + return summary; + } + + private Long getServiceId(String serviceName) { + XXService xService = daoMgr.getXXService().findByName(serviceName); + + if (xService == null) { + throw restErrorUtil.createRESTException("Service not found", MessageEnums.DATA_NOT_FOUND, null, "ServiceName", null, HttpStatus.SC_NOT_FOUND); + } + + return xService.getId(); + } + + private Long getZoneId(String zoneName) { + Long ret = null; + + if (StringUtils.isNotBlank(zoneName)) { + XXSecurityZone xxSecurityZone = daoMgr.getXXSecurityZoneDao().findByZoneName(zoneName); + + if (xxSecurityZone == null) { + throw restErrorUtil.createRESTException("Security Zone not found", MessageEnums.DATA_NOT_FOUND, null, "ZoneName", null, HttpStatus.SC_NOT_FOUND); + } + + ret = xxSecurityZone.getId(); + } + + return ret; + } } diff --git a/security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java b/security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java index b7ef9b86a..7617fb411 100755 --- a/security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java @@ -23,7 +23,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.ranger.biz.GdsDBStore; import org.apache.ranger.common.RESTErrorUtil; import org.apache.ranger.common.RangerSearchUtil; -import org.apache.ranger.plugin.model.RangerDatasetHeader.RangerDatasetHeaderInfo; import org.apache.ranger.plugin.model.RangerGds.RangerDataset; import org.apache.ranger.plugin.model.RangerGds.RangerDatasetInProject; import org.apache.ranger.plugin.model.RangerGds.RangerDataShareInDataset; @@ -31,6 +30,7 @@ import org.apache.ranger.plugin.model.RangerGds.RangerDataShare; import org.apache.ranger.plugin.model.RangerGds.RangerProject; import org.apache.ranger.plugin.model.RangerGds.RangerSharedResource; import org.apache.ranger.plugin.model.RangerPolicy; +import org.apache.ranger.plugin.model.RangerGds.DatasetSummary; import org.apache.ranger.plugin.store.PList; import org.apache.ranger.plugin.util.RangerPerfTracer; import org.apache.ranger.plugin.util.SearchFilter; @@ -289,27 +289,27 @@ public class GdsREST { } @GET - @Path("/dataset/info") + @Path("/dataset/summary") @Produces({ "application/json" }) - @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_DATASETS_HEADER + "\")") - public PList<RangerDatasetHeaderInfo> getDatasetHeaderInfo(@Context HttpServletRequest request) { - LOG.debug("==> GdsREST.getDatasetHeaderInfo()"); + @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" + RangerAPIList.GET_DATASET_SUMMARY + "\")") + public PList<DatasetSummary> getDatasetSummary(@Context HttpServletRequest request) { + LOG.debug("==> GdsREST.getDatasetSummary()"); - PList<RangerDatasetHeaderInfo> ret; + PList<DatasetSummary> ret; try { SearchFilter filter = searchUtil.getSearchFilter(request, datasetService.sortFields); - ret = gdsStore.getDatasetHeaders(filter); - } catch (WebApplicationException excp) { - throw excp; + ret = gdsStore.getDatasetSummary(filter); + } catch (WebApplicationException we) { + throw we; } catch (Throwable ex) { - LOG.error("getDatasets() failed", ex); + LOG.error("getDatasetSummary() failed", ex); throw restErrorUtil.createRESTException(ex.getMessage()); } - LOG.debug("<== GdsREST.getDatasetHeaderInfo(): {}", ret); + LOG.debug("<== GdsREST.getDatasetSummary(): {}", ret); return ret; } diff --git a/security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java b/security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java index dede14dfd..1c42e93c0 100755 --- a/security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java +++ b/security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java @@ -216,7 +216,7 @@ public class RangerAPIList { /** * List of APIs for DataShareREST */ - public static final String GET_DATASETS_HEADER = "GdsREST.getDatasetHeaderInfo"; + public static final String GET_DATASET_SUMMARY = "GdsREST.getDatasetSummary"; public static final String CREATE_DATASET = "GdsREST.createDataset"; public static final String UPDATE_DATASET = "GdsREST.updateDataset"; public static final String DELETE_DATASET = "GdsREST.deleteDataset"; diff --git a/security-admin/src/main/java/org/apache/ranger/service/RangerGdsSharedResourceService.java b/security-admin/src/main/java/org/apache/ranger/service/RangerGdsSharedResourceService.java index 7f6dee9ec..35ea2da8c 100755 --- a/security-admin/src/main/java/org/apache/ranger/service/RangerGdsSharedResourceService.java +++ b/security-admin/src/main/java/org/apache/ranger/service/RangerGdsSharedResourceService.java @@ -159,7 +159,7 @@ public class RangerGdsSharedResourceService extends RangerGdsBaseModelService<XX msgList.add(MessageEnums.NO_INPUT_DATA.getMessage(null, "dataShareId")); } - if (!Objects.equals(vObj.getDataShareId(), xDataShare.getId())) { + if ((xDataShare != null) && !Objects.equals(vObj.getDataShareId(), xDataShare.getId())) { msgList = getOrCreateMessageList(msgList); msgList.add(MessageEnums.NO_INPUT_DATA.getMessage(null, "dataShareId")); @@ -251,16 +251,16 @@ public class RangerGdsSharedResourceService extends RangerGdsBaseModelService<XX return ret; } - public Long getResourceCountInDataset(long datasetId) { - LOG.debug("==> getResourceCountInDataset({})", datasetId); + public Long getResourceCountForDataShare(long dataShareId) { + LOG.debug("==> getResourceCountForDataShare({})", dataShareId); SearchFilter filter = new SearchFilter(); - filter.setParam(SearchFilter.DATASET_ID, String.valueOf(datasetId)); + filter.setParam(SearchFilter.DATA_SHARE_ID, String.valueOf(dataShareId)); Long ret = super.getCountForSearchQuery(filter, searchFields); - LOG.debug("<== getResourceCountInDataset({}): ret={}", datasetId, ret); + LOG.debug("<== getResourceCountForDataShare({}): ret={}", dataShareId, ret); return ret; }