Merge branch 'stable-2.14' into stable-2.15 * stable-2.14: Upgrade bazlets to latest stable-2.14 to build with 2.14.21 API Change-Id: I1f9de8dcba54935dfca9e09bc547c755fca5b765
diff --git a/WORKSPACE b/WORKSPACE index e278360..a4f3b3c 100644 --- a/WORKSPACE +++ b/WORKSPACE
@@ -3,11 +3,11 @@ load("//:bazlets.bzl", "load_bazlets") load_bazlets( - commit = "78c35a7eb33ee5ea0980923e246c7dba37347193", + commit = "f53f51fb660552d0581aa0ba52c3836ed63d56a3", #local_path = "/home/<user>/projects/bazlets", ) -#Snapshot Plugin API +# Snapshot Plugin API #load( # "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl", # "gerrit_api_maven_local",
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl index 1d8851b..c1932a9 100644 --- a/external_plugin_deps.bzl +++ b/external_plugin_deps.bzl
@@ -3,8 +3,8 @@ def external_plugin_deps(): maven_jar( name = "mockito", - artifact = "org.mockito:mockito-core:2.27.0", - sha1 = "835fc3283b481f4758b8ef464cd560c649c08b00", + artifact = "org.mockito:mockito-core:2.28.2", + sha1 = "91110215a8cb9b77a46e045ee758f77d79167cc0", deps = [ "@byte-buddy//jar", "@byte-buddy-agent//jar",
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/PermissionsImpl.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/PermissionsImpl.java index b07f540..7f99366 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/PermissionsImpl.java +++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/PermissionsImpl.java
@@ -16,9 +16,11 @@ import static com.google.gerrit.reviewdb.client.RefNames.REFS_CONFIG; +import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.CurrentUser; -import com.google.gerrit.server.project.ProjectCache; +import com.google.gerrit.server.permissions.PermissionBackend; +import com.google.gerrit.server.permissions.RefPermission; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; @@ -26,30 +28,29 @@ @Singleton public class PermissionsImpl implements Permissions { - private final ProjectCache projectCache; + private final PermissionBackend permissionBackend; private final Provider<CurrentUser> currentUser; @Inject - PermissionsImpl(ProjectCache projectCache, Provider<CurrentUser> currentUser) { - this.projectCache = projectCache; + PermissionsImpl(PermissionBackend permissionBackend, Provider<CurrentUser> currentUser) { + this.permissionBackend = permissionBackend; this.currentUser = currentUser; } @Override public boolean canRead(Project.NameKey project) { - return projectCache - .get(project) - .controlFor(currentUser.get()) - .controlForRef(REFS_CONFIG) - .isVisible(); + return can(project, RefPermission.READ); } @Override public boolean canUpdate(Project.NameKey project) { - return projectCache - .get(project) - .controlFor(currentUser.get()) - .controlForRef(REFS_CONFIG) - .canUpdate(); + return can(project, RefPermission.UPDATE); + } + + private boolean can(Project.NameKey project, RefPermission permission) { + return permissionBackend + .user(currentUser.get()) + .ref(new Branch.NameKey(project, REFS_CONFIG)) + .testOrFalse(permission); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/RemotesCollection.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/RemotesCollection.java index ef96108..4f1508c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/RemotesCollection.java +++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/RemotesCollection.java
@@ -82,7 +82,6 @@ } @Override - @SuppressWarnings("unchecked") public UpsertRemote.Inserter create(ProjectWebhooksResource parent, IdString id) { return inserterFactory.create(id.get()); }