Replace canAdministrateServer test with PermissionBackend

Change-Id: I06fc64fd54116353cfc0c7e6dbe5af8619ed9f46
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serverconfig/HideFromNonAdmins.java b/src/main/java/com/googlesource/gerrit/plugins/serverconfig/HideFromNonAdmins.java
index acc4303..269d68f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serverconfig/HideFromNonAdmins.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serverconfig/HideFromNonAdmins.java
@@ -14,7 +14,11 @@
 
 package com.googlesource.gerrit.plugins.serverconfig;
 
+import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.server.CurrentUser;
+import com.google.gerrit.server.permissions.GlobalPermission;
+import com.google.gerrit.server.permissions.PermissionBackend;
+import com.google.gerrit.server.permissions.PermissionBackendException;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
@@ -35,17 +39,21 @@
 @Singleton
 public class HideFromNonAdmins implements Filter {
 
-  private Provider<CurrentUser> user;
+  private final Provider<CurrentUser> user;
+  private final PermissionBackend permissionBackend;
 
   @Inject
-  public HideFromNonAdmins(Provider<CurrentUser> user) {
+  public HideFromNonAdmins(Provider<CurrentUser> user, PermissionBackend permissionBackend) {
     this.user = user;
+    this.permissionBackend = permissionBackend;
   }
 
   @Override
   public void doFilter(ServletRequest req, ServletResponse rsp,
       FilterChain chain) throws IOException, ServletException {
-    if (!user.get().getCapabilities().canAdministrateServer()) {
+    try {
+      permissionBackend.user(user).check(GlobalPermission.ADMINISTRATE_SERVER);
+    } catch (AuthException | PermissionBackendException e) {
       ((HttpServletResponse) rsp).sendError(HttpServletResponse.SC_NOT_FOUND,
           "Not Found");
       return;