Ranger-201: Additional Change after to FileSourceUserGroupBuilder and file 
format documentation


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

Branch: refs/heads/stack
Commit: ef152319198af7689ebf8838e90a5c7fa8a0dbd4
Parents: 21152a5
Author: rmani <[email protected]>
Authored: Thu Jan 8 11:45:39 2015 -0800
Committer: rmani <[email protected]>
Committed: Thu Jan 8 11:45:39 2015 -0800

----------------------------------------------------------------------
 .../process/FileSourceUserGroupBuilder.java     | 13 ++++++-------
 .../conf.dist/unixauthservice.properties        | 20 +++++++++++++++++---
 2 files changed, 23 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ef152319/ugsync/src/main/java/org/apache/ranger/unixusersync/process/FileSourceUserGroupBuilder.java
----------------------------------------------------------------------
diff --git 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/FileSourceUserGroupBuilder.java
 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/FileSourceUserGroupBuilder.java
index af18fa1..312f383 100644
--- 
a/ugsync/src/main/java/org/apache/ranger/unixusersync/process/FileSourceUserGroupBuilder.java
+++ 
b/ugsync/src/main/java/org/apache/ranger/unixusersync/process/FileSourceUserGroupBuilder.java
@@ -188,18 +188,17 @@ public class FileSourceUserGroupBuilder  implements 
UserGroupSource {
                        for(CSVRecord csvRecord : csvRecordList) {
                                List<String> groups = new ArrayList<String>();
                                String user = csvRecord.get(0);
-                               if ( (user.substring(0,1).equals("\"")) && 
(user.substring(user.length()-1)).equals("\"")) {
-                                       user = 
user.substring(1,user.length()-1);
-                               } 
+                               
+                               user = user.replaceAll("^\"|\"$", "");
                                        
                                int i = csvRecord.size();
                                
                                for (int j = 1; j < i; j ++) {
                                        String group = csvRecord.get(j);
-                                       if ( 
(group.substring(0,1).equals("\"")) && 
(group.substring(group.length()-1)).equals("\"")) {
-                                               group = 
group.substring(1,group.length()-1);
-                                       } 
-                                       groups.add(group);
+                                       if ( group != null && !group.isEmpty()) 
{
+                                                group = 
group.replaceAll("^\"|\"$", ""); 
+                                                groups.add(group);
+                                       }
                                }
                                ret.put(user,groups);
                         } 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ef152319/unixauthservice/conf.dist/unixauthservice.properties
----------------------------------------------------------------------
diff --git a/unixauthservice/conf.dist/unixauthservice.properties 
b/unixauthservice/conf.dist/unixauthservice.properties
index 680b53f..b45a426 100644
--- a/unixauthservice/conf.dist/unixauthservice.properties
+++ b/unixauthservice/conf.dist/unixauthservice.properties
@@ -85,11 +85,25 @@ usergroupSync.source.impl.class =
 # The following properties are relevant
 # only if value of usergroupSync.source.impl.class is
 # org.apache.ranger.unixusersync.process.FileSourceUserGroupBuilder
-# e.g usergroupSync.filesource.file = /tmp/usergroup.json or /tmp/usergroup.txt
-# if the file is .txt usergroupSync.filesource.text.delimiter will be used.
-# if the file is .json JSONParser will be used instead of delimiter.
+# usergroupSync.filesource.file property holds the path of the UserGroup Map 
file to be submmited.
+# e.g usergroupSync.filesource.file = /tmp/usergroup.json or 
/tmp/usergroup.csv or /tmp/usergroup.txt
+# JSON File Format: 
+#      {
+#       
{"user1":["group0","group18","group6","group7","group26","group24","group19","group3","group5"]},
+#       {"user2":["group0","group18","group6","]},
+#       {"user3":[]},
+#       {"user4":["group0","group18"]}
+#      }
+# Text File Format:(.txt,.csv).Delimiter for the text file can be anything 
like tab, comma or any desired delimiter.
 # default delimiter value : ,
+# File Format:
+#      
"user1","group0","group18","group6","group7","group26","group24","group19","group3","group5"
+#      "user2","group0","group18","group6"
+#      "user3",
+#      "user4","group0","group18"
+# usergroupSync.filesource.text.delimiter property should have the right 
delimiter if the file delimiter is other than ,
 # e.g To input a tab delimited file use 
usergroupSync.filesource.text.delimiter = \t 
+# if the file is .json JSONParser will be used instead of delimiter.
 # ---------------------------------------------------------------
 usergroupSync.filesource.file =
 usergroupSync.filesource.text.delimiter = ,

Reply via email to