Repository: ranger
Updated Branches:
  refs/heads/master f1fb6315f -> 52a303218


RANGER-1934:Optimize the init method in BaseAuditHandler class to avoid 
ArrayIndexOutOfBoundsException

Signed-off-by: zhangqiang2 <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/52a30321
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/52a30321
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/52a30321

Branch: refs/heads/master
Commit: 52a303218224610d4b7b34f745bacfadaea1420c
Parents: f1fb631
Author: peng.jianhua <[email protected]>
Authored: Wed Dec 20 13:48:29 2017 +0800
Committer: zhangqiang2 <[email protected]>
Committed: Wed Dec 20 20:23:19 2017 -0500

----------------------------------------------------------------------
 .../ranger/audit/provider/BaseAuditHandler.java       | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/52a30321/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
----------------------------------------------------------------------
diff --git 
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
 
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
index b095000..dac5c94 100644
--- 
a/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
+++ 
b/agents-audit/src/main/java/org/apache/ranger/audit/provider/BaseAuditHandler.java
@@ -88,19 +88,21 @@ public abstract class BaseAuditHandler implements 
AuditHandler {
                        propPrefix = basePropertyName;
                }
                LOG.info("propPrefix=" + propPrefix);
-               // Get final token
-               List<String> tokens = MiscUtil.toArray(propPrefix, ".");
-               String finalToken = tokens.get(tokens.size() - 1);
 
                String name = MiscUtil.getStringProperty(props, 
basePropertyName + "."
                                + PROP_NAME);
                if (name != null && !name.isEmpty()) {
                        setName(name);
                }
+               // Get final token
                if (providerName == null) {
-                       setName(finalToken);
-                       LOG.info("Using providerName from property prefix. 
providerName="
-                                       + getName());
+                       List<String> tokens = MiscUtil.toArray(propPrefix, ".");
+                       if (!tokens.isEmpty()) {
+                               String finalToken = tokens.get(tokens.size() - 
1);
+                               setName(finalToken);
+                               LOG.info("Using providerName from property 
prefix. providerName="
+                                               + getName());
+                       }
                }
                LOG.info("providerName=" + getName());
 

Reply via email to