Repository: incubator-ranger Updated Branches: refs/heads/stack 32af455bf -> f9791b467
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/stack Commit: 3471cc5806a614efe55422ae0756b9e20777a5f3 Parents: 32af455 Author: Madhan Neethiraj <[email protected]> Authored: Sun Feb 15 10:37:52 2015 -0800 Committer: Madhan Neethiraj <[email protected]> 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);
