You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2015/02/17 09:17:27 UTC
[54/55] [abbrv] incubator-ranger git commit: RANGER-203: handling of
legacy service-def (hdfs/hbase/hive/knox/storm) creation in the service store
during ranger-admin startup.
RANGER-203: handling of legacy service-def (hdfs/hbase/hive/knox/storm)
creation in the service store during ranger-admin startup.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/3471cc58
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/3471cc58
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/3471cc58
Branch: refs/heads/master
Commit: 3471cc5806a614efe55422ae0756b9e20777a5f3
Parents: 32af455
Author: Madhan Neethiraj <ma...@apache.org>
Authored: Sun Feb 15 10:37:52 2015 -0800
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Sun Feb 15 10:37:52 2015 -0800
----------------------------------------------------------------------
.../plugin/store/LegacyServiceDefsUtil.java | 164 +++++++++++++++++++
.../plugin/store/file/ServiceFileStore.java | 65 +-------
.../service-defs/ranger-servicedef-hdfs.json | 2 +-
.../org/apache/ranger/biz/ServiceDBStore.java | 134 ++++++++++++---
.../org/apache/ranger/common/ServiceUtil.java | 11 +-
5 files changed, 287 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3471cc58/agents-common/src/main/java/org/apache/ranger/plugin/store/LegacyServiceDefsUtil.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/LegacyServiceDefsUtil.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/LegacyServiceDefsUtil.java
new file mode 100644
index 0000000..491e1e9
--- /dev/null
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/LegacyServiceDefsUtil.java
@@ -0,0 +1,164 @@
+/*
+ * 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.plugin.store;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ranger.authorization.hadoop.config.RangerConfiguration;
+import org.apache.ranger.plugin.model.RangerServiceDef;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+/*
+ * This utility class deals with service-def for legacy services hdfs/hbase/hive/knox/storm.
+ * If any of service-defs don't exist in the given service store, they will be created in
+ * the store using the definitions embedded in ranger-plugins-common.jar.
+ *
+ * init() method should be called from ServiceStore implementations to initialize legacy service-defs.
+ */
+public class LegacyServiceDefsUtil {
+ private static final Log LOG = LogFactory.getLog(LegacyServiceDefsUtil.class);
+
+
+ public static final String LEGACY_SERVICEDEF_HDFS_NAME = "hdfs";
+ public static final String LEGACY_SERVICEDEF_HBASE_NAME = "hbase";
+ public static final String LEGACY_SERVICEDEF_HIVE_NAME = "hive";
+ public static final String LEGACY_SERVICEDEF_KNOX_NAME = "knox";
+ public static final String LEGACY_SERVICEDEF_STORM_NAME = "storm";
+ public static final String PROPERTY_CREATE_LEGACY_SERVICE_DEFS = "ranger.service.store.create.legacy.service-defs";
+
+ private static LegacyServiceDefsUtil instance = new LegacyServiceDefsUtil();
+
+ private boolean createLegacyServiceDefs = true;
+ private RangerServiceDef hdfsServiceDef = null;
+ private RangerServiceDef hBaseServiceDef = null;
+ private RangerServiceDef hiveServiceDef = null;
+ private RangerServiceDef knoxServiceDef = null;
+ private RangerServiceDef stormServiceDef = null;
+
+ private Gson gsonBuilder = null;
+
+
+ /* private constructor to restrict instantiation of this singleton utility class */
+ private LegacyServiceDefsUtil() {
+ }
+
+ public static LegacyServiceDefsUtil instance() {
+ return instance;
+ }
+
+ public void init(ServiceStore store) {
+ LOG.info("==> LegacyServiceDefsUtil.init()");
+
+ try {
+ createLegacyServiceDefs = RangerConfiguration.getInstance().getBoolean(PROPERTY_CREATE_LEGACY_SERVICE_DEFS, true);
+
+ gsonBuilder = new GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").setPrettyPrinting().create();
+
+ hdfsServiceDef = getOrCreateServiceDef(store, LEGACY_SERVICEDEF_HDFS_NAME);
+ hBaseServiceDef = getOrCreateServiceDef(store, LEGACY_SERVICEDEF_HBASE_NAME);
+ hiveServiceDef = getOrCreateServiceDef(store, LEGACY_SERVICEDEF_HIVE_NAME);
+ knoxServiceDef = getOrCreateServiceDef(store, LEGACY_SERVICEDEF_KNOX_NAME);
+ stormServiceDef = getOrCreateServiceDef(store, LEGACY_SERVICEDEF_STORM_NAME);
+ } catch(Throwable excp) {
+ LOG.fatal("LegacyServiceDefsUtil.init(): failed", excp);
+ }
+
+
+ LOG.info("<== LegacyServiceDefsUtil.init()");
+ }
+
+ public long getHdfsServiceDefId() {
+ return getId(hdfsServiceDef);
+ }
+
+ public long getHBaseServiceDefId() {
+ return getId(hBaseServiceDef);
+ }
+
+ public long getHiveServiceDefId() {
+ return getId(hiveServiceDef);
+ }
+
+ public long getKnoxServiceDefId() {
+ return getId(knoxServiceDef);
+ }
+
+ public long getStormServiceDefId() {
+ return getId(stormServiceDef);
+ }
+
+
+ private long getId(RangerServiceDef serviceDef) {
+ return serviceDef == null || serviceDef.getId() == null ? -1 : serviceDef.getId().longValue();
+ }
+
+ private RangerServiceDef getOrCreateServiceDef(ServiceStore store, String serviceDefName) {
+ if(LOG.isDebugEnabled()) {
+ LOG.debug("==> LegacyServiceDefsUtil.getOrCreateServiceDef(" + serviceDefName + ")");
+ }
+
+ RangerServiceDef ret = null;
+
+ try {
+ ret = store.getServiceDefByName(serviceDefName);
+ if(ret == null && createLegacyServiceDefs) {
+ ret = loadLegacyServiceDef(serviceDefName);
+
+ LOG.info("creating legacy service-def " + serviceDefName);
+ store.createServiceDef(ret);
+ }
+ } catch(Exception excp) {
+ LOG.fatal("LegacyServiceDefsUtil.getOrCreateServiceDef(): failed to load/create serviceType " + serviceDefName, excp);
+ }
+
+ if(LOG.isDebugEnabled()) {
+ LOG.debug("<== LegacyServiceDefsUtil.getOrCreateServiceDef(" + serviceDefName + "): " + ret);
+ }
+
+ return ret;
+ }
+
+ private RangerServiceDef loadLegacyServiceDef(String serviceType) throws Exception {
+ if(LOG.isDebugEnabled()) {
+ LOG.debug("==> LegacyServiceDefsUtil.loadLegacyServiceDef(" + serviceType + ")");
+ }
+
+ RangerServiceDef ret = null;
+
+ String resource = "/service-defs/ranger-servicedef-" + serviceType + ".json";
+
+ InputStream inStream = getClass().getResourceAsStream(resource);
+
+ InputStreamReader reader = new InputStreamReader(inStream);
+
+ ret = gsonBuilder.fromJson(reader, RangerServiceDef.class);
+
+ if(LOG.isDebugEnabled()) {
+ LOG.debug("==> LegacyServiceDefsUtil.loadLegacyServiceDef(" + serviceType + ")");
+ }
+
+ return ret;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3471cc58/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
index 01b53f2..bbde42d 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/file/ServiceFileStore.java
@@ -45,6 +45,7 @@ import org.apache.ranger.plugin.model.RangerService;
import org.apache.ranger.plugin.model.RangerServiceDef;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
import org.apache.ranger.plugin.resourcematcher.RangerAbstractResourceMatcher;
+import org.apache.ranger.plugin.store.LegacyServiceDefsUtil;
import org.apache.ranger.plugin.store.ServiceStore;
import org.apache.ranger.plugin.util.SearchFilter;
import org.apache.ranger.plugin.util.ServicePolicies;
@@ -60,16 +61,6 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
private long nextServiceId = 0;
private long nextPolicyId = 0;
- static Map<String, Long> legacyServiceDefs = new HashMap<String, Long>();
-
- static {
- legacyServiceDefs.put("hdfs", new Long(1));
- legacyServiceDefs.put("hbase", new Long(2));
- legacyServiceDefs.put("hive", new Long(3));
- legacyServiceDefs.put("knox", new Long(5));
- legacyServiceDefs.put("storm", new Long(6));
- }
-
public ServiceFileStore() {
if(LOG.isDebugEnabled()) {
LOG.debug("==> ServiceFileStore.ServiceFileStore()");
@@ -102,6 +93,8 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
super.initStore(dataDir);
+ LegacyServiceDefsUtil.instance().init(this);
+
if(LOG.isDebugEnabled()) {
LOG.debug("<== ServiceFileStore.init()");
}
@@ -154,14 +147,6 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
throw new Exception(serviceDef.getId() + ": service-def does not exist");
}
- if(isLegacyServiceDef(existing)) {
- String msg = existing.getName() + ": is an in-built service-def. Update not allowed";
-
- LOG.warn(msg);
-
- throw new Exception(msg);
- }
-
String existingName = existing.getName();
boolean renamed = !StringUtils.equalsIgnoreCase(serviceDef.getName(), existingName);
@@ -208,14 +193,6 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
throw new Exception("service-def does not exist. id=" + id);
}
- if(isLegacyServiceDef(existing)) {
- String msg = existing.getName() + ": is an in-built service-def. Update not allowed";
-
- LOG.warn(msg);
-
- throw new Exception(msg);
- }
-
// TODO: deleting service-def would require deleting services that refer to this service-def
try {
@@ -853,18 +830,6 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
return ret;
}
- private boolean isLegacyServiceDef(RangerServiceDef sd) {
- return sd == null ? false : (isLegacyServiceDef(sd.getName()) || isLegacyServiceDef(sd.getId()));
- }
-
- private boolean isLegacyServiceDef(String name) {
- return name == null ? false : legacyServiceDefs.containsKey(name);
- }
-
- private boolean isLegacyServiceDef(Long id) {
- return id == null ? false : legacyServiceDefs.containsValue(id);
- }
-
private List<RangerServiceDef> getAllServiceDefs() throws Exception {
if(LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDefFileStore.getAllServiceDefs()");
@@ -873,36 +838,12 @@ public class ServiceFileStore extends BaseFileStore implements ServiceStore {
List<RangerServiceDef> ret = new ArrayList<RangerServiceDef>();
try {
- // load definitions for legacy services from embedded resources
- String[] legacyServiceDefResources = {
- "/service-defs/ranger-servicedef-hdfs.json",
- "/service-defs/ranger-servicedef-hive.json",
- "/service-defs/ranger-servicedef-hbase.json",
- "/service-defs/ranger-servicedef-knox.json",
- "/service-defs/ranger-servicedef-storm.json",
- };
-
- for(String resource : legacyServiceDefResources) {
- RangerServiceDef sd = loadFromResource(resource, RangerServiceDef.class);
-
- if(sd != null) {
- ret.add(sd);
- }
- }
- nextServiceDefId = getMaxId(ret) + 1;
-
// load service definitions from file system
List<RangerServiceDef> sds = loadFromDir(new Path(getDataDir()), FILE_PREFIX_SERVICE_DEF, RangerServiceDef.class);
if(sds != null) {
for(RangerServiceDef sd : sds) {
if(sd != null) {
- if(isLegacyServiceDef(sd)) {
- LOG.warn("Found in-built service-def '" + sd.getName() + "' under " + getDataDir() + ". Ignorning");
-
- continue;
- }
-
// if the ServiceDef is already found, remove the earlier definition
for(int i = 0; i < ret.size(); i++) {
RangerServiceDef currSd = ret.get(i);
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3471cc58/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
----------------------------------------------------------------------
diff --git a/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json b/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
index 56160d9..67583ed 100755
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-hdfs.json
@@ -28,7 +28,7 @@
{"name":"privacy", "label":"Privacy"}
],
"defaultIndex":0
- },
+ }
],
"configs":
[
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3471cc58/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 47add30..3673a30 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -10,6 +10,8 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import javax.annotation.PostConstruct;
+
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
@@ -72,6 +74,7 @@ import org.apache.ranger.plugin.model.RangerServiceDef.RangerEnumElementDef;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerPolicyConditionDef;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef;
import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef;
+import org.apache.ranger.plugin.store.LegacyServiceDefsUtil;
import org.apache.ranger.plugin.store.ServiceStore;
import org.apache.ranger.plugin.util.ServicePolicies;
import org.apache.ranger.service.RangerAuditFields;
@@ -82,7 +85,12 @@ import org.apache.ranger.service.RangerServiceService;
import org.apache.ranger.service.XUserService;
import org.apache.ranger.view.VXUser;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.support.TransactionCallback;
+import org.springframework.transaction.support.TransactionTemplate;
import org.apache.ranger.plugin.util.SearchFilter;
@@ -119,32 +127,62 @@ public class ServiceDBStore implements ServiceStore {
@Autowired
RangerDataHistService dataHistService;
-
- static Map<String, Long> legacyServiceDefs = new HashMap<String, Long>();
-
- static {
- legacyServiceDefs.put("hdfs", new Long(1));
- legacyServiceDefs.put("hbase", new Long(2));
- legacyServiceDefs.put("hive", new Long(3));
- legacyServiceDefs.put("knox", new Long(5));
- legacyServiceDefs.put("storm", new Long(6));
- }
-
+ @Autowired
+ @Qualifier(value = "transactionManager")
+ PlatformTransactionManager txManager;
+
+ private static volatile boolean legacyServiceDefsInitDone = false;
+
@Override
public void init() throws Exception {
if (LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDefDBStore.init()");
}
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.init()");
+ }
}
+ @PostConstruct
+ public void initStore() {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("==> ServiceDefDBStore.initStore()");
+ }
+
+ if(! legacyServiceDefsInitDone) {
+ synchronized(ServiceDBStore.class) {
+ if(!legacyServiceDefsInitDone) {
+ TransactionTemplate txTemplate = new TransactionTemplate(txManager);
+
+ final ServiceDBStore dbStore = this;
+
+ txTemplate.execute(new TransactionCallback<Object>() {
+ @Override
+ public Object doInTransaction(TransactionStatus status) {
+ LegacyServiceDefsUtil.instance().init(dbStore);
+
+ return null;
+ }
+ });
+
+ legacyServiceDefsInitDone = true;
+ }
+ }
+ }
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.initStore()");
+ }
+ }
@Override
- public RangerServiceDef createServiceDef(RangerServiceDef serviceDef)
- throws Exception {
+ public RangerServiceDef createServiceDef(RangerServiceDef serviceDef) throws Exception {
if (LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDefDBStore.createServiceDef(" + serviceDef + ")");
}
+
XXServiceDef xServiceDef = daoMgr.getXXServiceDef().findByName(
serviceDef.getName());
if (xServiceDef != null) {
@@ -158,6 +196,11 @@ public class ServiceDBStore implements ServiceStore {
List<RangerAccessTypeDef> accessTypes = serviceDef.getAccessTypes();
List<RangerPolicyConditionDef> policyConditions = serviceDef.getPolicyConditions();
List<RangerEnumDef> enums = serviceDef.getEnums();
+
+ // following fields will be auto populated
+ serviceDef.setId(null);
+ serviceDef.setCreateTime(null);
+ serviceDef.setUpdateTime(null);
serviceDef = serviceDefService.create(serviceDef);
Long serviceDefId = serviceDef.getId();
@@ -222,6 +265,11 @@ public class ServiceDBStore implements ServiceStore {
}
RangerServiceDef createdServiceDef = serviceDefService.getPopulatedViewObject(createdSvcDef);
dataHistService.createObjectDataHistory(createdServiceDef, RangerDataHistService.ACTION_CREATE);
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.createServiceDef(" + serviceDef + "): " + createdServiceDef);
+ }
+
return createdServiceDef;
}
@@ -231,12 +279,29 @@ public class ServiceDBStore implements ServiceStore {
if (LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDefDBStore.updateServiceDef(" + serviceDef + ")");
}
- return null;
+
+ RangerServiceDef ret = null;
+
+ // TODO: updateServiceDef()
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.updateServiceDef(" + serviceDef + "): " + ret);
+ }
+
+ return ret;
}
@Override
public void deleteServiceDef(Long servceId) throws Exception {
-
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("==> ServiceDefDBStore.deleteServiceDef(" + servceId + ")");
+ }
+
+ // TODO: updateServiceDef()
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.deleteServiceDef(" + servceId + ")");
+ }
}
@Override
@@ -244,7 +309,16 @@ public class ServiceDBStore implements ServiceStore {
if (LOG.isDebugEnabled()) {
LOG.debug("==> ServiceDefDBStore.getServiceDef(" + id + ")");
}
- return serviceDefService.read(id);
+
+ RangerServiceDef ret = null;
+
+ ret = serviceDefService.read(id);
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceDefDBStore.getServiceDef(" + id + "): " + ret);
+ }
+
+ return ret;
}
@Override
@@ -253,18 +327,36 @@ public class ServiceDBStore implements ServiceStore {
LOG.debug("==> ServiceDefDBStore.getServiceDefByName(" + name + ")");
}
+ RangerServiceDef ret = null;
+
XXServiceDef xServiceDef = daoMgr.getXXServiceDef().findByName(name);
- return serviceDefService.getPopulatedViewObject(xServiceDef);
+
+ if(xServiceDef != null) {
+ serviceDefService.getPopulatedViewObject(xServiceDef);
+ }
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("== ServiceDefDBStore.getServiceDefByName(" + name + "): " + ret);
+ }
+
+ return ret;
}
@Override
public List<RangerServiceDef> getServiceDefs(SearchFilter filter) throws Exception {
if(LOG.isDebugEnabled()) {
- LOG.debug("==> ServiceDBStore.getServiceDefs()");
+ LOG.debug("==> ServiceDBStore.getServiceDefs(" + filter + ")");
+ }
+
+ List<RangerServiceDef> ret = null;
+
+ ret = serviceDefService.getServiceDefs(filter);
+
+ if(LOG.isDebugEnabled()) {
+ LOG.debug("==> ServiceDBStore.getServiceDefs(" + filter + "): " + ret);
}
- List<RangerServiceDef> serviceDefList = serviceDefService.getServiceDefs(filter);
- return serviceDefList;
+ return ret;
}
@Override
@@ -460,7 +552,7 @@ public class ServiceDBStore implements ServiceStore {
LOG.debug("==> ServiceDBStore.getServiceByName()");
}
XXService xService = daoMgr.getXXService().findByName(name);
- return svcService.getPopulatedViewObject(xService);
+ return xService == null ? null : svcService.getPopulatedViewObject(xService);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3471cc58/security-admin/src/main/java/org/apache/ranger/common/ServiceUtil.java
----------------------------------------------------------------------
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 5bb624f..1e8b8af 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
@@ -34,6 +34,7 @@ import org.apache.ranger.plugin.model.RangerBaseModelObject;
import org.apache.ranger.plugin.model.RangerPolicy;
import org.apache.ranger.plugin.model.RangerPolicy.RangerPolicyItemAccess;
import org.apache.ranger.plugin.model.RangerService;
+import org.apache.ranger.plugin.store.LegacyServiceDefsUtil;
import org.apache.ranger.view.VXAsset;
import org.apache.ranger.view.VXAuditMap;
import org.apache.ranger.view.VXDataObject;
@@ -55,11 +56,11 @@ public class ServiceUtil {
RangerDaoManager xaDaoMgr;
static {
- mapServiceTypeToAssetType.put("hdfs", new Integer(RangerCommonEnums.ASSET_HDFS));
- mapServiceTypeToAssetType.put("hbase", new Integer(RangerCommonEnums.ASSET_HBASE));
- mapServiceTypeToAssetType.put("hive", new Integer(RangerCommonEnums.ASSET_HIVE));
- mapServiceTypeToAssetType.put("knox", new Integer(RangerCommonEnums.ASSET_KNOX));
- mapServiceTypeToAssetType.put("storm", new Integer(RangerCommonEnums.ASSET_STORM));
+ mapServiceTypeToAssetType.put(LegacyServiceDefsUtil.LEGACY_SERVICEDEF_HDFS_NAME, new Integer(RangerCommonEnums.ASSET_HDFS));
+ mapServiceTypeToAssetType.put(LegacyServiceDefsUtil.LEGACY_SERVICEDEF_HBASE_NAME, new Integer(RangerCommonEnums.ASSET_HBASE));
+ mapServiceTypeToAssetType.put(LegacyServiceDefsUtil.LEGACY_SERVICEDEF_HIVE_NAME, new Integer(RangerCommonEnums.ASSET_HIVE));
+ mapServiceTypeToAssetType.put(LegacyServiceDefsUtil.LEGACY_SERVICEDEF_KNOX_NAME, new Integer(RangerCommonEnums.ASSET_KNOX));
+ mapServiceTypeToAssetType.put(LegacyServiceDefsUtil.LEGACY_SERVICEDEF_STORM_NAME, new Integer(RangerCommonEnums.ASSET_STORM));
mapAccessTypeToPermType.put("Unknown", 0);
mapAccessTypeToPermType.put("Reset", 1);