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) {