Merge branch 'stable-2.14' into stable-2.15

* stable-2.14:
  Upgrade bazlets to latest stable-2.14

Change-Id: I118f64d66590bef540cef3cb4376fc1a5242d611
diff --git a/WORKSPACE b/WORKSPACE
index 6f7c423..bc3499a 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,11 +3,11 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "b07aa8462f2618a83f3b52d6150faa831b24d3e3",
+    commit = "ec949feac1b9dae6cc2c8c25d254f34924c54296",
     #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());
   }