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;