Github user arina-ielchiieva commented on a diff in the pull request:

    https://github.com/apache/drill/pull/998#discussion_r145686885
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java 
---
    @@ -85,19 +86,24 @@ public ClusterInfo getClusterInfoJSON() {
         // For all other cases the user info need-not or should-not be 
displayed
         OptionManager optionManager = work.getContext().getOptionManager();
         final boolean isUserLoggedIn = AuthDynamicFeature.isUserLoggedIn(sc);
    -    String adminUsers = isUserLoggedIn ?
    -            
ExecConstants.ADMIN_USERS_VALIDATOR.getAdminUsers(optionManager) : null;
    -    String adminUserGroups = isUserLoggedIn ?
    -            
ExecConstants.ADMIN_USER_GROUPS_VALIDATOR.getAdminUserGroups(optionManager) : 
null;
    +    final String processUser = ImpersonationUtil.getProcessUserName();
    +    final String processUserGroups = Joiner.on(", 
").join(ImpersonationUtil.getProcessUserGroupNames());
    +    String adminUsers = 
ExecConstants.ADMIN_USERS_VALIDATOR.getAdminUsers(optionManager);
    +    String adminUserGroups = 
ExecConstants.ADMIN_USER_GROUPS_VALIDATOR.getAdminUserGroups(optionManager);
     
         // separate groups by comma + space
    -    if (adminUsers != null) {
    +    if (adminUsers.length() == 0) {
    --- End diff --
    
    Frankly saying, I would suggest to do all these manipulations in 
freemarker. There are many built-in freemarker functions that can help (i.e. 
split, join, check for emptiness etc [1]).
    
    [1] http://freemarker.org/docs/ref_builtins_string.html#ref_builtin_split


---

Reply via email to