This is an automated email from the ASF dual-hosted git repository.
kumaab pushed a commit to branch ranger-2.10
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/ranger-2.10 by this push:
new 52eefa13a RANGER-5801: Remove legacy v1 PublicAPIs and associated dead
code (#1233)
52eefa13a is described below
commit 52eefa13a80a9c121b887653141975243cdbbc86
Author: Abhishek Kumar <[email protected]>
AuthorDate: Sat Sep 19 13:28:25 2026 -0700
RANGER-5801: Remove legacy v1 PublicAPIs and associated dead code (#1233)
PublicAPIs (/service/public/api/repository, /service/public/api/policy) is
superseded by PublicAPIsv2. Also remove code that becomes unused with it:
XPolicyService, XRepositoryService, PublicAPIServiceBase, VXRepository,
VXRepositoryList, VXPolicyList, VXPermObjList, the public-object conversion
methods in ServiceUtil, unused XPolicyService injections, and related tests.
(cherry picked from commit d87bd9ee10d3cc802e1e705167a2d8383431d220)
---
.../main/java/org/apache/ranger/biz/AssetMgr.java | 3 -
.../java/org/apache/ranger/common/ServiceUtil.java | 428 ------------
...efUpdateForResourceSpecificAccesses_J10012.java | 4 -
.../PatchForHBaseServiceDefUpdate_J10035.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10006.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10007.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10009.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10010.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10017.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10027.java | 4 -
.../patch/PatchForHiveServiceDefUpdate_J10030.java | 4 -
.../PatchForKafkaServiceDefUpdate_J10015.java | 4 -
.../PatchForKafkaServiceDefUpdate_J10025.java | 4 -
.../PatchForKafkaServiceDefUpdate_J10033.java | 4 -
...PatchForOzoneServiceDefConfigUpdate_J10051.java | 4 -
.../PatchForOzoneServiceDefUpdate_J10041.java | 4 -
.../patch/PatchForTagServiceDefUpdate_J10008.java | 4 -
.../patch/PatchForTagServiceDefUpdate_J10028.java | 4 -
.../apache/ranger/patch/PatchMigration_J10002.java | 4 -
.../java/org/apache/ranger/rest/AssetREST.java | 4 -
.../java/org/apache/ranger/rest/PublicAPIs.java | 418 ------------
.../ranger/service/PublicAPIServiceBase.java | 45 --
.../org/apache/ranger/service/XPolicyService.java | 756 ---------------------
.../apache/ranger/service/XRepositoryService.java | 132 ----
.../java/org/apache/ranger/view/VXPermObjList.java | 81 ---
.../java/org/apache/ranger/view/VXPolicyList.java | 81 ---
.../java/org/apache/ranger/view/VXRepository.java | 215 ------
.../org/apache/ranger/view/VXRepositoryList.java | 81 ---
.../org/apache/ranger/common/TestServiceUtil.java | 257 -------
.../org/apache/ranger/rest/TestPublicAPIs.java | 490 -------------
30 files changed, 3059 deletions(-)
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
index de27878ab..d80e296c1 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
@@ -123,9 +123,6 @@ public class AssetMgr extends AssetMgrBase {
@Autowired
CloudWatchAccessAuditsService cloudWatchAccessAuditsService;
- @Autowired
- XPolicyService xPolicyService;
-
@Autowired
RangerTransactionSynchronizationAdapter
transactionSynchronizationAdapter;
diff --git
a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java
b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java
index 0633c945c..7eecf5e91 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java
@@ -57,8 +57,6 @@
import org.apache.ranger.view.VXPermMap;
import org.apache.ranger.view.VXPermObj;
import org.apache.ranger.view.VXPolicy;
-import org.apache.ranger.view.VXPolicyList;
-import org.apache.ranger.view.VXRepository;
import org.apache.ranger.view.VXResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,7 +71,6 @@ public class ServiceUtil {
static Map<String, Integer> mapServiceTypeToAssetType = new
HashMap<String, Integer>();
static Map<String, Integer> mapAccessTypeToPermType = new
HashMap<String, Integer>();
- static String version;
@Autowired
JSONUtil jsonUtil;
@@ -133,8 +130,6 @@ public class ServiceUtil {
mapAccessTypeToPermType.put("describe_configs", 36);
mapAccessTypeToPermType.put("alter_configs", 37);
mapAccessTypeToPermType.put("cluster_action", 38);
-
- version = "0";
}
public RangerService getServiceByName(@PathParam("name") String name) {
@@ -201,25 +196,6 @@ public VXAsset toVXAsset(RangerService service) {
return ret;
}
- public VXRepository toVXRepository(RangerService service){
- if(service == null || toAssetType(service.getType()) == null) {
- return null;
- }
-
- VXRepository ret = new VXRepository();
-
- rangerObjectToDataObject(service,ret);
-
- ret.setRepositoryType(service.getType());
- ret.setName(service.getName());
- ret.setDescription(service.getDescription());
- ret.setIsActive(service.getIsEnabled());
- ret.setConfig(jsonUtil.readMapToString(service.getConfigs()));
- ret.setVersion(Long.toString(service.getVersion()));
-
- return ret;
- }
-
public RangerPolicy toRangerPolicy(VXResource resource, RangerService
service) {
if(resource == null) {
return null;
@@ -392,34 +368,6 @@ public VXResource toVXResource(RangerPolicy policy,
RangerService service) {
return ret;
}
- public VXAsset publicObjecttoVXAsset(VXRepository vXRepository) {
- VXAsset ret = new VXAsset();
- publicDataObjectTovXDataObject(vXRepository,ret);
-
- Integer assetType =
toAssetType(vXRepository.getRepositoryType());
-
- ret.setAssetType(assetType == null ? -1 : assetType.intValue());
- ret.setName(vXRepository.getName());
- ret.setDescription(vXRepository.getDescription());
- ret.setActiveStatus(vXRepository.getIsActive() ?
RangerCommonEnums.STATUS_ENABLED : RangerCommonEnums.STATUS_DISABLED);
- ret.setConfig(vXRepository.getConfig());
- return ret;
- }
-
- public VXRepository vXAssetToPublicObject(VXAsset asset) {
- VXRepository ret = new VXRepository();
- vXDataObjectToPublicDataObject(ret,asset);
-
- ret.setRepositoryType(toServiceType(asset.getAssetType()));
- ret.setName(asset.getName());
- ret.setDescription(asset.getDescription());
- ret.setIsActive(asset.getActiveStatus() ==
RangerCommonEnums.STATUS_ENABLED ? true : false);
- ret.setConfig(asset.getConfig());
- ret.setVersion(version);
-
- return ret;
- }
-
private void toRangerResourceList(String resourceString, String
resourceType, Boolean isExcludes, Boolean isRecursive, RangerPolicy policy) {
if(StringUtils.isNotBlank(resourceString)) {
RangerPolicy.RangerPolicyResource resource =
policy.getResources().get(resourceType);
@@ -514,37 +462,6 @@ private VXDataObject
rangerObjectToDataObject(RangerBaseModelObject rangerObject
return ret;
}
- private String toVxPolicyIncExc(int policyIncExc) {
- String ret = "";
-
- switch(policyIncExc) {
- case 0:
- ret = "Inclusion";
- break;
- case 1:
- ret = "Exclusion";
- break;
- }
- return ret;
- }
-
- private void updateResourceName(VXPolicy policy) {
- if(policy == null || toAssetType(policy.getRepositoryType()) ==
null) {
- return;
- }
-
- String resourceName =
getResourceName(toAssetType(policy.getRepositoryType()),
-
policy.getResourceName(),
-
policy.getTables(),
-
policy.getColumnFamilies(),
-
policy.getColumns(),
-
policy.getDatabases(),
-
policy.getTopologies(),
-
policy.getServices());
-
- policy.setResourceName(resourceName);
- }
-
private void updateResourceName(VXResource resource) {
if(resource == null) {
return;
@@ -724,122 +641,7 @@ private Long getGroupId(String groupName) {
return groupId;
}
- public SearchCriteria getMappedSearchParams(HttpServletRequest request,
- SearchCriteria searchCriteria) {
-
- Object typeObj = searchCriteria.getParamValue("type");
- Object statusObj = searchCriteria.getParamValue("status");
-
- ArrayList<Integer> statusList = new ArrayList<Integer>();
- if (statusObj == null) {
- statusList.add(RangerCommonEnums.STATUS_DISABLED);
- statusList.add(RangerCommonEnums.STATUS_ENABLED);
- } else {
- Boolean status = restErrorUtil.parseBoolean(
- request.getParameter("status"),
"Invalid value for "
- + "status",
MessageEnums.INVALID_INPUT_DATA, null,
- "status");
- int statusEnum = (status == null || status == false) ?
AppConstants.STATUS_DISABLED
- : AppConstants.STATUS_ENABLED;
- statusList.add(statusEnum);
- }
- searchCriteria.addParam("status", statusList);
-
- if (typeObj != null) {
- String type = typeObj.toString();
- int typeEnum = AppConstants.getEnumFor_AssetType(type);
- searchCriteria.addParam("type", typeEnum);
- }
- return searchCriteria;
- }
- private VXDataObject vXDataObjectToPublicDataObject(VXDataObject
publicDataObject, VXDataObject vXdataObject) {
-
- VXDataObject ret = publicDataObject;
-
- ret.setId(vXdataObject.getId());
- ret.setCreateDate(vXdataObject.getCreateDate());
- ret.setUpdateDate(vXdataObject.getUpdateDate());
- ret.setOwner(vXdataObject.getOwner());
- ret.setUpdatedBy(vXdataObject.getUpdatedBy());
-
- return ret;
- }
-
- protected VXDataObject publicDataObjectTovXDataObject(VXDataObject
publicDataObject,VXDataObject vXDataObject) {
-
- VXDataObject ret = vXDataObject;
-
- ret.setId(publicDataObject.getId());
- ret.setCreateDate(publicDataObject.getCreateDate());
- ret.setUpdateDate(publicDataObject.getUpdateDate());
- ret.setOwner(publicDataObject.getOwner());
- ret.setUpdatedBy(publicDataObject.getUpdatedBy());
-
- return ret;
- }
-
-
- public VXPolicy toVXPolicy(RangerPolicy policy, RangerService service) {
- if(policy == null || service == null ||
toAssetType(service.getType()) == null) {
- return null;
- }
-
- VXPolicy ret = new VXPolicy();
-
- rangerObjectToDataObject(policy, ret);
-
- ret.setPolicyName(StringUtils.trim(policy.getName()));
- ret.setDescription(policy.getDescription());
- ret.setRepositoryName(policy.getService());
- ret.setIsEnabled(policy.getIsEnabled() ? true : false);
- ret.setRepositoryType(service.getType());
- ret.setIsAuditEnabled(policy.getIsAuditEnabled());
- if (policy.getVersion() != null ) {
- ret.setVersion(policy.getVersion().toString());
- } else {
- ret.setVersion(version);
- }
-
- for(Map.Entry<String, RangerPolicy.RangerPolicyResource> e :
policy.getResources().entrySet()) {
- RangerPolicy.RangerPolicyResource res =
e.getValue();
- String resType =
e.getKey();
- String resString =
getResourceString(res.getValues());
-
- if("path".equalsIgnoreCase(resType)) {
- ret.setResourceName(resString);
-
ret.setIsRecursive(Boolean.TRUE.equals(res.getIsRecursive()) ? true : false);
- } else if("table".equalsIgnoreCase(resType)) {
- ret.setTables(resString);
-
ret.setTableType(Boolean.TRUE.equals(res.getIsExcludes()) ?
toVxPolicyIncExc(RangerCommonEnums.POLICY_EXCLUSION):toVxPolicyIncExc(RangerCommonEnums.POLICY_INCLUSION));
- } else if("column-family".equalsIgnoreCase(resType)) {
- ret.setColumnFamilies(resString);
- } else if("column".equalsIgnoreCase(resType)) {
- ret.setColumns(resString);
-
ret.setColumnType(Boolean.TRUE.equals(res.getIsExcludes()) ?
toVxPolicyIncExc(RangerCommonEnums.POLICY_EXCLUSION):toVxPolicyIncExc(RangerCommonEnums.POLICY_INCLUSION));
- } else if("database".equalsIgnoreCase(resType)) {
- ret.setDatabases(resString);
- } else if("udf".equalsIgnoreCase(resType)) {
- ret.setUdfs(resString);
- } else if("topology".equalsIgnoreCase(resType)) {
- ret.setTopologies(resString);
- } else if("service".equalsIgnoreCase(resType)) {
- ret.setServices(resString);
- } else if(resType.equalsIgnoreCase("hiveservice")) {
- ret.setHiveServices(resString);
- }
- }
- updateResourceName(ret);
-
- List<VXPermMap> vXPermMapList = getVXPermMapList(policy);
-
- List<VXPermObj> vXPermObjList =
mapPermMapToPermObj(vXPermMapList);
-
- ret.setPermMapList(vXPermObjList);
-
- return ret;
- }
-
public List<VXPermMap> getVXPermMapList(RangerPolicy policy) {
@@ -933,197 +735,6 @@ public List<VXPermMap> getVXPermMapList(RangerPolicy
policy) {
}
- public List<VXPermObj> mapPermMapToPermObj(List<VXPermMap> permMapList)
{
-
- List<VXPermObj> permObjList = new ArrayList<VXPermObj>();
- HashMap<String, List<VXPermMap>> sortedPemMap = new
HashMap<String, List<VXPermMap>>();
-
- if (permMapList != null) {
- for (VXPermMap vXPermMap : permMapList) {
-
- String permGrp = vXPermMap.getPermGroup();
- List<VXPermMap> sortedList =
sortedPemMap.get(permGrp);
- if (sortedList == null) {
- sortedList = new ArrayList<VXPermMap>();
- sortedPemMap.put(permGrp, sortedList);
- }
- sortedList.add(vXPermMap);
- }
- }
-
- for (Entry<String, List<VXPermMap>> entry :
sortedPemMap.entrySet()) {
- VXPermObj vXPermObj = new VXPermObj();
- List<String> userList = new ArrayList<String>();
- List<String> groupList = new ArrayList<String>();
- List<String> permList = new ArrayList<String>();
- String ipAddress = "";
-
- List<VXPermMap> permListForGrp = entry.getValue();
-
- for (VXPermMap permMap : permListForGrp) {
- if (permMap.getPermFor() ==
AppConstants.XA_PERM_FOR_USER) {
- if
(!userList.contains(permMap.getUserName())) {
-
userList.add(permMap.getUserName());
- }
- } else if (permMap.getPermFor() ==
AppConstants.XA_PERM_FOR_GROUP) {
- if
(!groupList.contains(permMap.getGroupName())) {
-
groupList.add(permMap.getGroupName());
- }
- }
- String perm =
AppConstants.getLabelFor_XAPermType(permMap
- .getPermType());
- if (!permList.contains(perm)) {
- permList.add(perm);
- }
- ipAddress = permMap.getIpAddress();
- }
- vXPermObj.setUserList(userList);
- vXPermObj.setGroupList(groupList);
- vXPermObj.setPermList(permList);
- vXPermObj.setIpAddress(ipAddress);
-
- permObjList.add(vXPermObj);
- }
- return permObjList;
- }
-
-
- public RangerPolicy toRangerPolicy(VXPolicy vXPolicy, RangerService
service ) {
- if(vXPolicy == null || service == null ||
toAssetType(service.getType()) == null) {
- return null;
- }
-
- RangerPolicy ret = new RangerPolicy();
-
- ret = (RangerPolicy) dataObjectToRangerObject(vXPolicy, ret);
-
- ret.setService(service.getName());
- ret.setName(StringUtils.trim(vXPolicy.getPolicyName()));
- ret.setDescription(vXPolicy.getDescription());
- ret.setIsEnabled(vXPolicy.getIsEnabled() == true);
- ret.setIsAuditEnabled(vXPolicy.getIsAuditEnabled());
-
- Integer assetType = toAssetType(service.getType());
-
- Boolean isRecursive = Boolean.FALSE;
- if (assetType == RangerCommonEnums.ASSET_HDFS &&
vXPolicy.getIsRecursive() != null) {
- isRecursive = vXPolicy.getIsRecursive();
- }
-
- Boolean isTableExcludes = Boolean.FALSE;
- if ( vXPolicy.getTableType() != null) {
- isTableExcludes =
vXPolicy.getTableType().equals(RangerCommonEnums.getLabelFor_PolicyType(RangerCommonEnums.POLICY_EXCLUSION));
- }
-
- Boolean isColumnExcludes = Boolean.FALSE;
- if ( vXPolicy.getColumnType() != null) {
- isColumnExcludes =
vXPolicy.getColumnType().equals(RangerCommonEnums.getLabelFor_PolicyType(RangerCommonEnums.POLICY_EXCLUSION));
- }
-
- if (assetType == RangerCommonEnums.ASSET_HDFS &&
vXPolicy.getResourceName() != null ) {
- toRangerResourceList(vXPolicy.getResourceName(),
"path", Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getTables() != null) {
- toRangerResourceList(vXPolicy.getTables(), "table",
isTableExcludes, isRecursive, ret);
- }
-
- if (vXPolicy.getColumnFamilies() != null) {
- toRangerResourceList(vXPolicy.getColumnFamilies(),
"column-family", Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getColumns() != null) {
- toRangerResourceList(vXPolicy.getColumns(), "column",
isColumnExcludes, isRecursive, ret);
- }
-
- if (vXPolicy.getDatabases() != null) {
- toRangerResourceList(vXPolicy.getDatabases(),
"database", Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getUdfs() != null) {
- toRangerResourceList(vXPolicy.getUdfs(), "udf",
Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getTopologies() != null) {
- toRangerResourceList(vXPolicy.getTopologies(),
"topology", Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getServices() != null) {
- toRangerResourceList(vXPolicy.getServices(), "service",
Boolean.FALSE, isRecursive, ret);
- }
-
- if (vXPolicy.getHiveServices() != null) {
- toRangerResourceList(vXPolicy.getHiveServices(),
"hiveservice", Boolean.FALSE, isRecursive, ret);
- }
-
- if ( vXPolicy.getPermMapList() != null) {
- List<VXPermObj> vXPermObjList =
vXPolicy.getPermMapList();
-
- for(VXPermObj vXPermObj : vXPermObjList ) {
- List<String> userList = new
ArrayList<String>();
- List<String> groupList = new
ArrayList<String>();
- List<RangerPolicyItemAccess> accessList = new
ArrayList<RangerPolicyItemAccess>();
- String ipAddress = null;
- boolean
delegatedAdmin = false;
-
- if (vXPermObj.getUserList() != null) {
- for (String user :
vXPermObj.getUserList() ) {
- if (
user.contains(getUserName(user))) {
- userList.add(user);
- }
- }
- }
-
- if (vXPermObj.getGroupList() != null) {
- for (String group :
vXPermObj.getGroupList()) {
- if (
group.contains(getGroupName(group))) {
- groupList.add(group);
- }
- }
- }
-
- if (vXPermObj.getPermList() != null) {
- for (String perm :
vXPermObj.getPermList()) {
- if (
AppConstants.getEnumFor_XAPermType(perm) != 0 ) {
- if
("Admin".equalsIgnoreCase(perm)) {
-
delegatedAdmin=true;
- if (assetType
!= RangerCommonEnums.ASSET_HBASE) {
-
continue;
- }
- }
- accessList.add(new
RangerPolicyItemAccess(perm));
- }
- }
- }
-
- if (vXPermObj.getIpAddress() != null ) {
- ipAddress = vXPermObj.getIpAddress();
- }
-
- RangerPolicy.RangerPolicyItem policyItem = new
RangerPolicy.RangerPolicyItem();
-
- policyItem.setUsers(userList);
- policyItem.setGroups(groupList);
- policyItem.setAccesses(accessList);
-
- if (delegatedAdmin) {
-
policyItem.setDelegateAdmin(Boolean.TRUE);
- } else {
-
policyItem.setDelegateAdmin(Boolean.FALSE);
- }
-
- if(ipAddress != null && !ipAddress.isEmpty()) {
- RangerPolicy.RangerPolicyItemCondition
ipCondition = new RangerPolicy.RangerPolicyItemCondition("ipaddress",
Collections.singletonList(ipAddress));
-
- policyItem.addCondition(ipCondition);
- }
-
- ret.addPolicyItem(policyItem);
- }
- }
-
- return ret;
- }
private String getUserName(String userName) {
if(userName == null || userName.isEmpty()) {
@@ -1151,45 +762,6 @@ private String getGroupName(String groupName) {
}
- public VXPolicyList rangerPolicyListToPublic(List<RangerPolicy>
rangerPolicyList,SearchFilter filter) {
-
- RangerService service = null;
- List<VXPolicy> vXPolicyList = new ArrayList<VXPolicy>();
-
- VXPolicyList vXPolicyListObj = new VXPolicyList(new
ArrayList<VXPolicy>());
- if(CollectionUtils.isNotEmpty(rangerPolicyList)) {
- int totalCount = rangerPolicyList.size();
- int startIndex = filter.getStartIndex();
- int pageSize = filter.getMaxRows();
- int toIndex = Math.min(startIndex + pageSize,
totalCount);
- String sortType = filter.getSortType();
- String sortBy = filter.getSortBy();
- for(int i = startIndex; i < toIndex; i++) {
- RangerPolicy policy =rangerPolicyList.get(i);
- try {
- service =
svcStore.getServiceByName(policy.getService());
- } catch(Exception excp) {
- throw
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST,
excp.getMessage(), true);
- }
- if(service == null) {
- throw
restErrorUtil.createRESTException(HttpServletResponse.SC_NOT_FOUND,
RangerServiceNotFoundException.buildExceptionMsg(policy.getService()), true);
- }
- VXPolicy vXPolicy = toVXPolicy(policy,service);
- if(vXPolicy != null) {
- vXPolicyList.add(vXPolicy);
- }
- }
- vXPolicyListObj = new VXPolicyList(vXPolicyList);
- vXPolicyListObj.setPageSize(pageSize);
- vXPolicyListObj.setResultSize(vXPolicyList.size());
- vXPolicyListObj.setStartIndex(startIndex);
- vXPolicyListObj.setTotalCount(totalCount);
- vXPolicyListObj.setSortBy(sortBy);
- vXPolicyListObj.setSortType(sortType);
- }
- return vXPolicyListObj;
- }
-
public GrantRevokeRequest toGrantRevokeRequest(VXPolicy vXPolicy) {
String serviceType = null;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForAllServiceDefUpdateForResourceSpecificAccesses_J10012.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForAllServiceDefUpdateForResourceSpecificAccesses_J10012.java
index c58f2300a..893219ba3 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForAllServiceDefUpdateForResourceSpecificAccesses_J10012.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForAllServiceDefUpdateForResourceSpecificAccesses_J10012.java
@@ -29,7 +29,6 @@
import org.apache.ranger.plugin.model.validation.RangerServiceDefHelper;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -59,9 +58,6 @@ public class
PatchForAllServiceDefUpdateForResourceSpecificAccesses_J10012 exten
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHBaseServiceDefUpdate_J10035.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHBaseServiceDefUpdate_J10035.java
index 2dd04bd9b..40ad726c9 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHBaseServiceDefUpdate_J10035.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHBaseServiceDefUpdate_J10035.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,9 +62,6 @@ public class PatchForHBaseServiceDefUpdate_J10035 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10006.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10006.java
index 43a7f6bb6..de6942216 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10006.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10006.java
@@ -33,7 +33,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,9 +61,6 @@ public class PatchForHiveServiceDefUpdate_J10006 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10007.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10007.java
index 9e88c57e9..d79934205 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10007.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10007.java
@@ -30,7 +30,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,9 +61,6 @@ public class PatchForHiveServiceDefUpdate_J10007 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10009.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10009.java
index 1d1242889..a76dc518e 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10009.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10009.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,9 +62,6 @@ public class PatchForHiveServiceDefUpdate_J10009 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10010.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10010.java
index 5b819747d..f7ef0dbf3 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10010.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10010.java
@@ -30,7 +30,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,9 +61,6 @@ public class PatchForHiveServiceDefUpdate_J10010 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10017.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10017.java
index 9dc13f148..60b5ea41a 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10017.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10017.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,9 +61,6 @@ public class PatchForHiveServiceDefUpdate_J10017 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10027.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10027.java
index f3394a1df..0ff04ccb5 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10027.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10027.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,9 +62,6 @@ public class PatchForHiveServiceDefUpdate_J10027 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10030.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10030.java
index 4b6f2a693..e1aef5541 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10030.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForHiveServiceDefUpdate_J10030.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,9 +61,6 @@ public class PatchForHiveServiceDefUpdate_J10030 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10015.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10015.java
index 84ccc6095..d32060cc8 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10015.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10015.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -63,9 +62,6 @@ public class PatchForKafkaServiceDefUpdate_J10015 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10025.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10025.java
index 68b3ba79b..fe2a0a5de 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10025.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10025.java
@@ -47,7 +47,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -100,9 +99,6 @@ public class PatchForKafkaServiceDefUpdate_J10025 extends
BaseLoader {
@Autowired
GUIDUtil guidUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
index 33282f083..5ea023188 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForKafkaServiceDefUpdate_J10033.java
@@ -37,7 +37,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -88,9 +87,6 @@ public class PatchForKafkaServiceDefUpdate_J10033 extends
BaseLoader {
@Autowired
GUIDUtil guidUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefConfigUpdate_J10051.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefConfigUpdate_J10051.java
index 28160ffc9..34b223d15 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefConfigUpdate_J10051.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefConfigUpdate_J10051.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,9 +60,6 @@ public class PatchForOzoneServiceDefConfigUpdate_J10051
extends BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefUpdate_J10041.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefUpdate_J10041.java
index 985761772..294c73324 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefUpdate_J10041.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForOzoneServiceDefUpdate_J10041.java
@@ -36,7 +36,6 @@
import org.apache.ranger.plugin.util.SearchFilter;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -74,9 +73,6 @@ public class PatchForOzoneServiceDefUpdate_J10041 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10008.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10008.java
index 681988607..278bf673b 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10008.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10008.java
@@ -30,7 +30,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,9 +60,6 @@ public class PatchForTagServiceDefUpdate_J10008 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10028.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10028.java
index beaa9a67b..66daa98cf 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10028.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForTagServiceDefUpdate_J10028.java
@@ -31,7 +31,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.services.tag.RangerServiceTag;
import org.apache.ranger.util.CLIUtil;
import org.slf4j.Logger;
@@ -63,9 +62,6 @@ public class PatchForTagServiceDefUpdate_J10028 extends
BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java
b/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java
index 606186038..7e9c285b0 100644
---
a/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java
+++
b/security-admin/src/main/java/org/apache/ranger/patch/PatchMigration_J10002.java
@@ -55,7 +55,6 @@
import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
import org.apache.ranger.service.RangerPolicyService;
import org.apache.ranger.service.XPermMapService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.util.CLIUtil;
import org.apache.ranger.view.VXPermMap;
import org.slf4j.Logger;
@@ -82,9 +81,6 @@ public class PatchMigration_J10002 extends BaseLoader {
@Autowired
StringUtil stringUtil;
- @Autowired
- XPolicyService xPolService;
-
@Autowired
XPermMapService xPermMapService;
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index 16adbb3f6..446ce48c8 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -63,7 +63,6 @@
import org.apache.ranger.service.XAssetService;
import org.apache.ranger.service.XCredentialStoreService;
import org.apache.ranger.service.XPolicyExportAuditService;
-import org.apache.ranger.service.XPolicyService;
import org.apache.ranger.service.XResourceService;
import org.apache.ranger.service.RangerTrxLogV2Service;
import org.apache.ranger.util.RestUtil;
@@ -99,9 +98,6 @@ public class AssetREST {
@Autowired
XResourceService xResourceService;
- @Autowired
- XPolicyService xPolicyService;
-
@Autowired
XCredentialStoreService xCredentialStoreService;
diff --git
a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
b/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
deleted file mode 100644
index aea13c13f..000000000
--- a/security-admin/src/main/java/org/apache/ranger/rest/PublicAPIs.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.ranger.rest;
-
-import org.apache.ranger.common.*;
-import org.apache.ranger.common.annotation.RangerAnnotationClassName;
-import org.apache.ranger.common.annotation.RangerAnnotationJSMgrName;
-import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.entity.XXPolicy;
-import org.apache.ranger.entity.XXService;
-import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerService;
-import org.apache.ranger.plugin.util.SearchFilter;
-import org.apache.ranger.security.context.RangerAPIList;
-import org.apache.ranger.service.RangerPolicyService;
-import org.apache.ranger.service.XAssetService;
-import org.apache.ranger.view.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Path("public")
-@Component
-@Scope("request")
-@RangerAnnotationJSMgrName("PublicMgr")
-@Transactional(propagation = Propagation.REQUIRES_NEW)
-public class PublicAPIs {
- private static final Logger logger =
LoggerFactory.getLogger(PublicAPIs.class);
-
- @Autowired
- RangerSearchUtil searchUtil;
-
- @Autowired
- XAssetService xAssetService;
-
- @Autowired
- RangerPolicyService policyService;
-
- @Autowired
- StringUtil stringUtil;
-
- @Autowired
- ServiceUtil serviceUtil;
-
- @Autowired
- ServiceREST serviceREST;
-
- @Autowired
- RangerDaoManager daoMgr;
-
- @Autowired
- RESTErrorUtil restErrorUtil;
-
- @Autowired
- AssetREST assetREST;
-
- @GET
- @Path("/api/repository/{id}")
- @Produces({ "application/json" })
- public VXRepository getRepository(@PathParam("id") Long id) {
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.getRepository(" + id +
")");
- }
-
- RangerService service = serviceREST.getService(id);
-
- VXRepository ret = serviceUtil.toVXRepository(service);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<= PublicAPIs.getRepository(" + id + ")");
- }
- return ret;
- }
-
-
- @POST
- @Path("/api/repository/")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- public VXRepository createRepository(VXRepository vXRepository) {
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.createRepository(" +
vXRepository + ")");
- }
-
- VXAsset vXAsset =
serviceUtil.publicObjecttoVXAsset(vXRepository);
-
- RangerService service = serviceUtil.toRangerService(vXAsset);
-
- RangerService createdService =
serviceREST.createService(service);
-
- VXAsset retvXAsset = serviceUtil.toVXAsset(createdService);
-
- VXRepository ret =
serviceUtil.vXAssetToPublicObject(retvXAsset);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.createRepository(" + ret +
")");
- }
-
- return ret;
- }
-
-
- @PUT
- @Path("/api/repository/{id}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- public VXRepository updateRepository(VXRepository vXRepository,
- @PathParam("id") Long id) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.updateRepository(" + id +
")");
- }
-
- XXService existing = daoMgr.getXXService().getById(id);
- if(existing == null) {
- throw restErrorUtil.createRESTException("Repository not
found for Id: " + id, MessageEnums.DATA_NOT_FOUND);
- }
-
- vXRepository.setId(id);
-
- VXAsset vXAsset =
serviceUtil.publicObjecttoVXAsset(vXRepository);
-
- RangerService service = serviceUtil.toRangerService(vXAsset);
- service.setVersion(existing.getVersion());
-
- RangerService updatedService =
serviceREST.updateService(service, null);
-
- VXAsset retvXAsset = serviceUtil.toVXAsset(updatedService);
-
- VXRepository ret =
serviceUtil.vXAssetToPublicObject(retvXAsset);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.updateRepository(" + ret +
")");
- }
-
- return ret;
- }
-
-
- @DELETE
- @Path("/api/repository/{id}")
- @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
- @RangerAnnotationClassName(class_name = VXAsset.class)
- public void deleteRepository(@PathParam("id") Long id,
- @Context HttpServletRequest request) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.deleteRepository(" + id +
")");
- }
-
- serviceREST.deleteService(id);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.deleteRepository(" + id +
")");
- }
- }
-
- @GET
- @Path("/api/repository/")
- @Produces({ "application/json" })
- @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" +
RangerAPIList.SEARCH_X_ASSETS + "\")")
- public VXRepositoryList searchRepositories(
- @Context HttpServletRequest request) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.searchRepositories()");
- }
-
- VXRepositoryList ret = new VXRepositoryList();
-
- SearchFilter filter =
searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request,
xAssetService.sortFields);
-
- List<RangerService> serviceList =
serviceREST.getServices(filter);
-
- if (serviceList != null) {
- List<VXRepository> repositories = new
ArrayList<>(serviceList.size());
- for (RangerService service : serviceList) {
- VXRepository repository =
serviceUtil.toVXRepository(service);
-
- if (repository != null) {
- repositories.add(repository);
- }
- }
-
- ret.setVXRepositories(repositories);
- ret.setTotalCount(repositories.size());
- ret.setResultSize(repositories.size());
- }
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.searchRepositories():
count=" + ret.getListSize());
- }
-
- return ret;
- }
-
-
- @GET
- @Path("/api/repository/count")
- @Produces({ "application/json" })
- public VXLong countRepositories(@Context HttpServletRequest request) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.countRepositories()");
- }
-
- VXLong ret = assetREST.countXAssets(request);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.countRepositories():
count=" + ret);
- }
-
- return ret;
- }
-
-
-
- @GET
- @Path("/api/policy/{id}")
- @Produces({ "application/json" })
- public VXPolicy getPolicy(@PathParam("id") Long id) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.getPolicy() " + id);
- }
-
- RangerPolicy policy = null;
- RangerService service = null;
-
- policy = serviceREST.getPolicy(id);
-
- if(policy != null) {
- service =
serviceREST.getServiceByName(policy.getService());
- }
-
- VXPolicy ret = serviceUtil.toVXPolicy(policy, service);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.getPolicy()" + ret);
- }
-
- return ret;
- }
-
-
- @POST
- @Path("/api/policy")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- public VXPolicy createPolicy(VXPolicy vXPolicy) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.createPolicy()");
- }
-
- if(vXPolicy == null) {
- throw
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, "Policy
object is null in create policy api", false);
- }
- RangerService service =
serviceREST.getServiceByName(vXPolicy.getRepositoryName());
- RangerPolicy policy =
serviceUtil.toRangerPolicy(vXPolicy,service);
-
- VXPolicy ret = null;
- if(policy != null) {
- if(logger.isDebugEnabled()) {
- logger.debug("RANGERPOLICY: " +
policy.toString());
- }
-
- RangerPolicy createdPolicy =
serviceREST.createPolicy(policy,null);
-
- ret = serviceUtil.toVXPolicy(createdPolicy, service);
- }
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.createPolicy(" + policy +
"): " + ret);
- }
-
- return ret;
- }
-
- @PUT
- @Path("/api/policy/{id}")
- @Consumes({ "application/json" })
- @Produces({ "application/json" })
- public VXPolicy updatePolicy(VXPolicy vXPolicy, @PathParam("id") Long
id) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.updatePolicy(): " +
vXPolicy );
- }
-
- if(vXPolicy == null) {
- throw
restErrorUtil.createRESTException(HttpServletResponse.SC_BAD_REQUEST, "Policy
object is null in update policy api", false);
- }
-
- XXPolicy existing = daoMgr.getXXPolicy().getById(id);
- if(existing == null) {
- throw restErrorUtil.createRESTException("Policy not
found for Id: " + id, MessageEnums.DATA_NOT_FOUND);
- }
-
- vXPolicy.setId(id);
-
- RangerService service =
serviceREST.getServiceByName(vXPolicy.getRepositoryName());
- RangerPolicy policy =
serviceUtil.toRangerPolicy(vXPolicy,service);
-
- VXPolicy ret = null;
- if(policy != null) {
- policy.setVersion(existing.getVersion());
-
- RangerPolicy updatedPolicy =
serviceREST.updatePolicy(policy, policy.getId());
-
- ret = serviceUtil.toVXPolicy(updatedPolicy, service);
- }
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.updatePolicy(" + policy +
"): " + ret);
- }
-
- return ret;
- }
-
- @DELETE
- @Path("/api/policy/{id}")
- @PreAuthorize("hasRole('ROLE_SYS_ADMIN')")
- @RangerAnnotationClassName(class_name = VXResource.class)
- public void deletePolicy(@PathParam("id") Long id,
- @Context HttpServletRequest request) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.deletePolicy(): " + id );
- }
-
- serviceREST.deletePolicy(id);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.deletePolicy(): " + id );
- }
- }
-
- @GET
- @Path("/api/policy")
- @Produces({ "application/json" })
- public VXPolicyList searchPolicies(@Context HttpServletRequest request)
{
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.searchPolicies(): ");
- }
-
- SearchFilter filter =
searchUtil.getSearchFilterFromLegacyRequest(request, policyService.sortFields);
- // get all policies from the store; pick the page to return
after applying filter
- int savedStartIndex = filter.getStartIndex();
- int savedMaxRows = filter.getMaxRows();
-
- filter.setStartIndex(0);
- filter.setMaxRows(Integer.MAX_VALUE);
-
- List<RangerPolicy> rangerPolicyList =
serviceREST.getPolicies(filter);
-
- filter.setStartIndex(savedStartIndex);
- filter.setMaxRows(savedMaxRows);
-
- VXPolicyList vXPolicyList = null;
- if (rangerPolicyList != null) {
- vXPolicyList =
serviceUtil.rangerPolicyListToPublic(rangerPolicyList,filter);
- }
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.searchPolicies(): " +
vXPolicyList );
- }
- return vXPolicyList;
- }
-
- @GET
- @Path("/api/policy/count")
- @Produces({ "application/json" })
- public VXLong countPolicies(@Context HttpServletRequest request) {
-
- if(logger.isDebugEnabled()) {
- logger.debug("==> PublicAPIs.countPolicies(): ");
- }
-
- VXLong ret = assetREST.countXResources(request);
-
- if(logger.isDebugEnabled()) {
- logger.debug("<== PublicAPIs.countPolicies(): " + ret);
- }
-
- return ret;
- }
-
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/service/PublicAPIServiceBase.java
b/security-admin/src/main/java/org/apache/ranger/service/PublicAPIServiceBase.java
deleted file mode 100644
index ad79a2a7a..000000000
---
a/security-admin/src/main/java/org/apache/ranger/service/PublicAPIServiceBase.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- package org.apache.ranger.service;
-
-import org.apache.ranger.view.VXDataObject;
-
-public abstract class PublicAPIServiceBase<VXA extends VXDataObject, VX
extends VXDataObject> {
-
- protected VX mapBaseAttributesToPublicObject(VXA vXAObj, VX vPublicObj)
{
- vPublicObj.setId(vXAObj.getId());
- vPublicObj.setCreateDate(vXAObj.getCreateDate());
- vPublicObj.setUpdateDate(vXAObj.getUpdateDate());
- vPublicObj.setOwner(vXAObj.getOwner());
- vPublicObj.setUpdatedBy(vXAObj.getUpdatedBy());
- return vPublicObj;
- }
-
- protected VXA mapBaseAttributesToXAObject(VX vPublicObj, VXA vXAObj) {
- vXAObj.setId(vPublicObj.getId());
- vXAObj.setCreateDate(vPublicObj.getCreateDate());
- vXAObj.setUpdateDate(vPublicObj.getUpdateDate());
- vXAObj.setOwner(vPublicObj.getOwner());
- vXAObj.setUpdatedBy(vPublicObj.getUpdatedBy());
-
- return vXAObj;
- }
-
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/service/XPolicyService.java
b/security-admin/src/main/java/org/apache/ranger/service/XPolicyService.java
deleted file mode 100644
index 9c78d5d29..000000000
--- a/security-admin/src/main/java/org/apache/ranger/service/XPolicyService.java
+++ /dev/null
@@ -1,756 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.ranger.service;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Random;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.ranger.common.AppConstants;
-import org.apache.ranger.common.DateUtil;
-import org.apache.ranger.common.MessageEnums;
-import org.apache.ranger.common.PropertiesUtil;
-import org.apache.ranger.common.RESTErrorUtil;
-import org.apache.ranger.common.SearchCriteria;
-import org.apache.ranger.common.StringUtil;
-import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.entity.XXAsset;
-import org.apache.ranger.entity.XXGroup;
-import org.apache.ranger.entity.XXPermMap;
-import org.apache.ranger.entity.XXResource;
-import org.apache.ranger.entity.XXUser;
-import org.apache.ranger.view.VXAuditMap;
-import org.apache.ranger.view.VXAuditMapList;
-import org.apache.ranger.view.VXDataObject;
-import org.apache.ranger.view.VXPermMap;
-import org.apache.ranger.view.VXPermMapList;
-import org.apache.ranger.view.VXPermObj;
-import org.apache.ranger.view.VXPolicy;
-import org.apache.ranger.view.VXPolicyList;
-import org.apache.ranger.view.VXResource;
-import org.apache.ranger.view.VXResourceList;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import static
org.apache.ranger.service.RangerBaseModelService.OPERATION_CREATE_CONTEXT;
-
-@Service
-public class XPolicyService extends PublicAPIServiceBase<VXResource, VXPolicy>
{
- Logger logger = LoggerFactory.getLogger(XPolicyService.class);
-
- @Autowired
- RESTErrorUtil restErrorUtil;
-
- @Autowired
- StringUtil stringUtil;
-
- @Autowired
- RangerDaoManager xaDaoMgr;
-
- @Autowired
- XPermMapService xPermMapService;
-
- @Autowired
- XAuditMapService xAuditMapService;
-
- @Autowired
- XResourceService xResourceService;
-
- String version;
-
- private static String uniqueKeySeparator = "_";
-
- public XPolicyService() {
- version = PropertiesUtil.getProperty("maven.project.version",
"");
- }
-
- public VXPolicy mapXAToPublicObject(VXResource vXResource) {
-
- VXPolicy vXPolicy = new VXPolicy();
- vXPolicy = super.mapBaseAttributesToPublicObject(vXResource,
vXPolicy);
-
-
vXPolicy.setPolicyName(StringUtils.trim(vXResource.getPolicyName()));
- vXPolicy.setResourceName(vXResource.getName());
- vXPolicy.setDescription(vXResource.getDescription());
- vXPolicy.setRepositoryName(vXResource.getAssetName());
- vXPolicy.setRepositoryType(AppConstants
-
.getLabelFor_AssetType(vXResource.getAssetType()));
-
-
- List<VXPermObj> permObjList = mapPermMapToPermObj(vXResource
- .getPermMapList());
- if (!stringUtil.isEmpty(permObjList)) {
- vXPolicy.setPermMapList(permObjList);
- }
- vXPolicy.setTables(vXResource.getTables());
- vXPolicy.setColumnFamilies(vXResource.getColumnFamilies());
- vXPolicy.setColumns(vXResource.getColumns());
- vXPolicy.setDatabases(vXResource.getDatabases());
- vXPolicy.setUdfs(vXResource.getUdfs());
-
- vXPolicy.setTopologies(vXResource.getTopologies());
- vXPolicy.setServices(vXResource.getServices());
-
- boolean enable = true;
- if (vXResource.getResourceStatus() ==
AppConstants.STATUS_DISABLED
- || vXResource.getResourceStatus() ==
AppConstants.STATUS_DELETED) {
- enable = false;
- }
- vXPolicy.setIsEnabled(enable);
-
- boolean auditEnable = true;
- if (stringUtil.isEmpty(vXResource.getAuditList())) {
- auditEnable = false;
- }
- vXPolicy.setIsAuditEnabled(auditEnable);
- vXPolicy.setVersion(version);
-
- /*
- * TODO : These parameters are specific for some components.
Need to
- * take care while adding new component
- */
- if (vXResource.getAssetType() == AppConstants.ASSET_HIVE) {
- vXPolicy.setTableType(AppConstants
-
.getLabelFor_PolicyType(vXResource.getTableType()));
- vXPolicy.setColumnType(AppConstants
-
.getLabelFor_PolicyType(vXResource.getColumnType()));
- }
- if (vXResource.getAssetType() == AppConstants.ASSET_HDFS) {
- vXPolicy.setIsRecursive(AppConstants
-
.getBooleanFor_BooleanValue(vXResource.getIsRecursive()));
- } else {
- vXPolicy.setIsRecursive(null);
- }
-
- return vXPolicy;
- }
-
- public VXResource mapPublicToXAObject(VXPolicy vXPolicy,
- int operationContext) {
- VXResource vXResource = new VXResource();
- vXResource = super.mapBaseAttributesToXAObject(vXPolicy,
vXResource);
-
- vXResource.setName(vXPolicy.getResourceName());
-
vXResource.setPolicyName(StringUtils.trim(vXPolicy.getPolicyName()));
- vXResource.setDescription(vXPolicy.getDescription());
- vXResource.setResourceType(getResourceType(vXPolicy));
-
- XXAsset xAsset = xaDaoMgr.getXXAsset().findByAssetName(
- vXPolicy.getRepositoryName());
- if (xAsset == null) {
- throw restErrorUtil.createRESTException("The repository
for which "
- + "you're updating policy, doesn't
exist.",
- MessageEnums.INVALID_INPUT_DATA);
- }
- vXResource.setAssetId(xAsset.getId());
-
- if (operationContext ==
RangerBaseModelService.OPERATION_UPDATE_CONTEXT) {
- XXResource xxResource =
xaDaoMgr.getXXResource().getById(
- vXPolicy.getId());
- if (xxResource == null) {
- logger.error("No policy found with given Id : "
- + vXPolicy.getId());
- throw restErrorUtil
- .createRESTException("No Policy
found with given Id : "
- +
vXResource.getId(),
-
MessageEnums.DATA_NOT_FOUND);
- }
- /*
- * While updating public object we wont have
createDate/updateDate,
- * so create time, addedById, updatedById, etc. we ll
have to take
- * from existing object
- */
-
- xxResource.setUpdateTime(DateUtil.getUTCDate());
- xResourceService
-
.mapBaseAttributesToViewBean(xxResource, vXResource);
-
- SearchCriteria scAuditMap = new SearchCriteria();
- scAuditMap.addParam("resourceId", xxResource.getId());
- VXAuditMapList vXAuditMapList = xAuditMapService
- .searchXAuditMaps(scAuditMap);
-
- List<VXAuditMap> auditList = new
ArrayList<VXAuditMap>();
-
- if (vXAuditMapList.getListSize() > 0
- && vXPolicy.getIsAuditEnabled()) {
-
auditList.addAll(vXAuditMapList.getVXAuditMaps());
- } else if (vXAuditMapList.getListSize() == 0
- && vXPolicy.getIsAuditEnabled()) {
- VXAuditMap vXAuditMap = new VXAuditMap();
-
vXAuditMap.setAuditType(AppConstants.XA_AUDIT_TYPE_ALL);
- auditList.add(vXAuditMap);
-
- }
-
- List<VXPermMap> permMapList = mapPermObjToPermList(
- vXPolicy.getPermMapList(), vXPolicy);
-
- vXResource.setAuditList(auditList);
- vXResource.setPermMapList(permMapList);
-
- } else if (operationContext == OPERATION_CREATE_CONTEXT) {
- if (vXPolicy.getIsAuditEnabled()) {
- VXAuditMap vXAuditMap = new VXAuditMap();
-
vXAuditMap.setAuditType(AppConstants.XA_AUDIT_TYPE_ALL);
- List<VXAuditMap> auditList = new
ArrayList<VXAuditMap>();
- auditList.add(vXAuditMap);
-
- vXResource.setAuditList(auditList);
- }
- if (!stringUtil.isEmpty(vXPolicy.getPermMapList())) {
- List<VXPermMap> permMapList =
mapPermObjToPermList(vXPolicy
- .getPermMapList());
- vXResource.setPermMapList(permMapList);
- }
- }
-
- vXResource.setDatabases(vXPolicy.getDatabases());
- vXResource.setTables(vXPolicy.getTables());
- vXResource.setColumnFamilies(vXPolicy.getColumnFamilies());
- vXResource.setColumns(vXPolicy.getColumns());
- vXResource.setUdfs(vXPolicy.getUdfs());
- vXResource.setAssetName(vXPolicy.getRepositoryName());
-
- int assetType = AppConstants.getEnumFor_AssetType(vXPolicy
- .getRepositoryType());
- if (assetType == AppConstants.ASSET_UNKNOWN) {
- assetType = xAsset.getAssetType();
-
vXPolicy.setRepositoryType(AppConstants.getLabelFor_AssetType(assetType));
- }
- vXResource.setAssetType(assetType);
-
- int resourceStatus = AppConstants.STATUS_ENABLED;
- if (!vXPolicy.getIsEnabled()) {
- resourceStatus = AppConstants.STATUS_DISABLED;
- }
- vXResource.setResourceStatus(resourceStatus);
- // Allowing to create policy without checking parent permission
- vXResource.setCheckParentPermission(AppConstants.BOOL_FALSE);
- vXResource.setTopologies(vXPolicy.getTopologies());
- vXResource.setServices(vXPolicy.getServices());
-
- /*
- * TODO : These parameters are specific for some components.
Need to
- * take care while adding new component
- */
- if (vXPolicy.getRepositoryType().equalsIgnoreCase(
-
AppConstants.getLabelFor_AssetType(AppConstants.ASSET_HIVE))) {
-
vXResource.setTableType(AppConstants.getEnumFor_PolicyType(vXPolicy
- .getTableType()));
- vXResource.setColumnType(AppConstants
-
.getEnumFor_PolicyType(vXPolicy.getColumnType()));
- }
- if (vXPolicy.getRepositoryType().equalsIgnoreCase(
-
AppConstants.getLabelFor_AssetType(AppConstants.ASSET_HDFS))) {
- vXResource.setIsRecursive(AppConstants
-
.getEnumFor_BooleanValue(vXPolicy.getIsRecursive()));
- }
-
- return vXResource;
- }
-
- private List<VXPermMap> mapPermObjToPermList(List<VXPermObj>
permObjList,
- VXPolicy vXPolicy) {
-
- Long resId = vXPolicy.getId();
- List<VXPermMap> permMapList = new ArrayList<VXPermMap>();
- List<VXPermMap> updPermMapList = new ArrayList<VXPermMap>();
- Map<String, VXPermMap> newPermMap = new LinkedHashMap<String,
VXPermMap>();
- Random rand = new Random();
-
- Map<String, XXPermMap> prevPermMap = getPrevPermMap(resId);
-
- if (permObjList == null) {
- permObjList = new ArrayList<VXPermObj>();
- }
- for (VXPermObj permObj : permObjList) {
- String permGrp = new Date() + " : " +
rand.nextInt(9999);
- String ipAddress = permObj.getIpAddress();
-
- if (!stringUtil.isEmpty(permObj.getUserList())) {
- int permFor = AppConstants.XA_PERM_FOR_USER;
-
- for (String user : permObj.getUserList()) {
-
- XXUser xxUser =
xaDaoMgr.getXXUser().findByUserName(user);
- if (xxUser == null) {
- logger.error("No User found
with this name : " + user);
- throw
restErrorUtil.createRESTException(
- "No User found
with name : " + user,
-
MessageEnums.DATA_NOT_FOUND);
- }
- Long userId = xxUser.getId();
- for (String permission :
permObj.getPermList()) {
-
- int permType = AppConstants
-
.getEnumFor_XAPermType(permission);
- VXPermMap vXPermMap = new
VXPermMap();
-
vXPermMap.setPermFor(AppConstants.XA_PERM_FOR_USER);
- vXPermMap.setPermGroup(permGrp);
- vXPermMap.setPermType(permType);
-
vXPermMap.setUserId(xxUser.getId());
- vXPermMap.setResourceId(resId);
-
vXPermMap.setIpAddress(ipAddress);
- permMapList.add(vXPermMap);
-
- StringBuilder uniqueKey = new
StringBuilder();
- uniqueKey.append(resId +
uniqueKeySeparator);
- uniqueKey.append(permFor +
uniqueKeySeparator);
- uniqueKey.append(userId +
uniqueKeySeparator);
- uniqueKey.append(permType);
-
newPermMap.put(uniqueKey.toString(), vXPermMap);
- }
- }
- }
- if (!stringUtil.isEmpty(permObj.getGroupList())) {
- int permFor = AppConstants.XA_PERM_FOR_GROUP;
-
- for (String group : permObj.getGroupList()) {
-
- XXGroup xxGroup =
xaDaoMgr.getXXGroup().findByGroupName(
- group);
- if (xxGroup == null) {
- logger.error("No UserGroup
found with this name : "
- + group);
- throw
restErrorUtil.createRESTException(
- "No Group found
with name : " + group,
-
MessageEnums.DATA_NOT_FOUND);
- }
- Long grpId = xxGroup.getId();
- for (String permission :
permObj.getPermList()) {
-
- int permType = AppConstants
-
.getEnumFor_XAPermType(permission);
- VXPermMap vXPermMap = new
VXPermMap();
-
vXPermMap.setPermFor(AppConstants.XA_PERM_FOR_GROUP);
- vXPermMap.setPermGroup(permGrp);
- vXPermMap.setPermType(permType);
-
vXPermMap.setGroupId(xxGroup.getId());
- vXPermMap.setResourceId(resId);
-
vXPermMap.setIpAddress(ipAddress);
- permMapList.add(vXPermMap);
-
- StringBuilder uniqueKey = new
StringBuilder();
- uniqueKey.append(resId +
uniqueKeySeparator);
- uniqueKey.append(permFor +
uniqueKeySeparator);
- uniqueKey.append(grpId +
uniqueKeySeparator);
- uniqueKey.append(permType);
-
newPermMap.put(uniqueKey.toString(), vXPermMap);
- }
- }
- }
- }
-
- // Create Newly added permissions and Remove deleted
permissions from DB
- if (prevPermMap.isEmpty()) {
- updPermMapList.addAll(permMapList);
- } else {
- for (Entry<String, VXPermMap> entry :
newPermMap.entrySet()) {
- if (!prevPermMap.containsKey(entry.getKey())) {
- updPermMapList.add(entry.getValue());
- } else {
- VXPermMap vPMap = xPermMapService
-
.populateViewBean(prevPermMap.get(entry.getKey()));
- VXPermMap vPMapNew = entry.getValue();
-
vPMap.setIpAddress(vPMapNew.getIpAddress());
- updPermMapList.add(vPMap);
- }
- }
- }
- return updPermMapList;
- }
-
- private Map<String, XXPermMap> getPrevPermMap(Long resId) {
- List<XXPermMap> xxPermMapList = xaDaoMgr.getXXPermMap()
- .findByResourceId(resId);
-
- Map<String, XXPermMap> prevPermMap = new LinkedHashMap<String,
XXPermMap>();
-
- for (XXPermMap xxPermMap : xxPermMapList) {
- int permFor = xxPermMap.getPermFor();
- Long userId = xxPermMap.getUserId();
- Long grpId = xxPermMap.getGroupId();
- int permType = xxPermMap.getPermType();
-
- StringBuilder uniqueKey = new StringBuilder();
- uniqueKey.append(resId + uniqueKeySeparator);
- uniqueKey.append(permFor + uniqueKeySeparator);
-
- if (userId != null) {
- uniqueKey.append(userId + uniqueKeySeparator);
- } else if (grpId != null) {
- uniqueKey.append(grpId + uniqueKeySeparator);
- }
- uniqueKey.append(permType);
- prevPermMap.put(uniqueKey.toString(), xxPermMap);
- }
-
- return prevPermMap;
- }
-
- public List<VXPermObj> mapPermMapToPermObj(List<VXPermMap> permMapList)
{
-
- List<VXPermObj> permObjList = new ArrayList<VXPermObj>();
- HashMap<String, List<VXPermMap>> sortedPemMap = new
HashMap<String, List<VXPermMap>>();
-
- if (permMapList != null) {
- for (VXPermMap vXPermMap : permMapList) {
-
- String permGrp = vXPermMap.getPermGroup();
- List<VXPermMap> sortedList =
sortedPemMap.get(permGrp);
- if (sortedList == null) {
- sortedList = new ArrayList<VXPermMap>();
- sortedPemMap.put(permGrp, sortedList);
- }
- sortedList.add(vXPermMap);
- }
- }
-
- for (Entry<String, List<VXPermMap>> entry :
sortedPemMap.entrySet()) {
- VXPermObj vXPermObj = new VXPermObj();
- List<String> userList = new ArrayList<String>();
- List<String> groupList = new ArrayList<String>();
- List<String> permList = new ArrayList<String>();
- String ipAddress = "";
-
- List<VXPermMap> permListForGrp = entry.getValue();
-
- for (VXPermMap permMap : permListForGrp) {
- if (permMap.getPermFor() ==
AppConstants.XA_PERM_FOR_USER) {
- if
(!userList.contains(permMap.getUserName())) {
-
userList.add(permMap.getUserName());
- }
- } else if (permMap.getPermFor() ==
AppConstants.XA_PERM_FOR_GROUP) {
- if
(!groupList.contains(permMap.getGroupName())) {
-
groupList.add(permMap.getGroupName());
- }
- }
- String perm =
AppConstants.getLabelFor_XAPermType(permMap
- .getPermType());
- if (!permList.contains(perm)) {
- permList.add(perm);
- }
- ipAddress = permMap.getIpAddress();
- }
- if (!userList.isEmpty()) {
- vXPermObj.setUserList(userList);
- }
- if (!groupList.isEmpty()) {
- vXPermObj.setGroupList(groupList);
- }
- vXPermObj.setPermList(permList);
- vXPermObj.setIpAddress(ipAddress);
-
- permObjList.add(vXPermObj);
- }
- return permObjList;
- }
-
- public VXPolicyList mapToVXPolicyList(VXResourceList vXResourceList) {
-
- List<VXPolicy> policyList = new ArrayList<VXPolicy>();
- for (VXResource vXAsset : vXResourceList.getVXResources()) {
- VXPolicy vXRepo = mapXAToPublicObject(vXAsset);
- policyList.add(vXRepo);
- }
- VXPolicyList vXPolicyList = new VXPolicyList(policyList);
- return vXPolicyList;
- }
-
- private List<VXPermMap> mapPermObjToPermList(List<VXPermObj>
permObjList) {
-
- List<VXPermMap> permMapList = new ArrayList<VXPermMap>();
- Random rand = new Random();
-
- for (VXPermObj permObj : permObjList) {
-
- String ipAddress = permObj.getIpAddress();
-
- if (!stringUtil.isEmpty(permObj.getUserList())) {
- String permGrp = new Date() + " : " +
rand.nextInt(9999);
- for (String user : permObj.getUserList()) {
-
- XXUser xxUser =
xaDaoMgr.getXXUser().findByUserName(user);
- if (xxUser == null) {
- logger.error("No User found
with this name : " + user);
- throw
restErrorUtil.createRESTException(
- "No User found
with name : " + user,
-
MessageEnums.DATA_NOT_FOUND);
- }
- for (String permission :
permObj.getPermList()) {
-
- VXPermMap vXPermMap = new
VXPermMap();
- int permType = AppConstants
-
.getEnumFor_XAPermType(permission);
-
vXPermMap.setPermFor(AppConstants.XA_PERM_FOR_USER);
- vXPermMap.setPermGroup(permGrp);
- vXPermMap.setPermType(permType);
-
vXPermMap.setUserId(xxUser.getId());
-
vXPermMap.setIpAddress(ipAddress);
-
- permMapList.add(vXPermMap);
- }
- }
- }
- if (!stringUtil.isEmpty(permObj.getGroupList())) {
- String permGrp = new Date() + " : " +
rand.nextInt(9999);
- for (String group : permObj.getGroupList()) {
-
- XXGroup xxGroup =
xaDaoMgr.getXXGroup().findByGroupName(
- group);
- if (xxGroup == null) {
- logger.error("No UserGroup
found with this name : "
- + group);
- throw
restErrorUtil.createRESTException(
- "No User found
with name : " + group,
-
MessageEnums.DATA_NOT_FOUND);
- }
-
- for (String permission :
permObj.getPermList()) {
-
- VXPermMap vXPermMap = new
VXPermMap();
- int permType = AppConstants
-
.getEnumFor_XAPermType(permission);
-
vXPermMap.setPermFor(AppConstants.XA_PERM_FOR_GROUP);
- vXPermMap.setPermGroup(permGrp);
- vXPermMap.setPermType(permType);
-
vXPermMap.setGroupId(xxGroup.getId());
-
vXPermMap.setIpAddress(ipAddress);
-
- permMapList.add(vXPermMap);
- }
- }
- }
- }
- return permMapList;
- }
-
- public List<VXPermMap> updatePermGroup(VXResource vXResource) {
-
- XXResource xxResource = xaDaoMgr.getXXResource().getById(
- vXResource.getId());
- if (xxResource == null) {
- logger.info("Resource : " + vXResource.getPolicyName()
- + " Not Found, while updating
PermGroup");
- throw restErrorUtil.createRESTException(
- "Resource Not found to update
PermGroup",
- MessageEnums.DATA_NOT_FOUND);
- }
- Long resId = vXResource.getId();
- List<VXPermMap> updatedPermMapList = new ArrayList<VXPermMap>();
-
- SearchCriteria searchCriteria = new SearchCriteria();
- searchCriteria.addParam("resourceId", resId);
- VXPermMapList currentPermMaps = xPermMapService
- .searchXPermMaps(searchCriteria);
-
- List<VXPermMap> currentPermMapList =
currentPermMaps.getVXPermMaps();
- HashMap<String, List<String>> userPermMap = new HashMap<String,
List<String>>();
-
- for (VXPermMap currentPermMap : currentPermMapList) {
- Long userId = currentPermMap.getUserId();
- Long groupId = currentPermMap.getGroupId();
- int permFor = currentPermMap.getPermFor();
- int permType = currentPermMap.getPermType();
- String ipAddress = currentPermMap.getIpAddress();
-
- String uniKey = resId + uniqueKeySeparator + permFor;
- if (permFor == AppConstants.XA_PERM_FOR_GROUP) {
- uniKey = uniKey + uniqueKeySeparator + groupId;
- } else if (permFor == AppConstants.XA_PERM_FOR_USER) {
- uniKey = uniKey + uniqueKeySeparator + userId;
- }
-
- List<String> permList = userPermMap.get(uniKey);
- if (permList == null) {
- permList = new ArrayList<String>();
- userPermMap.put(uniKey, permList);
- }
- permList.add(""+permType);
-
- if (stringUtil.isEmpty(ipAddress)) {
- permList.add(ipAddress);
- }
-
- }
-
- List<List<String>> masterKeyList = new
ArrayList<List<String>>();
- List<String> proceedKeyList = new ArrayList<String>();
- for (Entry<String, List<String>> upMap :
userPermMap.entrySet()) {
-
- if (proceedKeyList.contains(upMap.getKey())) {
- continue;
- }
-
- List<String> keyList = new ArrayList<String>();
- keyList.add(upMap.getKey());
- proceedKeyList.add(upMap.getKey());
-
- for (Entry<String, List<String>> entry :
userPermMap.entrySet()) {
-
- if (proceedKeyList.contains(entry.getKey())) {
- continue;
- }
-
- boolean result =
compareTwoListElements(upMap.getValue(),
- entry.getValue());
- if (result) {
- keyList.add(entry.getKey());
- proceedKeyList.add(entry.getKey());
- }
- }
- masterKeyList.add(keyList);
- }
-
- for (List<String> keyList : masterKeyList) {
- Random rand = new Random();
- String permGrp = new Date() + " : " +
rand.nextInt(9999);
- for (String key : keyList) {
-
- SearchCriteria scPermMap = new SearchCriteria();
- String[] keyEle = StringUtils.split(key,
uniqueKeySeparator);
- if (keyEle != null && keyEle.length == 3) {
-
- int permFor =
Integer.parseInt(keyEle[1]);
- int ugId = Integer.parseInt(keyEle[2]);
- scPermMap.addParam("resourceId", resId);
- scPermMap.addParam("permFor", permFor);
-
- if (permFor ==
AppConstants.XA_PERM_FOR_GROUP) {
- scPermMap.addParam("groupId",
ugId);
- } else if (permFor ==
AppConstants.XA_PERM_FOR_USER) {
- scPermMap.addParam("userId",
ugId);
- }
-
- VXPermMapList permList = xPermMapService
-
.searchXPermMaps(scPermMap);
- for (VXPermMap vXPerm :
permList.getVXPermMaps()) {
- vXPerm.setPermGroup(permGrp);
-
xPermMapService.updateResource(vXPerm);
- updatedPermMapList.add(vXPerm);
- }
- } else {
- logger.info("variable : keyEle, should
fulfill the checked"
- + " condition, but its
not fulfilling required "
- + "condition. Ignoring
appropriate permMap from"
- + " updating permGroup.
Key : " + key
- + "Resource Id : " +
resId);
- }
- }
- }
- return updatedPermMapList;
- }
-
- private boolean compareTwoListElements(List<?> list1, List<?> list2) {
- if (list1 == null || list2 == null) {
- return false;
- }
- if (list1.size() != list2.size()) {
- return false;
- }
- int listSize = list1.size();
- for (int i = 0; i < listSize; i++) {
- Object obj1 = list1.get(i);
- if (!list2.contains(obj1)) {
- return false;
- }
- }
- return true;
- }
-
- public int getResourceType(VXDataObject vObj) {
- int resourceType = AppConstants.RESOURCE_PATH;
- if (vObj == null) {
- return resourceType;
- }
-
- VXPolicy vXPolicy = null;
- VXResource vXResource = null;
- if (vObj instanceof VXPolicy) {
- vXPolicy = (VXPolicy) vObj;
- } else if (vObj instanceof VXResource) {
- vXResource = (VXResource) vObj;
- } else {
- return resourceType;
- }
-
- String databases = null;
- String tables = null;
- String columns = null;
- String udfs = null;
- String columnFamilies = null;
- String topologies = null;
- String services = null;
-
- if (vXPolicy != null) {
- databases = vXPolicy.getDatabases();
- tables = vXPolicy.getTables();
- columns = vXPolicy.getColumns();
- udfs = vXPolicy.getUdfs();
- columnFamilies = vXPolicy.getColumnFamilies();
- topologies = vXPolicy.getTopologies();
- services = vXPolicy.getServices();
- } else if (vXResource != null) {
- databases = vXResource.getDatabases();
- tables = vXResource.getTables();
- columns = vXResource.getColumns();
- udfs = vXResource.getUdfs();
- columnFamilies = vXResource.getColumnFamilies();
- topologies = vXResource.getTopologies();
- services = vXResource.getServices();
- }
-
- if (!stringUtil.isEmpty(databases)) {
- resourceType = AppConstants.RESOURCE_DB;
- if (!stringUtil.isEmptyOrWildcardAsterisk(tables)) {
- resourceType = AppConstants.RESOURCE_TABLE;
- }
- if (!stringUtil.isEmptyOrWildcardAsterisk(columns)) {
- resourceType = AppConstants.RESOURCE_COLUMN;
- }
- if (!stringUtil.isEmpty(udfs)) {
- resourceType = AppConstants.RESOURCE_UDF;
- }
- } else if (!stringUtil.isEmpty(tables)) {
- resourceType = AppConstants.RESOURCE_TABLE;
- if
(!stringUtil.isEmptyOrWildcardAsterisk(columnFamilies)) {
- resourceType = AppConstants.RESOURCE_COL_FAM;
- }
- if (!stringUtil.isEmptyOrWildcardAsterisk(columns)) {
- resourceType = AppConstants.RESOURCE_COLUMN;
- }
- } else if (!stringUtil.isEmpty(topologies)) {
- resourceType = AppConstants.RESOURCE_TOPOLOGY;
- if (!stringUtil.isEmptyOrWildcardAsterisk(services)) {
- resourceType =
AppConstants.RESOURCE_SERVICE_NAME;
- }
- }
- return resourceType;
- }
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/service/XRepositoryService.java
b/security-admin/src/main/java/org/apache/ranger/service/XRepositoryService.java
deleted file mode 100644
index 58b6d72c1..000000000
---
a/security-admin/src/main/java/org/apache/ranger/service/XRepositoryService.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.ranger.service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.ranger.common.AppConstants;
-import org.apache.ranger.common.MessageEnums;
-import org.apache.ranger.common.PropertiesUtil;
-import org.apache.ranger.common.RESTErrorUtil;
-import org.apache.ranger.common.RangerCommonEnums;
-import org.apache.ranger.common.SearchCriteria;
-import org.apache.ranger.view.VXAsset;
-import org.apache.ranger.view.VXAssetList;
-import org.apache.ranger.view.VXRepository;
-import org.apache.ranger.view.VXRepositoryList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class XRepositoryService extends
- PublicAPIServiceBase<VXAsset, VXRepository> {
-
- @Autowired
- RESTErrorUtil restErrorUtil;
-
- String version;
-
- public XRepositoryService() {
- version = PropertiesUtil.getProperty("maven.project.version",
"");
- }
-
- public VXRepository mapXAToPublicObject(VXAsset vXAsset) {
- VXRepository vRepo = new VXRepository();
- vRepo = super.mapBaseAttributesToPublicObject(vXAsset, vRepo);
-
- vRepo.setName(vXAsset.getName());
- vRepo.setDescription(vXAsset.getDescription());
-
vRepo.setRepositoryType(AppConstants.getLabelFor_AssetType(vXAsset
- .getAssetType()));
- vRepo.setConfig(vXAsset.getConfig());
-
- int actStatus = vXAsset.getActiveStatus();
- boolean isAct = (actStatus ==
RangerCommonEnums.STATUS_DISABLED) ? false
- : true;
-
- vRepo.setIsActive(isAct);
- vRepo.setVersion(version);
-
- return vRepo;
- }
-
- public VXAsset mapPublicToXAObject(VXRepository vXRepo) {
-
- VXAsset vXAsset = new VXAsset();
- vXAsset = super.mapBaseAttributesToXAObject(vXRepo, vXAsset);
-
- vXAsset.setName(vXRepo.getName());
- vXAsset.setDescription(vXRepo.getDescription());
- vXAsset.setAssetType(AppConstants.getEnumFor_AssetType(vXRepo
- .getRepositoryType()));
- vXAsset.setConfig(vXRepo.getConfig());
-
- int actStatus = (!vXRepo.getIsActive()) ?
RangerCommonEnums.STATUS_DISABLED
- : RangerCommonEnums.STATUS_ENABLED;
-
- vXAsset.setActiveStatus(actStatus);
-
- return vXAsset;
- }
-
- public SearchCriteria getMappedSearchParams(HttpServletRequest request,
- SearchCriteria searchCriteria) {
-
- Object typeObj = searchCriteria.getParamValue("type");
- Object statusObj = searchCriteria.getParamValue("status");
-
- ArrayList<Integer> statusList = new ArrayList<Integer>();
- if (statusObj == null) {
- statusList.add(RangerCommonEnums.STATUS_DISABLED);
- statusList.add(RangerCommonEnums.STATUS_ENABLED);
- } else {
- Boolean status = restErrorUtil.parseBoolean(
- request.getParameter("status"),
"Invalid value for "
- + "status",
MessageEnums.INVALID_INPUT_DATA, null,
- "status");
- int statusEnum = (status == null || status == false) ?
AppConstants.STATUS_DISABLED
- : AppConstants.STATUS_ENABLED;
- statusList.add(statusEnum);
- }
- searchCriteria.addParam("status", statusList);
-
- if (typeObj != null) {
- String type = typeObj.toString();
- int typeEnum = AppConstants.getEnumFor_AssetType(type);
- searchCriteria.addParam("type", typeEnum);
- }
- return searchCriteria;
- }
-
- public VXRepositoryList mapToVXRepositoryList(VXAssetList vXAssetList) {
-
- List<VXRepository> repoList = new ArrayList<VXRepository>();
- for (VXAsset vXAsset : vXAssetList.getVXAssets()) {
- VXRepository vXRepo = mapXAToPublicObject(vXAsset);
- repoList.add(vXRepo);
- }
- VXRepositoryList vXRepositoryList = new
VXRepositoryList(repoList);
- return vXRepositoryList;
- }
-
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
b/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
deleted file mode 100644
index f8ee58fc9..000000000
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPermObjList.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- package org.apache.ranger.view;
-
-
-/**
- * List wrapper class for VXPermObj
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ranger.common.view.VList;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility =
Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class VXPermObjList extends VList {
- private static final long serialVersionUID = 1L;
- List<VXPermObj> vXPermObjs = new ArrayList<VXPermObj>();
-
- public VXPermObjList() {
- super();
- }
-
- public VXPermObjList(List<VXPermObj> objList) {
- super(objList);
- this.vXPermObjs = objList;
- }
-
- /**
- * @return the vXPermObjs
- */
- @JsonProperty("vXPermObjs")
- public List<VXPermObj> getVXPermObjs() {
- return vXPermObjs;
- }
-
- /**
- * @param vXPermObjs
- * the vXPermObjs to set
- */
- @JsonProperty("vXPermObjs")
- public void setVXPermObjs(List<VXPermObj> vXPermObjs) {
- this.vXPermObjs = vXPermObjs;
- }
-
- @Override
- public int getListSize() {
- if (vXPermObjs != null) {
- return vXPermObjs.size();
- }
- return 0;
- }
-
- @Override
- public List<VXPermObj> getList() {
- return vXPermObjs;
- }
-
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
b/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
deleted file mode 100644
index f45516c27..000000000
--- a/security-admin/src/main/java/org/apache/ranger/view/VXPolicyList.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- package org.apache.ranger.view;
-
-
-/**
- * List wrapper class for VXPolicy
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ranger.common.view.VList;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility =
Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class VXPolicyList extends VList {
- private static final long serialVersionUID = 1L;
- List<VXPolicy> vXPolicies = new ArrayList<VXPolicy>();
-
- public VXPolicyList() {
- super();
- }
-
- public VXPolicyList(List<VXPolicy> objList) {
- super(objList);
- this.vXPolicies = objList;
- }
-
- /**
- * @return the vXPolicies
- */
- @JsonProperty("vXPolicies")
- public List<VXPolicy> getVXPolicies() {
- return vXPolicies;
- }
-
- /**
- * @param vXPolicies
- * the vXPolicies to set
- */
- @JsonProperty("vXPolicies")
- public void setVXPolicies(List<VXPolicy> vXPolicies) {
- this.vXPolicies = vXPolicies;
- }
-
- @Override
- public int getListSize() {
- if (vXPolicies != null) {
- return vXPolicies.size();
- }
- return 0;
- }
-
- @Override
- public List<VXPolicy> getList() {
- return vXPolicies;
- }
-
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
b/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
deleted file mode 100644
index 071b1af0e..000000000
--- a/security-admin/src/main/java/org/apache/ranger/view/VXRepository.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- package org.apache.ranger.view;
-
-
-/**
- * Repository
- */
-
-import org.apache.ranger.common.AppConstants;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility =
Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class VXRepository extends VXDataObject implements java.io.Serializable
{
- private static final long serialVersionUID = 1L;
-
- /**
- * Name
- */
- protected String name;
- /**
- * Description
- */
- protected String description;
- /**
- * Type of asset. i.e HDFS, HIVE, HBASE, KNOX
- */
- protected String repositoryType;
- /**
- * Config in json format
- */
- protected String config;
- /**
- * Status This attribute is of type boolean : true/false
- */
- protected boolean isActive;
- /**
- * Version No of Project
- */
- protected String version;
-
- /**
- * Default constructor. This will set all the attributes to default
value.
- */
- public VXRepository() {
- isActive = false;
- repositoryType = "";
-
- }
-
- /**
- * This method sets the value to the member attribute <b>name</b>. You
- * cannot set null to the attribute.
- *
- * @param name
- * Value to set member attribute <b>name</b>
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Returns the value for the member attribute <b>name</b>
- *
- * @return String - value of member attribute <b>name</b>.
- */
- public String getName() {
- return this.name;
- }
-
- /**
- * This method sets the value to the member attribute
<b>description</b>.
- * You cannot set null to the attribute.
- *
- * @param description
- * Value to set member attribute <b>description</b>
- */
- public void setDescription(String description) {
- this.description = description;
- }
-
- /**
- * Returns the value for the member attribute <b>description</b>
- *
- * @return String - value of member attribute <b>description</b>.
- */
- public String getDescription() {
- return this.description;
- }
-
- /**
- * This method sets the value to the member attribute
<b>repositoryType</b>.
- * You cannot set null to the attribute.
- *
- * @param repositoryType
- * Value to set member attribute <b>repositoryType</b>
- */
- public void setRepositoryType(String repositoryType) {
- this.repositoryType = repositoryType;
- }
-
- /**
- * Returns the value for the member attribute <b>repositoryType</b>
- *
- * @return String - value of member attribute <b>repositoryType</b>.
- */
- public String getRepositoryType() {
- return this.repositoryType;
- }
-
- /**
- * This method sets the value to the member attribute <b>config</b>. You
- * cannot set null to the attribute.
- *
- * @param config
- * Value to set member attribute <b>config</b>
- */
- public void setConfig(String config) {
- this.config = config;
- }
-
- /**
- * Returns the value for the member attribute <b>config</b>
- *
- * @return String - value of member attribute <b>config</b>.
- */
- public String getConfig() {
- return this.config;
- }
-
- /**
- * This method sets the value to the member attribute <b>isActive</b>.
You
- * cannot set null to the attribute.
- *
- * @param isActive
- * Value to set member attribute <b>isActive</b>
- */
- public void setIsActive(boolean isActive) {
- this.isActive = isActive;
- }
-
- /**
- * Returns the value for the member attribute <b>isActive</b>
- *
- * @return boolean - value of member attribute <b>isActive</b>.
- */
- public boolean getIsActive() {
- return this.isActive;
- }
-
- /**
- * Returns the value for the member attribute <b>version</b>
- *
- * @return String - value of member attribute <b>version</b>.
- */
- public String getVersion() {
- return version;
- }
-
- /**
- * This method sets the value to the member attribute <b>version</b>.
You
- * cannot set null to the attribute.
- *
- * @param version
- * Value to set member attribute <b>version</b>
- */
- public void setVersion(String version) {
- this.version = version;
- }
-
- @Override
- public int getMyClassType() {
- return AppConstants.CLASS_TYPE_XA_ASSET;
- }
-
- /**
- * This return the bean content in string format
- *
- * @return formatedStr
- */
- public String toString() {
- String str = "VXAsset={";
- str += super.toString();
- str += "name={" + name + "} ";
- str += "description={" + description + "} ";
- str += "isActive={" + isActive + "} ";
- str += "repositoryType={" + repositoryType + "} ";
- str += "config={" + config + "} ";
- str += "version={" + version + "} ";
- str += "}";
- return str;
- }
-}
diff --git
a/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
b/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
deleted file mode 100644
index 6e1b3af21..000000000
--- a/security-admin/src/main/java/org/apache/ranger/view/VXRepositoryList.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- package org.apache.ranger.view;
-
-
-/**
- * List wrapper class for VXRepository
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.ranger.common.view.VList;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonInclude;
-
-@JsonAutoDetect(getterVisibility = Visibility.NONE, setterVisibility =
Visibility.NONE, fieldVisibility = Visibility.ANY)
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class VXRepositoryList extends VList {
- private static final long serialVersionUID = 1L;
- List<VXRepository> vXRepositories = new ArrayList<VXRepository>();
-
- public VXRepositoryList() {
- super();
- }
-
- public VXRepositoryList(List<VXRepository> objList) {
- super(objList);
- this.vXRepositories = objList;
- }
-
- /**
- * @return the vXRepositories
- */
- @JsonProperty("vXRepositories")
- public List<VXRepository> getVXRepositories() {
- return vXRepositories;
- }
-
- /**
- * @param vXRepositories
- * the vXRepositories to set
- */
- @JsonProperty("vXRepositories")
- public void setVXRepositories(List<VXRepository> vXRepositories) {
- this.vXRepositories = vXRepositories;
- }
-
- @Override
- public int getListSize() {
- if (vXRepositories != null) {
- return vXRepositories.size();
- }
- return 0;
- }
-
- @Override
- public List<VXRepository> getList() {
- return vXRepositories;
- }
-
-}
diff --git
a/security-admin/src/test/java/org/apache/ranger/common/TestServiceUtil.java
b/security-admin/src/test/java/org/apache/ranger/common/TestServiceUtil.java
index 69ac2db9f..b1a24c7a1 100644
--- a/security-admin/src/test/java/org/apache/ranger/common/TestServiceUtil.java
+++ b/security-admin/src/test/java/org/apache/ranger/common/TestServiceUtil.java
@@ -45,7 +45,6 @@
import org.apache.ranger.view.VXPermMap;
import org.apache.ranger.view.VXPermObj;
import org.apache.ranger.view.VXPolicy;
-import org.apache.ranger.view.VXRepository;
import org.apache.ranger.view.VXResource;
import org.junit.Assert;
import org.junit.Test;
@@ -170,50 +169,6 @@ public void testToVXAsset(){
}
- @Test
- public void testToVXRepositoryForNull(){
- RangerService rangerService = null;
- VXRepository actualvXRepository =
serviceUtil.toVXRepository(rangerService);
- Assert.assertNull(actualvXRepository);
-
- }
-
- @Test
- public void testToVXRepository(){
- Map<String, String> map = new HashMap<String, String>();
- map.put("config", "hiveConfig");
- VXRepository expectedVXRepository = new VXRepository();
- expectedVXRepository.setRepositoryType("hive");
- expectedVXRepository.setName("hive");
- expectedVXRepository.setDescription("hive Description");
- expectedVXRepository.setIsActive(true);
- expectedVXRepository.setVersion("3");
-
- RangerService rangerService = new RangerService();
- rangerService.setId(1L);
- rangerService.setCreateTime(new Date());
- rangerService.setUpdateTime(new Date());
- rangerService.setCreatedBy("ranger");
- rangerService.setUpdatedBy("rangerAdmin");
- rangerService.setType("hive");
- rangerService.setName("hive");
- rangerService.setDescription("hive Description");
- rangerService.setIsEnabled(true);
- rangerService.setConfigs(map);
- rangerService.setVersion(3L);
-
-
Mockito.when(jsonUtil.readMapToString(map)).thenReturn("{config : hiveConfig}");
-
- VXRepository actualvXRepository =
serviceUtil.toVXRepository(rangerService);
- Assert.assertNotNull(actualvXRepository);
- Assert.assertEquals(actualvXRepository.getRepositoryType(),
expectedVXRepository.getRepositoryType());
- Assert.assertEquals(actualvXRepository.getName(),
expectedVXRepository.getName());
- Assert.assertEquals(actualvXRepository.getDescription(),
expectedVXRepository.getDescription());
- Assert.assertTrue(actualvXRepository.getIsActive());
- Assert.assertEquals(actualvXRepository.getVersion(),
expectedVXRepository.getVersion());
-
- }
-
@Test
public void testToRangerPolicyForNull(){
VXResource resource = null;
@@ -1497,117 +1452,6 @@ public void
testToVXResourceForStormTopologyAndVXPermMapListWithGroupList(){
}
- @Test
- public void testPublicObjecttoVXAsset(){
- Date date = new Date();
-
- VXAsset expectedVXAsset = new VXAsset();
- expectedVXAsset.setId(1L);
- expectedVXAsset.setCreateDate(date);
- expectedVXAsset.setUpdateDate(date);
- expectedVXAsset.setOwner("rangerAdmin");
- expectedVXAsset.setUpdatedBy("rangerAdmin");
- expectedVXAsset.setAssetType(3);
-
expectedVXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED);
- expectedVXAsset.setName("hive");
- expectedVXAsset.setDescription("hive description");
- expectedVXAsset.setConfig("/myConfig");
-
- VXRepository vXRepository = new VXRepository();
- vXRepository.setId(1L);
- vXRepository.setCreateDate(date);
- vXRepository.setUpdateDate(date);
- vXRepository.setOwner("rangerAdmin");
- vXRepository.setUpdatedBy("rangerAdmin");
- vXRepository.setRepositoryType("hive");
- vXRepository.setIsActive(true);
- vXRepository.setName("hive");
- vXRepository.setDescription("hive description");
- vXRepository.setConfig("/myConfig");
-
- VXAsset actualVXAsset =
serviceUtil.publicObjecttoVXAsset(vXRepository);
-
- Assert.assertNotNull(actualVXAsset);
- Assert.assertEquals(actualVXAsset.getActiveStatus(),
expectedVXAsset.getActiveStatus());
- Assert.assertEquals(actualVXAsset.getId(),
expectedVXAsset.getId());
- Assert.assertEquals(actualVXAsset.getName(),
expectedVXAsset.getName());
- Assert.assertEquals(actualVXAsset.getDescription(),
expectedVXAsset.getDescription());
- Assert.assertEquals(actualVXAsset.getCreateDate(),
expectedVXAsset.getCreateDate());
- Assert.assertEquals(actualVXAsset.getOwner(),
expectedVXAsset.getOwner());
- Assert.assertEquals(actualVXAsset.getAssetType() ,
expectedVXAsset.getAssetType());
- Assert.assertEquals(actualVXAsset.getConfig() ,
expectedVXAsset.getConfig());
-
-
-
- }
-
- @Test
- public void testVXAssetToPublicObject(){
-
- Date date = new Date();
-
- VXRepository expectedVXRepository = new VXRepository();
- expectedVXRepository.setId(1L);
- expectedVXRepository.setCreateDate(date);
- expectedVXRepository.setUpdateDate(date);
- expectedVXRepository.setOwner("rangerAdmin");
- expectedVXRepository.setUpdatedBy("rangerAdmin");
- expectedVXRepository.setRepositoryType("hive");
- expectedVXRepository.setIsActive(true);
- expectedVXRepository.setName("hive");
- expectedVXRepository.setDescription("hive description");
- expectedVXRepository.setConfig("/myConfig");
-
- VXAsset vXAsset = new VXAsset();
- vXAsset.setId(1L);
- vXAsset.setCreateDate(date);
- vXAsset.setUpdateDate(date);
- vXAsset.setOwner("rangerAdmin");
- vXAsset.setUpdatedBy("rangerAdmin");
- vXAsset.setAssetType(3);
- vXAsset.setActiveStatus(RangerCommonEnums.STATUS_ENABLED);
- vXAsset.setName("hive");
- vXAsset.setDescription("hive description");
- vXAsset.setConfig("/myConfig");
-
- VXRepository actualVXRepository =
serviceUtil.vXAssetToPublicObject(vXAsset);
-
- Assert.assertNotNull(actualVXRepository);
- Assert.assertEquals(expectedVXRepository.getId(),
actualVXRepository.getId());
- Assert.assertEquals(expectedVXRepository.getName(),
actualVXRepository.getName());
- Assert.assertEquals(expectedVXRepository.getDescription(),
actualVXRepository.getDescription());
- Assert.assertTrue(actualVXRepository.getIsActive());
- Assert.assertEquals(expectedVXRepository.getCreateDate(),
actualVXRepository.getCreateDate());
- Assert.assertEquals(expectedVXRepository.getOwner(),
actualVXRepository.getOwner());
- Assert.assertEquals(expectedVXRepository.getRepositoryType() ,
actualVXRepository.getRepositoryType());
- Assert.assertEquals(expectedVXRepository.getConfig() ,
actualVXRepository.getConfig());
-
- }
-
- @Test
- public void testGetMappedSearchParams(){
- ArrayList<Integer> statusList = new ArrayList<Integer>();
- statusList.add(RangerCommonEnums.STATUS_DISABLED);
- statusList.add(RangerCommonEnums.STATUS_ENABLED);
-
- SearchCriteria expectedSearchCriteria = new SearchCriteria();
- expectedSearchCriteria.addParam("status", statusList);
- expectedSearchCriteria.addParam("type", 3);
-
- SearchCriteria sc = new SearchCriteria();
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
-
- sc.addParam("status", null);
- sc.addParam("type", "hive");
-
- SearchCriteria actualSearchCriteria =
serviceUtil.getMappedSearchParams(request, sc);
-
- Assert.assertNotNull(actualSearchCriteria);
-
Assert.assertEquals(expectedSearchCriteria.getParamValue("type"),
actualSearchCriteria.getParamValue("type"));
-
Assert.assertEquals(expectedSearchCriteria.getParamValue("status"),
actualSearchCriteria.getParamValue("status"));
-
- }
-
@Test
public void testIsValidService() throws Exception{
RangerService rangerService = new RangerService();
@@ -1798,105 +1642,4 @@ public void testToGrantRevokeRequestForPermMapList()
throws Exception{
Assert.assertEquals(expectedGrantRevokeRequest.getResource(),
actualGrantRevokeRequest.getResource());
}
- @Test
- public void testToRangerPolicyForNullServiceAndNullVXPolicy(){
- VXPolicy vXPolicy = null;
- RangerService service = null;
-
- RangerPolicy actualRangerPolicy =
serviceUtil.toRangerPolicy(vXPolicy, service);
- Assert.assertNull(actualRangerPolicy);
- }
-
- @Test
- public void testToRangerPolicy(){
- Date date = new Date();
-
- List<String> userList = new ArrayList<String>();
- userList.add("rangerAdmin");
-
- List<String> groupList = new ArrayList<String>();
- groupList.add("rangerGroup");
-
- List<String> permObjList = new ArrayList<String>();
- permObjList.add("Admin");
-
- Map<String, RangerPolicyResource> resourceMap = new
HashMap<String, RangerPolicyResource>();
- List<String> valuesList = new ArrayList<String>();
- valuesList.add("resource");
-
- RangerPolicyResource rangerPolicyResource = new
RangerPolicyResource();
- rangerPolicyResource.setIsExcludes(false);
- rangerPolicyResource.setIsRecursive(true);
- rangerPolicyResource.setValues(valuesList);
-
- resourceMap.put("path", rangerPolicyResource);
-
- List<RangerPolicyItem> rangerPolicyItemList = new
ArrayList<RangerPolicy.RangerPolicyItem>();
- RangerPolicyItem rangerPolicyItem = new RangerPolicyItem();
- rangerPolicyItem.setUsers(userList);
- rangerPolicyItem.setGroups(groupList);
-
- List<RangerPolicyItemCondition> rangerPolicyItemConditionList
= new ArrayList<RangerPolicy.RangerPolicyItemCondition>();
- RangerPolicyItemCondition rangerPolicyItemCondition = new
RangerPolicyItemCondition();
- rangerPolicyItemCondition.setType("ipaddress");
- List<String> conditionValueList = new ArrayList<String>();
- conditionValueList.add("10.129.35.86");
- rangerPolicyItemCondition.setValues(conditionValueList);
- rangerPolicyItemConditionList.add(rangerPolicyItemCondition);
- rangerPolicyItem.setConditions(rangerPolicyItemConditionList);
- rangerPolicyItem.setDelegateAdmin(true);
-
- rangerPolicyItemList.add(rangerPolicyItem);
-
- RangerPolicy expectedRangerPolicy = new RangerPolicy();
- expectedRangerPolicy.setId(1L);
- expectedRangerPolicy.setName("hdfs");
- expectedRangerPolicy.setCreatedBy("rangerAdmin");
- expectedRangerPolicy.setCreateTime(date);
- expectedRangerPolicy.setDescription("hdfs policy description");
- expectedRangerPolicy.setIsAuditEnabled(true);
- expectedRangerPolicy.setResources(resourceMap);
- expectedRangerPolicy.setPolicyItems(rangerPolicyItemList);
-
- VXPolicy vXPolicy = new VXPolicy();
- vXPolicy.setId(1L);
- vXPolicy.setCreateDate(date);
- vXPolicy.setUpdateDate(date);
- vXPolicy.setOwner("rangerAdmin");
- vXPolicy.setUpdatedBy("rangerAdmin");
- vXPolicy.setPolicyName("hdfs");
- vXPolicy.setDescription("hdfs policy description");
- vXPolicy.setIsEnabled(true);
- vXPolicy.setIsAuditEnabled(true);
- vXPolicy.setIsRecursive(true);
- vXPolicy.setResourceName("resource");
-
- RangerService service = new RangerService();
- service.setId(1L);
- service.setName("hdfsService");
- service.setType("hdfs");
-
- List<VXPermObj> vXPermObjList = new ArrayList<VXPermObj>();
- VXPermObj vXPermObj = new VXPermObj();
- vXPermObj.setUserList(userList);
- vXPermObj.setGroupList(groupList);
- vXPermObj.setPermList(permObjList);
-
- vXPermObj.setIpAddress("10.129.35.86");
-
- vXPermObjList.add(vXPermObj);
-
- vXPolicy.setPermMapList(vXPermObjList);
-
- RangerPolicy actualRangerPolicy =
serviceUtil.toRangerPolicy(vXPolicy, service);
-
- Assert.assertNotNull(actualRangerPolicy);
- Assert.assertEquals(expectedRangerPolicy.getId(),
actualRangerPolicy.getId());
- Assert.assertEquals(expectedRangerPolicy.getName(),
actualRangerPolicy.getName());
- Assert.assertEquals(expectedRangerPolicy.getDescription(),
actualRangerPolicy.getDescription());
- Assert.assertEquals(expectedRangerPolicy.getCreatedBy(),
actualRangerPolicy.getCreatedBy());
- Assert.assertTrue(actualRangerPolicy.getIsAuditEnabled());
- Assert.assertEquals(expectedRangerPolicy.getResources(),
actualRangerPolicy.getResources());
- Assert.assertEquals(expectedRangerPolicy.getPolicyItems(),
actualRangerPolicy.getPolicyItems());
- }
}
diff --git
a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
b/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
deleted file mode 100644
index 19abca6d6..000000000
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestPublicAPIs.java
+++ /dev/null
@@ -1,490 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ranger.rest;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.ranger.common.ContextUtil;
-import org.apache.ranger.common.JSONUtil;
-import org.apache.ranger.common.RESTErrorUtil;
-import org.apache.ranger.common.RangerSearchUtil;
-import org.apache.ranger.common.ServiceUtil;
-import org.apache.ranger.common.UserSessionBase;
-import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.db.XXPolicyDao;
-import org.apache.ranger.db.XXServiceDao;
-import org.apache.ranger.entity.XXPolicy;
-import org.apache.ranger.entity.XXService;
-import org.apache.ranger.plugin.model.RangerPolicy;
-import org.apache.ranger.plugin.model.RangerService;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItem;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemCondition;
-import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyResource;
-import org.apache.ranger.plugin.util.SearchFilter;
-import org.apache.ranger.security.context.RangerContextHolder;
-import org.apache.ranger.security.context.RangerSecurityContext;
-import org.apache.ranger.service.RangerPolicyService;
-import org.apache.ranger.service.XAssetService;
-import org.apache.ranger.view.VXAsset;
-import org.apache.ranger.view.VXLong;
-import org.apache.ranger.view.VXPolicy;
-import org.apache.ranger.view.VXPolicyList;
-import org.apache.ranger.view.VXRepository;
-import org.apache.ranger.view.VXRepositoryList;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.FixMethodOrder;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.junit.runners.MethodSorters;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-@FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class TestPublicAPIs {
-
- private static Long Id = 8L;
-
- @InjectMocks
- PublicAPIs publicAPIs = new PublicAPIs();
-
- @Mock
- ServiceREST serviceREST;
-
- @Mock
- ServiceUtil serviceUtil;
-
- @Mock
- RESTErrorUtil restErrorUtil;
-
- @Mock
- JSONUtil jsonUtil;
-
- @Mock
- RangerDaoManager daoMgr;
-
- @Mock
- RangerSearchUtil searchUtil;
-
- @Mock
- XAssetService xAssetService;
-
- @Mock
- RangerPolicyService policyService;
-
- @Mock
- AssetREST assetREST;
-
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Before
- public void setup() throws Exception {
- RangerSecurityContext context = new RangerSecurityContext();
- context.setUserSession(new UserSessionBase());
- RangerContextHolder.setSecurityContext(context);
- UserSessionBase currentUserSession = ContextUtil
- .getCurrentUserSession();
- currentUserSession.setUserAdmin(true);
- }
-
- private RangerService rangerService() {
- Map<String, String> configs = new HashMap<String, String>();
- configs.put("username", "servicemgr");
- configs.put("password", "servicemgr");
- configs.put("namenode", "servicemgr");
- configs.put("hadoop.security.authorization", "No");
- configs.put("hadoop.security.authentication", "Simple");
- configs.put("hadoop.security.auth_to_local", "");
- configs.put("dfs.datanode.kerberos.principal", "");
- configs.put("dfs.namenode.kerberos.principal", "");
- configs.put("dfs.secondary.namenode.kerberos.principal", "");
- configs.put("hadoop.rpc.protection", "Privacy");
- configs.put("commonNameForCertificate", "");
-
- RangerService rangerService = new RangerService();
- rangerService.setId(Id);
- rangerService.setConfigs(configs);
- rangerService.setCreateTime(new Date());
- rangerService.setDescription("service policy");
- rangerService.setGuid("1427365526516_835_0");
- rangerService.setIsEnabled(true);
- rangerService.setName("HDFS_1");
- rangerService.setPolicyUpdateTime(new Date());
- rangerService.setType("1");
- rangerService.setUpdatedBy("Admin");
- rangerService.setUpdateTime(new Date());
-
- return rangerService;
- }
-
- private XXService xService() {
- XXService xService = new XXService();
- xService.setAddedByUserId(Id);
- xService.setCreateTime(new Date());
- xService.setDescription("Hdfs service");
- xService.setGuid("serviceguid");
- xService.setId(Id);
- xService.setIsEnabled(true);
- xService.setName("Hdfs");
- xService.setPolicyUpdateTime(new Date());
- xService.setPolicyVersion(1L);
- xService.setType(1L);
- xService.setUpdatedByUserId(Id);
- xService.setUpdateTime(new Date());
-
- return xService;
- }
-
- private VXRepository vXRepository(RangerService service) {
- VXRepository ret = new VXRepository();
- ret.setRepositoryType(service.getType());
- ret.setName(service.getName());
- ret.setDescription(service.getDescription());
- ret.setIsActive(service.getIsEnabled());
- ret.setConfig(jsonUtil.readMapToString(service.getConfigs()));
- //ret.setVersion(Long.toString(service.getVersion()));
- ret.setId(service.getId());
- ret.setCreateDate(service.getCreateTime());
- ret.setUpdateDate(service.getUpdateTime());
- ret.setOwner(service.getCreatedBy());
- ret.setUpdatedBy(service.getUpdatedBy());
-
- return ret;
- }
-
- private VXPolicy vXPolicy(RangerPolicy policy, RangerService service) {
- VXPolicy ret = new VXPolicy();
- ret.setPolicyName(StringUtils.trim(policy.getName()));
- ret.setDescription(policy.getDescription());
- ret.setRepositoryName(policy.getService());
- ret.setIsEnabled(policy.getIsEnabled() ? true : false);
- ret.setRepositoryType(service.getType());
- ret.setIsAuditEnabled(policy.getIsAuditEnabled());
- return ret;
- }
-
- private RangerPolicy rangerPolicy() {
- List<RangerPolicyItemAccess> accesses = new
ArrayList<RangerPolicyItemAccess>();
- List<String> users = new ArrayList<String>();
- List<String> groups = new ArrayList<String>();
- List<RangerPolicyItemCondition> conditions = new
ArrayList<RangerPolicyItemCondition>();
- List<RangerPolicyItem> policyItems = new
ArrayList<RangerPolicyItem>();
- RangerPolicyItem rangerPolicyItem = new RangerPolicyItem();
- rangerPolicyItem.setAccesses(accesses);
- rangerPolicyItem.setConditions(conditions);
- rangerPolicyItem.setGroups(groups);
- rangerPolicyItem.setUsers(users);
- rangerPolicyItem.setDelegateAdmin(false);
-
- policyItems.add(rangerPolicyItem);
-
- Map<String, RangerPolicyResource> policyResource = new
HashMap<String, RangerPolicyResource>();
- RangerPolicyResource rangerPolicyResource = new
RangerPolicyResource();
- rangerPolicyResource.setIsExcludes(true);
- rangerPolicyResource.setIsRecursive(true);
- rangerPolicyResource.setValue("1");
- rangerPolicyResource.setValues(users);
- policyResource.put("resource", rangerPolicyResource);
- RangerPolicy policy = new RangerPolicy();
- policy.setId(Id);
- policy.setCreateTime(new Date());
- policy.setDescription("policy");
- policy.setGuid("policyguid");
- policy.setIsEnabled(true);
- policy.setName("HDFS_1-1-20150316062453");
- policy.setUpdatedBy("Admin");
- policy.setUpdateTime(new Date());
- policy.setService("HDFS_1-1-20150316062453");
- policy.setIsAuditEnabled(true);
- policy.setPolicyItems(policyItems);
- policy.setResources(policyResource);
- policy.setService("HDFS_1");
-
- return policy;
- }
-
- private XXPolicy policy() {
- XXPolicy xxPolicy = new XXPolicy();
- xxPolicy.setId(Id);
- xxPolicy.setName("HDFS_1-1-20150316062453");
- xxPolicy.setAddedByUserId(Id);
- xxPolicy.setCreateTime(new Date());
- xxPolicy.setDescription("test");
- xxPolicy.setIsAuditEnabled(false);
- xxPolicy.setIsEnabled(false);
- xxPolicy.setService(1L);
- xxPolicy.setUpdatedByUserId(Id);
- xxPolicy.setUpdateTime(new Date());
- xxPolicy.setVersion(Id);
- return xxPolicy;
- }
-
- @Test
- public void test1getRepository() throws Exception {
- RangerService rangerService = rangerService();
- VXRepository vXRepository = vXRepository(rangerService);
-
Mockito.when(serviceREST.getService(rangerService.getId())).thenReturn(rangerService);
-
Mockito.when(serviceUtil.toVXRepository(rangerService)).thenReturn(vXRepository);
- VXRepository dbVXRepository = publicAPIs.getRepository(Id);
-
- Assert.assertNotNull(dbVXRepository);
- Assert.assertEquals(dbVXRepository, vXRepository);
- Assert.assertEquals(dbVXRepository.getId(),
- vXRepository.getId());
- Assert.assertEquals(dbVXRepository.getName(),
- vXRepository.getName());
- Mockito.verify(serviceREST).getService(Id);
- Mockito.verify(serviceUtil).toVXRepository(rangerService);
-
- }
-
- @Test
- public void test2createRepository() throws Exception {
- VXAsset vXAsset = new VXAsset();
- RangerService rangerService = rangerService();
- VXRepository vXRepository = vXRepository(rangerService);
-
Mockito.when(serviceUtil.publicObjecttoVXAsset(vXRepository)).thenReturn(vXAsset);
-
Mockito.when(serviceUtil.toRangerService(vXAsset)).thenReturn(rangerService);
-
Mockito.when(serviceREST.createService(rangerService)).thenReturn(rangerService);
-
Mockito.when(serviceUtil.toVXAsset(rangerService)).thenReturn(vXAsset);
-
Mockito.when(serviceUtil.vXAssetToPublicObject(vXAsset)).thenReturn(vXRepository);
- VXRepository dbVXRepository =
publicAPIs.createRepository(vXRepository);
-
- Assert.assertNotNull(dbVXRepository);
- Assert.assertEquals(dbVXRepository, vXRepository);
- Assert.assertEquals(dbVXRepository.getId(),
- vXRepository.getId());
- Assert.assertEquals(dbVXRepository.getName(),
- vXRepository.getName());
- Mockito.verify(serviceREST).createService(rangerService);
- Mockito.verify(serviceUtil).publicObjecttoVXAsset(vXRepository);
- Mockito.verify(serviceUtil).toRangerService(vXAsset);
- Mockito.verify(serviceUtil).toVXAsset(rangerService);
- Mockito.verify(serviceUtil).vXAssetToPublicObject(vXAsset);
- }
-
- @Test
- public void test3updateRepository() throws Exception {
- VXAsset vXAsset = new VXAsset();
- RangerService rangerService = rangerService();
- HttpServletRequest request = null;
- VXRepository vXRepository = vXRepository(rangerService);
- XXService xService = xService();
- XXServiceDao xServiceDao = Mockito.mock(XXServiceDao.class);
- Mockito.when(daoMgr.getXXService()).thenReturn(xServiceDao);
- Mockito.when(xServiceDao.getById(Id)).thenReturn(xService);
-
Mockito.when(serviceUtil.publicObjecttoVXAsset(vXRepository)).thenReturn(vXAsset);
-
Mockito.when(serviceUtil.toRangerService(vXAsset)).thenReturn(rangerService);
- Mockito.when(serviceREST.updateService(rangerService,
request)).thenReturn(rangerService);
-
Mockito.when(serviceUtil.toVXAsset(rangerService)).thenReturn(vXAsset);
-
Mockito.when(serviceUtil.vXAssetToPublicObject(vXAsset)).thenReturn(vXRepository);
- VXRepository dbVXRepository =
publicAPIs.updateRepository(vXRepository, Id);
-
- Assert.assertNotNull(dbVXRepository);
- Assert.assertEquals(dbVXRepository, vXRepository);
- Assert.assertEquals(dbVXRepository.getId(),
- vXRepository.getId());
- Assert.assertEquals(dbVXRepository.getName(),
- vXRepository.getName());
- Mockito.verify(serviceREST).updateService(rangerService,
request);
- Mockito.verify(serviceUtil).publicObjecttoVXAsset(vXRepository);
- Mockito.verify(serviceUtil).toRangerService(vXAsset);
- Mockito.verify(serviceUtil).toVXAsset(rangerService);
- Mockito.verify(serviceUtil).vXAssetToPublicObject(vXAsset);
- Mockito.verify(daoMgr).getXXService();
- }
-
- @Test
- public void test4deleteRepository() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
- Mockito.doNothing().when(serviceREST).deleteService(Id);
- publicAPIs.deleteRepository(Id, request);
- Mockito.verify(serviceREST).deleteService(Id);
- }
-
- @Test
- public void test5searchRepositories() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
- List<RangerService> services = new ArrayList<RangerService>();
- RangerService rangerService = rangerService();
- VXRepository vXRepository = vXRepository(rangerService);
- services.add(rangerService);
- SearchFilter filter = new SearchFilter();
- filter.setParam(SearchFilter.POLICY_NAME, "policyName");
- filter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
-
Mockito.when(searchUtil.getSearchFilterFromLegacyRequestForRepositorySearch(request,
xAssetService.sortFields)).thenReturn(filter);
-
Mockito.when(serviceREST.getServices(filter)).thenReturn(services);
-
Mockito.when(serviceUtil.toVXRepository(rangerService)).thenReturn(vXRepository);
- VXRepositoryList dbVXRepositoryList =
publicAPIs.searchRepositories(request);
- Assert.assertNotNull(dbVXRepositoryList);
- Assert.assertEquals(1, dbVXRepositoryList.getResultSize());
- Assert.assertEquals(vXRepository,
dbVXRepositoryList.getVXRepositories().get(0));
- Mockito.verify(serviceUtil).toVXRepository(rangerService);
- }
-
- @Test
- public void test6countRepositories() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
-
- VXLong resultExpected = new VXLong();
- resultExpected.setValue(4l);
-
-
Mockito.when(assetREST.countXAssets(request)).thenReturn(resultExpected);
-
- VXLong resultActual = publicAPIs.countRepositories(request);
-
- Assert.assertEquals(resultExpected.getValue(),
resultActual.getValue());
- Mockito.verify(assetREST).countXAssets(request);
- }
-
- @Test
- public void test7getPolicy() throws Exception {
- RangerPolicy policy = rangerPolicy();
- RangerService service = rangerService();
- VXPolicy vXPolicy = vXPolicy(policy, service);
-
Mockito.when(serviceREST.getPolicy(policy.getId())).thenReturn(policy);
-
Mockito.when(serviceREST.getServiceByName(policy.getService())).thenReturn(service);
- Mockito.when(serviceUtil.toVXPolicy(policy,
service)).thenReturn(vXPolicy);
- VXPolicy dbVXPolicy = publicAPIs.getPolicy(Id);
- Assert.assertNotNull(dbVXPolicy);
- Assert.assertEquals(dbVXPolicy, vXPolicy);
- Assert.assertEquals(dbVXPolicy.getPolicyName(),
vXPolicy.getPolicyName());
- Assert.assertEquals(dbVXPolicy.getRepositoryType(),
vXPolicy.getRepositoryType());
- Mockito.verify(serviceREST).getPolicy(Id);
-
Mockito.verify(serviceREST).getServiceByName(policy.getService());
- Mockito.verify(serviceUtil).toVXPolicy(policy, service);
- }
-
- @Test
- public void test8createPolicy() throws Exception {
- RangerPolicy policy = rangerPolicy();
- RangerService service = rangerService();
- VXPolicy vXPolicy = vXPolicy(policy, service);
-
Mockito.when(serviceREST.getServiceByName(vXPolicy.getRepositoryName())).thenReturn(service);
-
Mockito.when(serviceUtil.toRangerPolicy(vXPolicy,service)).thenReturn(policy);
- Mockito.when(serviceREST.createPolicy(policy,
null)).thenReturn(policy);
- Mockito.when(serviceUtil.toVXPolicy(policy,
service)).thenReturn(vXPolicy);
- VXPolicy dbVXPolicy = publicAPIs.createPolicy(vXPolicy);
- Assert.assertNotNull(dbVXPolicy);
- Assert.assertEquals(dbVXPolicy, vXPolicy);
- Assert.assertEquals(dbVXPolicy.getId(),
- vXPolicy.getId());
- Assert.assertEquals(dbVXPolicy.getRepositoryName(),
- vXPolicy.getRepositoryName());
- Mockito.verify(serviceREST).createPolicy(policy, null);
-
Mockito.verify(serviceREST).getServiceByName(vXPolicy.getRepositoryName());
- Mockito.verify(serviceUtil).toVXPolicy(policy, service);
- Mockito.verify(serviceUtil).toRangerPolicy(vXPolicy,service);
-
- }
-
- @Test
- public void test9updatePolicy() throws Exception {
- RangerPolicy policy = rangerPolicy();
- RangerService service = rangerService();
- VXPolicy vXPolicy = vXPolicy(policy, service);
- XXPolicyDao xXPolicyDao = Mockito.mock(XXPolicyDao.class);
- XXPolicy xXPolicy = policy();
- Mockito.when(daoMgr.getXXPolicy()).thenReturn(xXPolicyDao);
- Mockito.when(xXPolicyDao.getById(Id)).thenReturn(xXPolicy);
-
Mockito.when(serviceREST.getServiceByName(vXPolicy.getRepositoryName())).thenReturn(service);
-
Mockito.when(serviceUtil.toRangerPolicy(vXPolicy,service)).thenReturn(policy);
- Mockito.when(serviceREST.updatePolicy(policy,
Id)).thenReturn(policy);
- Mockito.when(serviceUtil.toVXPolicy(policy,
service)).thenReturn(vXPolicy);
- VXPolicy dbVXPolicy = publicAPIs.updatePolicy(vXPolicy, Id);
-
- Assert.assertNotNull(dbVXPolicy);
- Assert.assertEquals(dbVXPolicy, vXPolicy);
- Assert.assertEquals(dbVXPolicy.getId(),
- vXPolicy.getId());
- Assert.assertEquals(dbVXPolicy.getRepositoryName(),
- vXPolicy.getRepositoryName());
- Mockito.verify(serviceREST).updatePolicy(policy, Id);
-
Mockito.verify(serviceREST).getServiceByName(vXPolicy.getRepositoryName());
- Mockito.verify(serviceUtil).toVXPolicy(policy, service);
- Mockito.verify(serviceUtil).toRangerPolicy(vXPolicy,service);
- Mockito.verify(daoMgr).getXXPolicy();
- Mockito.verify(xXPolicyDao).getById(Id);
- }
-
- @Test
- public void test10deletePolicy() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
- Mockito.doNothing().when(serviceREST).deletePolicy(Id);
- publicAPIs.deletePolicy(Id, request);
- Mockito.verify(serviceREST).deletePolicy(Id);
- }
-
- @Test
- public void test11searchPolicies() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
- RangerService service = rangerService();
- RangerPolicy policy = rangerPolicy();
- List<RangerPolicy> policyList = new ArrayList<RangerPolicy>();
- policyList.add(policy);
- VXPolicy vXPolicy = vXPolicy(policy, service);
- List<VXPolicy> vXPolicies = new ArrayList<VXPolicy>();
- vXPolicies.add(vXPolicy);
- VXPolicyList vXPolicyList = new VXPolicyList(vXPolicies);
- SearchFilter filter = new SearchFilter();
- filter.setParam(SearchFilter.POLICY_NAME, "policyName");
- filter.setParam(SearchFilter.SERVICE_NAME, "serviceName");
- filter.setStartIndex(0);
- filter.setMaxRows(10);
-
Mockito.when(searchUtil.getSearchFilterFromLegacyRequest(request,
policyService.sortFields)).thenReturn(filter);
-
Mockito.when(serviceREST.getPolicies(filter)).thenReturn(policyList);
-
Mockito.when(serviceUtil.rangerPolicyListToPublic(policyList,filter)).thenReturn(vXPolicyList);
- VXPolicyList dbVXPolicyList =
publicAPIs.searchPolicies(request);
- Assert.assertNotNull(dbVXPolicyList);
- Assert.assertEquals(dbVXPolicyList.getResultSize(),
vXPolicyList.getResultSize());
-
Mockito.verify(searchUtil).getSearchFilterFromLegacyRequest(request,
policyService.sortFields);
- Mockito.verify(serviceREST).getPolicies(filter);
-
Mockito.verify(serviceUtil).rangerPolicyListToPublic(policyList,filter);
-
- }
-
- @Test
- public void test12countPolicies() throws Exception {
- HttpServletRequest request =
Mockito.mock(HttpServletRequest.class);
-
- VXLong resultExpected = new VXLong();
- resultExpected.setValue(6l);
-
-
Mockito.when(assetREST.countXResources(request)).thenReturn(resultExpected);
-
- VXLong resultActual = publicAPIs.countPolicies(request);
-
- Assert.assertEquals(resultExpected.getValue(),
resultActual.getValue());
- Mockito.verify(assetREST).countXResources(request);
- }
-
-}