Adapt to Gerrit 3.2 APIs Change-Id: I4e8a33ab383846cc47a92521a04970ef1ad1520b
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java index a7bf3e0..3347a2d 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java
@@ -20,7 +20,6 @@ import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.Response; -import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.account.AccountResource; @@ -60,19 +59,15 @@ } @Override - public Response<ConfigInfo> apply(AccountResource rsrc) throws PermissionBackendException, RestApiException { + public Response<ConfigInfo> apply(AccountResource rsrc) + throws AuthException, PermissionBackendException { if (self.get() != rsrc.getUser()) { permissionBackend.currentUser().check(ADMINISTRATE_SERVER); } String username = self.get().getUserName().get(); - ConfigInfo globalCfg; - try { - globalCfg = getConfig.get().apply(new ConfigResource()).value(); - } catch (Exception e) { - throw new RestApiException("Failed to get global config."); - } + ConfigInfo globalCfg = getConfig.get().apply(new ConfigResource()).value(); Config db = projectCache.getAllProjects().getConfig(pluginName + ".config").get(); ConfigInfo info = new ConfigInfo();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java index 13d4ab0..3cad325 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
@@ -42,6 +42,7 @@ import com.google.inject.Singleton; import eu.medsea.mimeutil.MimeType; import java.io.IOException; +import java.util.Optional; import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -102,8 +103,8 @@ } ResourceKey key = ResourceKey.fromPath(getEncodedPath(req)); - ProjectState state = projectCache.get(key.project); - if (state == null || key.file == null) { + Optional<ProjectState> state = projectCache.get(key.project); + if (!state.isPresent() || key.file == null) { notFound(res); return; } @@ -115,14 +116,10 @@ } try { - ProjectState projectState = projectCache.get(key.project); + ProjectState projectState = projectCache.get(key.project).orElse(null); String rev = key.revision; if (rev == null || Constants.HEAD.equals(rev)) { - try { - rev = getHead.get().apply(new ProjectResource(projectState, self.get())).value(); - } catch (Exception e) { - throw new ResourceNotFoundException(String.format("Could not get head of project %s.", key.project)); - } + rev = getHead.get().apply(new ProjectResource(projectState, self.get())).value(); } else { if (!ObjectId.isId(rev)) { if (!rev.startsWith(Constants.R_REFS)) { @@ -147,7 +144,7 @@ if (ObjectId.isId(rev)) { try (RevWalk rw = new RevWalk(repo)) { RevCommit commit = rw.parseCommit(repo.resolve(rev)); - if (!commits.canRead(state, repo, commit)) { + if (!commits.canRead(state.get(), repo, commit)) { notFound(res); return; } @@ -202,6 +199,7 @@ } } } catch (RepositoryNotFoundException + | AuthException | ResourceNotFoundException | RevisionSyntaxException | PermissionBackendException e) {