Repository: incubator-ranger Updated Branches: refs/heads/master abea4ca39 -> 054a973df
Ranger-225: Ranger-LookupResource and ValidateConfig implementation for all components in the new pluggable model-DBStore implementation changes Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/054a973d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/054a973d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/054a973d Branch: refs/heads/master Commit: 054a973df9ff26ab01c0720792580b794d4927bb Parents: abea4ca Author: rmani <[email protected]> Authored: Mon Mar 2 16:08:21 2015 -0800 Committer: rmani <[email protected]> Committed: Tue Mar 3 13:46:59 2015 -0800 ---------------------------------------------------------------------- .../plugin/service/RangerBaseService.java | 42 +++++++++++++++-- .../services/hbase/RangerServiceHBase.java | 29 ++++++------ .../hbase/client/HBaseConnectionMgr.java | 14 +----- .../services/hbase/client/HBaseResourceMgr.java | 4 +- .../services/hbase/TestRangerServiceHBase.java | 1 - .../ranger/services/hdfs/RangerServiceHdfs.java | 23 ++++------ .../services/hdfs/client/HdfsConnectionMgr.java | 14 +----- .../services/hdfs/client/HdfsResourceMgr.java | 4 +- .../services/hdfs/TestRangerServiceHdfs.java | 1 - .../ranger/services/hive/RangerServiceHive.java | 22 ++++----- .../services/hive/client/HiveConnectionMgr.java | 14 +----- .../services/hive/client/HiveResourceMgr.java | 4 +- .../hive/client/TestRangerServiceHive.java | 1 - .../ranger/services/knox/RangerServiceKnox.java | 20 +++------ .../knox/client/TestRangerServiceKnox.java | 1 - .../java/org/apache/ranger/biz/ServiceMgr.java | 47 +++++++++++--------- .../org/apache/ranger/rest/ServiceREST.java | 4 +- .../services/storm/RangerServiceStorm.java | 19 +++----- 18 files changed, 122 insertions(+), 142 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java index e7b61db..ca78cf9 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java @@ -21,6 +21,7 @@ package org.apache.ranger.plugin.service; import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.ranger.plugin.model.RangerService; import org.apache.ranger.plugin.model.RangerServiceDef; @@ -29,11 +30,18 @@ import org.apache.ranger.plugin.model.RangerServiceDef; public abstract class RangerBaseService { private RangerServiceDef serviceDef; private RangerService service; - + + protected Map<String, String> configs; + protected String serviceName; + protected String serviceType; + public void init(RangerServiceDef serviceDef, RangerService service) { - this.serviceDef = serviceDef; - this.service = service; + this.serviceDef = serviceDef; + this.service = service; + this.configs = service.getConfigs(); + this.serviceName = service.getName(); + this.serviceType = service.getType(); } /** @@ -50,7 +58,35 @@ public abstract class RangerBaseService { return service; } + public Map<String, String> getConfigs() { + return configs; + } + + public void setConfigs(Map<String, String> configs) { + this.configs = configs; + } + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public String getServiceType() { + return serviceType; + } + + public void setServiceType(String serviceType) { + this.serviceType = serviceType; + } + public abstract HashMap<String, Object> validateConfig() throws Exception; public abstract List<String> lookupResource(ResourceLookupContext context) throws Exception; + + + + } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java ---------------------------------------------------------------------- diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java index fe53faf..ae79ca8 100644 --- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java +++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/RangerServiceHBase.java @@ -35,9 +35,6 @@ public class RangerServiceHBase extends RangerBaseService { private static final Log LOG = LogFactory.getLog(RangerServiceHBase.class); - Map<String, String> configs; - String service; - public RangerServiceHBase() { super(); } @@ -45,18 +42,20 @@ public class RangerServiceHBase extends RangerBaseService { @Override public void init(RangerServiceDef serviceDef, RangerService service) { super.init(serviceDef, service); - init(); } @Override public HashMap<String,Object> validateConfig() throws Exception { HashMap<String, Object> ret = new HashMap<String, Object>(); + + String serviceName = getServiceName(); + if(LOG.isDebugEnabled()) { - LOG.debug("==> RangerServiceHBase.validateConfig() Service: (" + service + " )"); + LOG.debug("==> RangerServiceHBase.validateConfig() Service: (" + serviceName + " )"); } if ( configs != null) { try { - ret = HBaseResourceMgr.testConnection(service, configs); + ret = HBaseResourceMgr.testConnection(serviceName, configs); } catch (Exception e) { LOG.error("<== RangerServiceHBase.validateConfig() Error:" + e); throw e; @@ -71,15 +70,18 @@ public class RangerServiceHBase extends RangerBaseService { @Override public List<String> lookupResource(ResourceLookupContext context) throws Exception { - List<String> ret = new ArrayList<String>(); - + List<String> ret = new ArrayList<String>(); + String serviceName = getServiceName(); + String serviceType = getServiceType(); + Map<String,String> configs = getConfigs(); + if(LOG.isDebugEnabled()) { - LOG.debug("==> RangerServiceHBase.lookupResource() Service : " + service + " Context: (" + context + ")"); + LOG.debug("==> RangerServiceHBase.lookupResource() Service : " + serviceName + " Context: (" + context + ")"); } if (context != null) { try { - ret = HBaseResourceMgr.getHBaseResource(service, configs,context); + ret = HBaseResourceMgr.getHBaseResource(serviceName,serviceType,configs,context); } catch (Exception e) { LOG.error( "<==RangerServiceHBase.lookupResource() Error : " + e); throw e; @@ -90,11 +92,6 @@ public class RangerServiceHBase extends RangerBaseService { } return ret; } - - public void init() { - service = getService().getName(); - configs = getService().getConfigs(); - } - + } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java ---------------------------------------------------------------------- diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java index 3797f45..88ea9ee 100644 --- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java +++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseConnectionMgr.java @@ -44,19 +44,9 @@ public class HBaseConnectionMgr { repoConnectStatusMap = new HashMap<String, Boolean>(); } - public HBaseClient getHBaseConnection(final String serviceName, final Map<String,String> configs) { + public HBaseClient getHBaseConnection(final String serviceName, final String serviceType, final Map<String,String> configs) { HBaseClient client = null; - String serviceType = null; - try { - serviceType = ServiceStoreFactory - .instance() - .getServiceStore() - .getServiceByName(serviceName) - .getType(); - } catch (Exception ex) { - LOG.error("Service could not be found for the Service Name : " + serviceName , ex); - } if (serviceType != null) { // get it from the cache synchronized (hbaseConnectionCache) { @@ -122,7 +112,7 @@ public class HBaseConnectionMgr { if(testConnect == null){ hbaseConnectionCache.remove(serviceType); - client = getHBaseConnection(serviceName,configs); + client = getHBaseConnection(serviceName,serviceType,configs); } } repoConnectStatusMap.put(serviceType, true); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java ---------------------------------------------------------------------- diff --git a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java index ca3c715..8682d18 100644 --- a/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java +++ b/hbase-agent/src/main/java/org/apache/ranger/services/hbase/client/HBaseResourceMgr.java @@ -55,7 +55,7 @@ public class HBaseResourceMgr { return ret; } - public static List<String> getHBaseResource(String serviceName, Map<String, String> configs,ResourceLookupContext context) throws Exception{ + public static List<String> getHBaseResource(String serviceName, String serviceType, Map<String, String> configs,ResourceLookupContext context) throws Exception{ String userInput = context.getUserInput(); String resource = context.getResourceName(); @@ -95,7 +95,7 @@ public class HBaseResourceMgr { if(LOG.isDebugEnabled()) { LOG.debug("<== HBaseResourceMgr.getHBaseResource UserInput: \""+ userInput + "\" configs: " + configs + " context: " + context) ; } - final HBaseClient hBaseClient = new HBaseConnectionMgr().getHBaseConnection(serviceName,configs); + final HBaseClient hBaseClient = new HBaseConnectionMgr().getHBaseConnection(serviceName,serviceType,configs); Callable<List<String>> callableObj = null; if ( hBaseClient != null) { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hbase-agent/src/test/java/org/apache/ranger/services/hbase/TestRangerServiceHBase.java ---------------------------------------------------------------------- diff --git a/hbase-agent/src/test/java/org/apache/ranger/services/hbase/TestRangerServiceHBase.java b/hbase-agent/src/test/java/org/apache/ranger/services/hbase/TestRangerServiceHBase.java index fcebd5d..d506598 100644 --- a/hbase-agent/src/test/java/org/apache/ranger/services/hbase/TestRangerServiceHBase.java +++ b/hbase-agent/src/test/java/org/apache/ranger/services/hbase/TestRangerServiceHBase.java @@ -61,7 +61,6 @@ public class TestRangerServiceHBase { svc = new RangerService(sdName, serviceName, "unit test hbase resource lookup and validateConfig", configs); svcHBase = new RangerServiceHBase(); svcHBase.init(sd, svc); - svcHBase.init(); } @Test http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java ---------------------------------------------------------------------- diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java index fcbf406..fd46b1e 100644 --- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java +++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/RangerServiceHdfs.java @@ -35,9 +35,6 @@ public class RangerServiceHdfs extends RangerBaseService { private static final Log LOG = LogFactory.getLog(RangerServiceHdfs.class); - Map<String, String> configs; - String service; - public RangerServiceHdfs() { super(); } @@ -45,20 +42,19 @@ public class RangerServiceHdfs extends RangerBaseService { @Override public void init(RangerServiceDef serviceDef, RangerService service) { super.init(serviceDef, service); - init(); } @Override public HashMap<String,Object> validateConfig() throws Exception { HashMap<String, Object> ret = new HashMap<String, Object>(); - + String serviceName = getServiceName(); if(LOG.isDebugEnabled()) { - LOG.debug("<== RangerServiceHdfs.validateConfig Service: (" + service + " )"); + LOG.debug("<== RangerServiceHdfs.validateConfig Service: (" + serviceName + " )"); } if ( configs != null) { try { - ret = HdfsResourceMgr.testConnection(service, configs); + ret = HdfsResourceMgr.testConnection(serviceName, configs); } catch (Exception e) { LOG.error("<== RangerServiceHdfs.validateConfig Error:" + e); throw e; @@ -75,14 +71,17 @@ public class RangerServiceHdfs extends RangerBaseService { @Override public List<String> lookupResource(ResourceLookupContext context) throws Exception { List<String> ret = new ArrayList<String>(); - + String serviceName = getServiceName(); + String serviceType = getServiceType(); + Map<String,String> configs = getConfigs(); + if(LOG.isDebugEnabled()) { LOG.debug("<== RangerServiceHdfs.lookupResource Context: (" + context + ")"); } if (context != null) { try { - ret = HdfsResourceMgr.getHdfsResources(service, configs,context); + ret = HdfsResourceMgr.getHdfsResources(serviceName, serviceType, configs,context); } catch (Exception e) { LOG.error( "<==RangerServiceHdfs.lookupResource Error : " + e); throw e; @@ -95,12 +94,6 @@ public class RangerServiceHdfs extends RangerBaseService { return ret; } - - public void init() { - service = getService().getName(); - configs = getService().getConfigs(); - } - } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java ---------------------------------------------------------------------- diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java index 8311ec0..17dcb31 100644 --- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java +++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsConnectionMgr.java @@ -44,18 +44,8 @@ public class HdfsConnectionMgr { } - public HdfsClient getHadoopConnection(final String serviceName, final Map<String,String> configs) { + public HdfsClient getHadoopConnection(final String serviceName, final String serviceType, final Map<String,String> configs) { HdfsClient hdfsClient = null; - String serviceType = null; - try { - serviceType = ServiceStoreFactory - .instance() - .getServiceStore() - .getServiceByName(serviceName) - .getType(); - } catch (Exception ex) { - LOG.error("Service could not be found for the Service Name : " + serviceName , ex); - } if (serviceType != null) { // get it from the cache synchronized (hdfdsConnectionCache) { @@ -98,7 +88,7 @@ public class HdfsConnectionMgr { List<String> testConnect = hdfsClient.listFiles("/", "*",null); if(testConnect == null){ hdfdsConnectionCache.put(serviceType, hdfsClient); - hdfsClient = getHadoopConnection(serviceName,configs); + hdfsClient = getHadoopConnection(serviceName,serviceType,configs); } } } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java ---------------------------------------------------------------------- diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java index 7739e56..9161a5a 100644 --- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java +++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsResourceMgr.java @@ -55,7 +55,7 @@ public class HdfsResourceMgr { return ret; } - public static List<String> getHdfsResources(String serviceName, Map<String, String> configs,ResourceLookupContext context) throws Exception { + public static List<String> getHdfsResources(String serviceName, String serviceType, Map<String, String> configs,ResourceLookupContext context) throws Exception { List<String> resultList = null; String userInput = context.getUserInput(); @@ -76,7 +76,7 @@ public class HdfsResourceMgr { } String wildCardToMatch; - final HdfsClient hdfsClient = new HdfsConnectionMgr().getHadoopConnection(serviceName, configs); + final HdfsClient hdfsClient = new HdfsConnectionMgr().getHadoopConnection(serviceName, serviceType, configs); if (hdfsClient != null) { Integer lastIndex = userInput.lastIndexOf("/"); if (lastIndex < 0) { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/TestRangerServiceHdfs.java ---------------------------------------------------------------------- diff --git a/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/TestRangerServiceHdfs.java b/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/TestRangerServiceHdfs.java index ceaa5b2..91f5a43 100644 --- a/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/TestRangerServiceHdfs.java +++ b/hdfs-agent/src/test/java/org/apache/ranger/services/hdfs/TestRangerServiceHdfs.java @@ -59,7 +59,6 @@ public class TestRangerServiceHdfs { svc = new RangerService(sdName, serviceName, "unit test hdfs resource lookup and validateConfig",configs); svcHdfs = new RangerServiceHdfs(); svcHdfs.init(sd, svc); - svcHdfs.init(); } @Test http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java ---------------------------------------------------------------------- diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java index 16c8dd4..44e13f3 100644 --- a/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java +++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/RangerServiceHive.java @@ -35,9 +35,6 @@ public class RangerServiceHive extends RangerBaseService { private static final Log LOG = LogFactory.getLog(RangerServiceHive.class); - Map<String, String> configs; - String service; - public RangerServiceHive() { super(); } @@ -45,18 +42,18 @@ public class RangerServiceHive extends RangerBaseService { @Override public void init(RangerServiceDef serviceDef, RangerService service) { super.init(serviceDef, service); - init(); } @Override public HashMap<String,Object> validateConfig() throws Exception { HashMap<String, Object> ret = new HashMap<String, Object>(); + String serviceName = getServiceName(); if(LOG.isDebugEnabled()) { - LOG.debug("==> RangerServiceHive.validateConfig Service: (" + service + " )"); + LOG.debug("==> RangerServiceHive.validateConfig Service: (" + serviceName + " )"); } if ( configs != null) { try { - ret = HiveResourceMgr.testConnection(service, configs); + ret = HiveResourceMgr.testConnection(serviceName, configs); } catch (Exception e) { LOG.error("<== RangerServiceHive.validateConfig Error:" + e); throw e; @@ -71,13 +68,16 @@ public class RangerServiceHive extends RangerBaseService { @Override public List<String> lookupResource(ResourceLookupContext context) throws Exception { - List<String> ret = new ArrayList<String>(); + List<String> ret = new ArrayList<String>(); + String serviceName = getServiceName(); + String serviceType = getServiceType(); + Map<String,String> configs = getConfigs(); if(LOG.isDebugEnabled()) { LOG.debug("==> RangerServiceHive.lookupResource Context: (" + context + ")"); } if (context != null) { try { - ret = HiveResourceMgr.getHiveResources(service, configs,context); + ret = HiveResourceMgr.getHiveResources(serviceName, serviceType, configs,context); } catch (Exception e) { LOG.error( "<==RangerServiceHive.lookupResource Error : " + e); throw e; @@ -88,11 +88,5 @@ public class RangerServiceHive extends RangerBaseService { } return ret; } - - public void init() { - service = getService().getName(); - configs = getService().getConfigs(); - } - } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java ---------------------------------------------------------------------- diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java index c355435..b511960 100644 --- a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java +++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveConnectionMgr.java @@ -45,18 +45,8 @@ public class HiveConnectionMgr { } - public HiveClient getHiveConnection(final String serviceName, final Map<String,String> configs) { + public HiveClient getHiveConnection(final String serviceName, final String serviceType, final Map<String,String> configs) { HiveClient hiveClient = null; - String serviceType = null; - try { - serviceType = ServiceStoreFactory - .instance() - .getServiceStore() - .getServiceByName(serviceName) - .getType(); - } catch (Exception ex) { - LOG.error("Service could not be found for the Service Name : " + serviceName , ex); - } if (serviceType != null) { // get it from the cache @@ -88,7 +78,7 @@ public class HiveConnectionMgr { List<String> testConnect = hiveClient.getDatabaseList("*",null); } catch(Exception e) { hiveConnectionCache.remove(serviceType); - hiveClient = getHiveConnection(serviceName,configs); + hiveClient = getHiveConnection(serviceName,serviceType,configs); } } } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java ---------------------------------------------------------------------- diff --git a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java index a195627..4ea16df 100644 --- a/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java +++ b/hive-agent/src/main/java/org/apache/ranger/services/hive/client/HiveResourceMgr.java @@ -59,7 +59,7 @@ public class HiveResourceMgr { return ret; } - public static List<String> getHiveResources(String serviceName, Map<String, String> configs,ResourceLookupContext context) throws Exception { + public static List<String> getHiveResources(String serviceName, String serviceType, Map<String, String> configs,ResourceLookupContext context) throws Exception { String userInput = context.getUserInput(); String resource = context.getResourceName(); @@ -112,7 +112,7 @@ public class HiveResourceMgr { + tableList + " columnList: " + columnList ) ; } - final HiveClient hiveClient = new HiveConnectionMgr().getHiveConnection(serviceName, configs); + final HiveClient hiveClient = new HiveConnectionMgr().getHiveConnection(serviceName, serviceType, configs); Callable<List<String>> callableObj = null; final String finalDbName; http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/hive-agent/src/test/java/org/apache/ranger/services/hive/client/TestRangerServiceHive.java ---------------------------------------------------------------------- diff --git a/hive-agent/src/test/java/org/apache/ranger/services/hive/client/TestRangerServiceHive.java b/hive-agent/src/test/java/org/apache/ranger/services/hive/client/TestRangerServiceHive.java index 9dcda6d..79ed05d 100644 --- a/hive-agent/src/test/java/org/apache/ranger/services/hive/client/TestRangerServiceHive.java +++ b/hive-agent/src/test/java/org/apache/ranger/services/hive/client/TestRangerServiceHive.java @@ -60,7 +60,6 @@ public class TestRangerServiceHive { svc = new RangerService(sdName, serviceName, "unit test hive resource lookup and validateConfig", configs); svcHive = new RangerServiceHive(); svcHive.init(sd, svc); - svcHive.init(); } @Test http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java ---------------------------------------------------------------------- diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java index 9cbaa5d..f019779 100644 --- a/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java +++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/RangerServiceKnox.java @@ -35,9 +35,6 @@ public class RangerServiceKnox extends RangerBaseService { private static final Log LOG = LogFactory.getLog(RangerServiceKnox.class); - Map<String, String> configs; - String service; - public RangerServiceKnox() { super(); } @@ -45,18 +42,18 @@ public class RangerServiceKnox extends RangerBaseService { @Override public void init(RangerServiceDef serviceDef, RangerService service) { super.init(serviceDef, service); - init(); } @Override public HashMap<String,Object> validateConfig() throws Exception { HashMap<String, Object> ret = new HashMap<String, Object>(); + String serviceName = getServiceName(); if(LOG.isDebugEnabled()) { - LOG.debug("==> RangerServiceKnox.validateConfig Service: (" + service + " )"); + LOG.debug("==> RangerServiceKnox.validateConfig Service: (" + serviceName + " )"); } if ( configs != null) { try { - ret = KnoxResourceMgr.validateConfig(service, configs); + ret = KnoxResourceMgr.validateConfig(serviceName, configs); } catch (Exception e) { LOG.error("<== RangerServiceKnox.validateConfig Error:" + e); throw e; @@ -72,12 +69,14 @@ public class RangerServiceKnox extends RangerBaseService { public List<String> lookupResource(ResourceLookupContext context) throws Exception { List<String> ret = new ArrayList<String>(); + String serviceName = getServiceName(); + Map<String,String> configs = getConfigs(); if(LOG.isDebugEnabled()) { LOG.debug("==> RangerServiceKnox.lookupResource Context: (" + context + ")"); } if (context != null) { try { - ret = KnoxResourceMgr.getKnoxResources(service, configs,context); + ret = KnoxResourceMgr.getKnoxResources(serviceName, configs, context); } catch (Exception e) { LOG.error( "<== RangerServiceKnox.lookupResource Error : " + e); @@ -89,10 +88,5 @@ public class RangerServiceKnox extends RangerBaseService { } return ret; } - - public void init() { - service = getService().getName(); - configs = getService().getConfigs(); - } - + } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/knox-agent/src/test/java/org/apache/ranger/services/knox/client/TestRangerServiceKnox.java ---------------------------------------------------------------------- diff --git a/knox-agent/src/test/java/org/apache/ranger/services/knox/client/TestRangerServiceKnox.java b/knox-agent/src/test/java/org/apache/ranger/services/knox/client/TestRangerServiceKnox.java index ba95790..3499714 100644 --- a/knox-agent/src/test/java/org/apache/ranger/services/knox/client/TestRangerServiceKnox.java +++ b/knox-agent/src/test/java/org/apache/ranger/services/knox/client/TestRangerServiceKnox.java @@ -63,7 +63,6 @@ public class TestRangerServiceKnox { svc = new RangerService(sdName, serviceName, "unit test Knox resource lookup and validateConfig", configs); svcKnox = new RangerServiceKnox(); svcKnox.init(sd, svc); - svcKnox.init(); } @Test http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/security-admin/src/main/java/org/apache/ranger/biz/ServiceMgr.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/biz/ServiceMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/ServiceMgr.java index d7bfb1d..b79cb9b 100644 --- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceMgr.java +++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceMgr.java @@ -29,7 +29,7 @@ import org.apache.ranger.plugin.model.RangerService; import org.apache.ranger.plugin.model.RangerServiceDef; import org.apache.ranger.plugin.service.RangerBaseService; import org.apache.ranger.plugin.service.ResourceLookupContext; -import org.apache.ranger.plugin.store.ServiceStoreFactory; +import org.apache.ranger.plugin.store.ServiceStore; import org.apache.ranger.view.VXMessage; import org.apache.ranger.view.VXResponse; import org.springframework.stereotype.Component; @@ -40,9 +40,10 @@ public class ServiceMgr { private static final Log LOG = LogFactory.getLog(ServiceMgr.class); - public List<String> lookupResource(String serviceName, ResourceLookupContext context ) throws Exception { + public List<String> lookupResource(String serviceName, ResourceLookupContext context, ServiceStore svcStore) throws Exception { List<String> ret = null; - RangerBaseService svc = getRangerServiceByName(serviceName); + + RangerBaseService svc = getRangerServiceByName(serviceName, svcStore); if(LOG.isDebugEnabled()) { LOG.debug("==> ServiceMgr.lookupResource for Service: (" + svc + "Context: " + context + ")"); @@ -64,10 +65,10 @@ public class ServiceMgr { return ret; } - public VXResponse validateConfig(RangerService service) throws Exception { + public VXResponse validateConfig(RangerService service, ServiceStore svcStore) throws Exception { VXResponse ret = new VXResponse(); - RangerBaseService svc = getRangerServiceByService(service); + RangerBaseService svc = getRangerServiceByService(service, svcStore); if(LOG.isDebugEnabled()) { LOG.debug("==> ServiceMgr.validateConfig for Service: (" + svc + ")"); @@ -91,29 +92,35 @@ public class ServiceMgr { } - public RangerBaseService getRangerServiceByName(String serviceName) throws Exception{ - - RangerService service = ServiceStoreFactory.instance().getServiceStore().getServiceByName(serviceName); - - RangerBaseService svc = getRangerServiceByService(service); - + public RangerBaseService getRangerServiceByName(String serviceName, ServiceStore svcStore) throws Exception{ + RangerBaseService svc = null; + RangerService service = svcStore.getServiceByName(serviceName); + + if ( service != null) { + svc = getRangerServiceByService(service, svcStore); + } return svc; - } - public RangerBaseService getRangerServiceByService(RangerService service) throws Exception{ - - String serviceType = service.getType(); + public RangerBaseService getRangerServiceByService(RangerService service, ServiceStore svcStore) throws Exception{ - RangerServiceDef serviceDef = ServiceStoreFactory.instance().getServiceStore().getServiceDefByName(serviceType); + RangerServiceDef serviceDef = null; + RangerBaseService ret = null; - RangerBaseService ret = (RangerBaseService) Class.forName(serviceDef.getImplClass()).newInstance(); + String serviceType = service.getType(); + if (serviceType != null) { + serviceDef = svcStore.getServiceDefByName(serviceType); + if ( serviceDef != null) { + ret = (RangerBaseService) Class.forName(serviceDef.getImplClass()).newInstance(); + } + + ret.init(serviceDef, service); + } + if(LOG.isDebugEnabled()) { LOG.debug("==> ServiceMgr.getRangerServiceByService ServiceType: " + serviceType + "ServiceDef: " + serviceDef + "Service Class: " + serviceDef.getImplClass()); - } - - ret.init(serviceDef, service); + } return ret; } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java ---------------------------------------------------------------------- diff --git a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java index d4851cc..b90a3df 100644 --- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java +++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java @@ -454,7 +454,7 @@ public class ServiceREST { VXResponse ret = new VXResponse(); try { - ret = serviceMgr.validateConfig(service); + ret = serviceMgr.validateConfig(service, svcStore); } catch(Exception excp) { LOG.error("validateConfig(" + service + ") failed", excp); @@ -479,7 +479,7 @@ public class ServiceREST { List<String> ret = new ArrayList<String>(); try { - ret = serviceMgr.lookupResource(serviceName,context); + ret = serviceMgr.lookupResource(serviceName,context, svcStore); } catch(Exception excp) { LOG.error("lookupResource(" + serviceName + ", " + context + ") failed", excp); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/054a973d/storm-agent/src/main/java/org/apache/ranger/services/storm/RangerServiceStorm.java ---------------------------------------------------------------------- diff --git a/storm-agent/src/main/java/org/apache/ranger/services/storm/RangerServiceStorm.java b/storm-agent/src/main/java/org/apache/ranger/services/storm/RangerServiceStorm.java index 2ff0185..96d8113 100644 --- a/storm-agent/src/main/java/org/apache/ranger/services/storm/RangerServiceStorm.java +++ b/storm-agent/src/main/java/org/apache/ranger/services/storm/RangerServiceStorm.java @@ -35,9 +35,6 @@ public class RangerServiceStorm extends RangerBaseService { private static final Log LOG = LogFactory.getLog(RangerServiceStorm.class); - Map<String, String> configs; - String service; - public RangerServiceStorm() { super(); } @@ -45,18 +42,18 @@ public class RangerServiceStorm extends RangerBaseService { @Override public void init(RangerServiceDef serviceDef, RangerService service) { super.init(serviceDef, service); - init(); } @Override public HashMap<String,Object> validateConfig() throws Exception { HashMap<String, Object> ret = new HashMap<String, Object>(); + String serviceName = getServiceName(); if(LOG.isDebugEnabled()) { - LOG.debug("==> RangerServiceStorm.validateConfig Service: (" + service + " )"); + LOG.debug("==> RangerServiceStorm.validateConfig Service: (" + serviceName + " )"); } if ( configs != null) { try { - ret = StormResourceMgr.validateConfig(service, configs); + ret = StormResourceMgr.validateConfig(serviceName, configs); } catch (Exception e) { LOG.error("<== RangerServiceKnox.validateConfig Error:" + e); throw e; @@ -72,12 +69,14 @@ public class RangerServiceStorm extends RangerBaseService { public List<String> lookupResource(ResourceLookupContext context) throws Exception { List<String> ret = new ArrayList<String>(); + String serviceName = getServiceName(); + Map<String,String> configs = getConfigs(); if(LOG.isDebugEnabled()) { LOG.debug("==> RangerServiceKnox.lookupResource Context: (" + context + ")"); } if (context != null) { try { - ret = StormResourceMgr.getStormResources(service,configs,context); + ret = StormResourceMgr.getStormResources(serviceName,configs,context); } catch (Exception e) { LOG.error( "<==RangerServiceKnox.lookupResource Error : " + e); @@ -89,10 +88,4 @@ public class RangerServiceStorm extends RangerBaseService { } return ret; } - - public void init() { - service = getService().getName(); - configs = getService().getConfigs(); - } - } \ No newline at end of file
