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
---