Merge branch 'stable-2.14'
* stable-2.14:
Remove classpath target
Change-Id: Iea02b45d840207e4996c302193af3300efff3e32
diff --git a/WORKSPACE b/WORKSPACE
index fa9ed77..775b8c9 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,30 +3,30 @@
load("//:bazlets.bzl", "load_bazlets")
load_bazlets(
- commit = "e8160a65a591e602a2fb48953b269dd8d42a7c37",
+ commit = "f2e78d4042490178a9cc1da59fc590dec55278cb",
# local_path = "/home/<user>/projects/bazlets",
)
# Release Plugin API
-load(
- "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
- "gerrit_api",
-)
+#load(
+# "@com_googlesource_gerrit_bazlets//:gerrit_api.bzl",
+# "gerrit_api",
+#)
# Snapshot Plugin API
-#load(
-# "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
-# "gerrit_api_maven_local",
-#)
+load(
+ "@com_googlesource_gerrit_bazlets//:gerrit_api_maven_local.bzl",
+ "gerrit_api_maven_local",
+)
load(
"@com_googlesource_gerrit_bazlets//:gerrit_gwt.bzl",
"gerrit_gwt",
)
# Load release Plugin API
-gerrit_api()
+#gerrit_api()
# Load snapshot Plugin API
-#gerrit_api_maven_local()
+gerrit_api_maven_local()
gerrit_gwt()
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ChangeEventListener.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ChangeEventListener.java
index 9da4247..9d18b49 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ChangeEventListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ChangeEventListener.java
@@ -56,6 +56,7 @@
import java.io.IOException;
import java.util.List;
import java.util.Set;
+import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevWalk;
import org.slf4j.Logger;
@@ -254,7 +255,7 @@
reviewers.add(account);
continue;
}
- } catch (OrmException e) {
+ } catch (OrmException | IOException | ConfigInvalidException e) {
// If the account doesn't exist, find() will return null. We only
// get here if something went wrong accessing the database
log.error("Failed to resolve account " + r, e);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
index 48c35fb..83fe215 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
@@ -144,7 +144,7 @@
throw new ResourceNotFoundException("Account or group " + reviewer + " not found");
}
}
- } catch (OrmException e) {
+ } catch (OrmException | IOException | ConfigInvalidException e) {
log.error("Failed to resolve account " + reviewer);
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
index f71c591..e3e2beb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/SuggestProjectReviewers.java
@@ -25,29 +25,36 @@
import com.google.gerrit.server.account.AccountVisibility;
import com.google.gerrit.server.change.SuggestReviewers;
import com.google.gerrit.server.config.GerritServerConfig;
+import com.google.gerrit.server.permissions.PermissionBackend;
+import com.google.gerrit.server.permissions.ProjectPermission;
import com.google.gerrit.server.project.ProjectResource;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Provider;
import java.io.IOException;
import java.util.List;
+import org.eclipse.jgit.errors.ConfigInvalidException;
import org.eclipse.jgit.lib.Config;
public class SuggestProjectReviewers extends SuggestReviewers
implements RestReadView<ProjectResource> {
+ private final PermissionBackend permissionBackend;
+
@Inject
SuggestProjectReviewers(
AccountVisibility av,
IdentifiedUser.GenericFactory identifiedUserFactory,
Provider<ReviewDb> dbProvider,
@GerritServerConfig Config cfg,
- ReviewersUtil reviewersUtil) {
+ ReviewersUtil reviewersUtil,
+ PermissionBackend permissionBackend) {
super(av, identifiedUserFactory, dbProvider, cfg, reviewersUtil);
+ this.permissionBackend = permissionBackend;
}
@Override
public List<SuggestedReviewerInfo> apply(ProjectResource rsrc)
- throws BadRequestException, OrmException, IOException {
+ throws BadRequestException, OrmException, IOException, ConfigInvalidException {
return reviewersUtil.suggestReviewers(null, this, rsrc.getControl(), getVisibility(rsrc), true);
}
@@ -55,8 +62,10 @@
return new VisibilityControl() {
@Override
public boolean isVisibleTo(Account.Id account) throws OrmException {
- IdentifiedUser who = identifiedUserFactory.create(account);
- return rsrc.getControl().forUser(who).isVisible();
+ return permissionBackend
+ .user(identifiedUserFactory.create(account))
+ .project(rsrc.getNameKey())
+ .testOrFalse(ProjectPermission.ACCESS);
}
};
}