Adapt to change in Gerrit core
With change I89c0c68bf Response#value() is now throwing Exception which
needs to be handled.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Ifc453f43826f1ce0bcfb042ab6a2cf22b4cf1fb0
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
index 4b8d30d..f72b338 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeletePreconditions.java
@@ -27,14 +27,12 @@
import com.google.gerrit.extensions.common.ProjectInfo;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
-import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.reviewdb.client.BranchNameKey;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.permissions.GlobalPermission;
import com.google.gerrit.server.permissions.PermissionBackend;
-import com.google.gerrit.server.permissions.PermissionBackendException;
import com.google.gerrit.server.permissions.ProjectPermission;
import com.google.gerrit.server.project.ProjectResource;
import com.google.gerrit.server.query.change.ChangeData;
@@ -136,17 +134,18 @@
}
private void assertHasNoChildProjects(ProjectResource rsrc) throws CannotDeleteProjectException {
+ List<ProjectInfo> children;
try {
- List<ProjectInfo> children = listChildProjectsProvider.get().withLimit(1).apply(rsrc).value();
- if (!children.isEmpty()) {
- throw new CannotDeleteProjectException(
- "Cannot delete project because it has at least one child: "
- + Iterables.getOnlyElement(children).name);
- }
- } catch (StorageException | PermissionBackendException | RestApiException e) {
+ children = listChildProjectsProvider.get().withLimit(1).apply(rsrc).value();
+ } catch (Exception e) {
throw new CannotDeleteProjectException(
String.format("Unable to verify if '%s' has children projects.", rsrc.getName()));
}
+ if (!children.isEmpty()) {
+ throw new CannotDeleteProjectException(
+ "Cannot delete project because it has at least one child: "
+ + Iterables.getOnlyElement(children).name);
+ }
}
private void assertIsNotSubmodule(Project.NameKey projectNameKey)