You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ar...@apache.org on 2017/12/09 15:39:24 UTC

[3/5] drill git commit: DRILL-6017: Fix for SHUTDOWN button being visible for non Admin users

DRILL-6017: Fix for SHUTDOWN button being visible for non Admin users

closes #1064


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

Branch: refs/heads/master
Commit: b34679579930f2643837e0c59dbe743b80b2f7e2
Parents: c7872dc
Author: karthik <km...@maprtech.com>
Authored: Thu Dec 7 09:43:24 2017 +0530
Committer: Arina Ielchiieva <ar...@gmail.com>
Committed: Sat Dec 9 15:50:33 2017 +0200

----------------------------------------------------------------------
 .../drill/exec/server/rest/DrillRoot.java       | 14 ++++----
 .../java-exec/src/main/resources/rest/index.ftl | 36 +++++++++++---------
 2 files changed, 27 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/b3467957/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java
index da1d2fb..94e607c 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java
@@ -189,7 +189,7 @@ public class DrillRoot {
     String adminUsers = ExecConstants.ADMIN_USERS_VALIDATOR.getAdminUsers(optionManager);
     String adminUserGroups = ExecConstants.ADMIN_USER_GROUPS_VALIDATOR.getAdminUserGroups(optionManager);
 
-    final boolean shouldShowUserInfo = isUserLoggedIn &&
+    final boolean shouldShowAdminInfo = isUserLoggedIn &&
             ((DrillUserPrincipal)sc.getUserPrincipal()).isAdminUser();
 
     for (DrillbitEndpoint endpoint : work.getContext().getAvailableBits()) {
@@ -202,11 +202,11 @@ public class DrillRoot {
       drillbits.add(drillbit);
     }
     logger.debug("Admin info: user: "  + adminUsers +  " user group: " + adminUserGroups +
-            " userLoggedIn "  + isUserLoggedIn + " shouldShowUserInfo: " + shouldShowUserInfo );
+            " userLoggedIn "  + isUserLoggedIn + " shouldShowAdminInfo: " + shouldShowAdminInfo );
 
     return new ClusterInfo(drillbits, currentVersion, mismatchedVersions,
             userEncryptionEnabled, bitEncryptionEnabled, processUser, processUserGroups, adminUsers,
-            adminUserGroups, shouldShowUserInfo, QueueInfo.build(dbContext.getResourceManager()));
+            adminUserGroups, shouldShowAdminInfo, QueueInfo.build(dbContext.getResourceManager()));
   }
 
   public Response setResponse(Map entity) {
@@ -327,7 +327,7 @@ public static class ClusterInfo {
   private final String adminUserGroups;
   private final String processUser;
   private final String processUserGroups;
-  private final boolean shouldShowUserInfo;
+  private final boolean shouldShowAdminInfo;
   private final QueueInfo queueInfo;
 
   @JsonCreator
@@ -340,7 +340,7 @@ public static class ClusterInfo {
                      String processUserGroups,
                      String adminUsers,
                      String adminUserGroups,
-                     boolean shouldShowUserInfo,
+                     boolean shouldShowAdminInfo,
                      QueueInfo queueInfo) {
     this.drillbits = Sets.newTreeSet(drillbits);
     this.currentVersion = currentVersion;
@@ -351,7 +351,7 @@ public static class ClusterInfo {
     this.processUserGroups = processUserGroups;
     this.adminUsers = adminUsers;
     this.adminUserGroups = adminUserGroups;
-    this.shouldShowUserInfo = shouldShowUserInfo;
+    this.shouldShowAdminInfo = shouldShowAdminInfo;
     this.queueInfo = queueInfo;
   }
 
@@ -379,7 +379,7 @@ public static class ClusterInfo {
 
   public String getAdminUserGroups() { return adminUserGroups; }
 
-  public boolean shouldShowUserInfo() { return shouldShowUserInfo; }
+  public boolean shouldShowAdminInfo() { return shouldShowAdminInfo; }
 
   public QueueInfo queueInfo() { return queueInfo; }
 }

http://git-wip-us.apache.org/repos/asf/drill/blob/b3467957/exec/java-exec/src/main/resources/rest/index.ftl
----------------------------------------------------------------------
diff --git a/exec/java-exec/src/main/resources/rest/index.ftl b/exec/java-exec/src/main/resources/rest/index.ftl
index 74425d6..18be7a9 100644
--- a/exec/java-exec/src/main/resources/rest/index.ftl
+++ b/exec/java-exec/src/main/resources/rest/index.ftl
@@ -79,9 +79,11 @@
                   </span>
                 </td>
                 <td id="status" >${drillbit.getState()}</td>
-                <td>
-                    <button type="button" id="shutdown" onClick="shutdown('${drillbit.getAddress()}',$(this));"> SHUTDOWN </button>
-                </td>
+                <#if model.shouldShowAdminInfo()>
+                  <td>
+                      <button type="button" id="shutdown" onClick="shutdown('${drillbit.getAddress()}',$(this));"> SHUTDOWN </button>
+                  </td>
+                </#if>
                 <td id="queriesCount">  </td>
               </tr>
               <#assign i = i + 1>
@@ -112,7 +114,7 @@
       </div>
   </div>
 
-   <#if model.shouldShowUserInfo()>
+   <#if model.shouldShowAdminInfo()>
        <div class="row">
             <div class="col-md-12">
               <h3>User Info </h3>
@@ -266,18 +268,20 @@
                               }
                         });
       }
-      function shutdown(address,button) {
-          url = "http://"+address+":"+portNum+"/gracefulShutdown";
-          var result = $.ajax({
-                type: 'POST',
-                url: url,
-                contentType : 'text/plain',
-                complete: function(data) {
-                    alert(data.responseJSON["response"]);
-                    button.prop('disabled',true).css('opacity',0.5);
-                }
-          });
-      }
+       <#if model.shouldShowAdminInfo()>
+          function shutdown(address,button) {
+              url = "http://"+address+":"+portNum+"/gracefulShutdown";
+              var result = $.ajax({
+                    type: 'POST',
+                    url: url,
+                    contentType : 'text/plain',
+                    complete: function(data) {
+                        alert(data.responseJSON["response"]);
+                        button.prop('disabled',true).css('opacity',0.5);
+                    }
+              });
+          }
+      </#if>
     </script>
 </#macro>