Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
Update mockito-core to 2.24.0
Change-Id: I10f72132883741d80e57b3ed4e737391d9bf16fd
diff --git a/WORKSPACE b/WORKSPACE
index c29864d..975791c 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "2c39029a585bd1d5b785150948f162730f7b7e42",
+ commit = "ca34f0cf89b2e041ea7f4aa4b9696efc2d76746f",
#local_path = "/home/<user>/projects/bazlets",
)
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());
}