Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
Upgrade bazlets to latest stable-2.14
Change-Id: Ie174a1df559ff6e44b47c5162207152b2988476f
diff --git a/WORKSPACE b/WORKSPACE
index fe5c1a9..c72b7e1 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,11 +3,11 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "b750c0adec6deebb1063219787a97fab1d32724b",
+ commit = "d60efafe2fa2581d8b6f10aeb80beef5a77b8093",
#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());
}