rameeshm commented on code in PR #584:
URL: https://github.com/apache/ranger/pull/584#discussion_r2131549405
##########
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java:
##########
@@ -83,6 +84,53 @@ public RangerPolicyEngineImpl(ServicePolicies
servicePolicies, RangerPluginConte
policyEngine = new PolicyEngine(servicePolicies, pluginContext,
roles, isUseReadWriteLock);
serviceConfig = new
ServiceConfig(servicePolicies.getServiceConfig());
requestProcessor = new RangerDefaultRequestProcessor(policyEngine);
+
+ Map<String, String> serviceConfigMap =
servicePolicies.getServiceConfig();
Review Comment:
can the whole pluginContext setting be done upfront in basePlugin before
RangerPolicyEngineImpl is created?
##########
agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java:
##########
@@ -83,6 +84,53 @@ public RangerPolicyEngineImpl(ServicePolicies
servicePolicies, RangerPluginConte
policyEngine = new PolicyEngine(servicePolicies, pluginContext,
roles, isUseReadWriteLock);
serviceConfig = new
ServiceConfig(servicePolicies.getServiceConfig());
requestProcessor = new RangerDefaultRequestProcessor(policyEngine);
+
+ Map<String, String> serviceConfigMap =
servicePolicies.getServiceConfig();
+ if (MapUtils.isNotEmpty(serviceConfigMap)) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("==> RangerBasePlugin(" + serviceConfigMap.keySet()
+ ")");
+ }
+
pluginContext.setUserNameCaseConversion(serviceConfigMap.get(RangerCommonConstants.PLUGINS_USERNAME_CASE_CONVERSION_PARAM));
+
pluginContext.setGroupNameCaseConversion(serviceConfigMap.get(RangerCommonConstants.PLUGINS_GROUPNAME_CASE_CONVERSION_PARAM));
+ String mappingUserNameHandler =
serviceConfigMap.get(RangerCommonConstants.PLUGINS_MAPPING_USERNAME_HANDLER);
+ try {
+ if (mappingUserNameHandler != null) {
+ Class<Mapper> regExClass = (Class<Mapper>)
Class.forName(mappingUserNameHandler);
+ Mapper userNameRegExInst = regExClass.newInstance();
+ if (userNameRegExInst != null) {
+ String baseProperty =
RangerCommonConstants.PLUGINS_MAPPING_USERNAME;
+ userNameRegExInst.init(baseProperty,
getAllRegexPatterns(baseProperty, serviceConfigMap),
+
serviceConfigMap.get(RangerCommonConstants.PLUGINS_MAPPING_SEPARATOR));
+
pluginContext.setUserNameTransformInst(userNameRegExInst);
+ } else {
+ LOG.error("RegEx handler instance for username is
null!");
+ }
+ }
+ } catch (ClassNotFoundException cne) {
+ LOG.error("Failed to load " + mappingUserNameHandler + " " +
cne);
+ } catch (Throwable te) {
+ LOG.error("Failed to instantiate " + mappingUserNameHandler +
" " + te);
+ }
+ String mappingGroupNameHandler =
serviceConfigMap.get(RangerCommonConstants.PLUGINS_MAPPING_GROUPNAME_HANDLER);
+ try {
+ if (mappingGroupNameHandler != null) {
+ Class<Mapper> regExClass = (Class<Mapper>)
Class.forName(mappingGroupNameHandler);
+ Mapper groupNameRegExInst =
regExClass.newInstance();
+ if (groupNameRegExInst != null) {
+ String baseProperty =
RangerCommonConstants.PLUGINS_MAPPING_GROUPNAME;
+ groupNameRegExInst.init(baseProperty,
getAllRegexPatterns(baseProperty, serviceConfigMap),
+
serviceConfigMap.get(RangerCommonConstants.PLUGINS_MAPPING_SEPARATOR));
+
pluginContext.setGroupNameTransformInst(groupNameRegExInst);
+ } else {
+ LOG.error("RegEx handler instance for groupname is
null!");
+ }
+ }
+ } catch (ClassNotFoundException cne) {
+ LOG.error("Failed to load " + mappingGroupNameHandler + " " +
cne);
Review Comment:
Print the whole stack trace, do this for all the occurance
LOG.error("Failed to load " + mappingGroupNameHandler + " " , cne);
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]