You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by rm...@apache.org on 2015/03/03 23:04:14 UTC
incubator-ranger git commit: Ranger-225: Ranger-LookupResource and
ValidateConfig implementation for all components in the new pluggable
model-DBStore implementation changes
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 <rm...@hortonworks.com>
Authored: Mon Mar 2 16:08:21 2015 -0800
Committer: rmani <rm...@hortonworks.com>
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