Adapt to Gerrit 3.1 API Change-Id: I8ecbd7cd31f36a26b3f3041c25a5a61acb9561b0
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/GetConfig.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/GetConfig.java index 4ddd017..dc3e17d 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/GetConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/GetConfig.java
@@ -17,6 +17,7 @@ import com.google.common.base.MoreObjects; import com.google.gerrit.extensions.annotations.PluginCanonicalWebUrl; import com.google.gerrit.extensions.annotations.PluginName; +import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.server.config.ConfigResource; import com.google.gerrit.server.config.PluginConfig; @@ -40,7 +41,7 @@ } @Override - public ConfigInfo apply(ConfigResource resource) { + public Response<ConfigInfo> apply(ConfigResource resource) { ConfigInfo info = new ConfigInfo(); info.defaultProject = MoreObjects.firstNonNull(cfg.getString("defaultProject"), "All-Projects"); info.linkDecoration = cfg.getEnum("linkDecoration", LinkDecoration.INLINE); @@ -67,7 +68,7 @@ info.uploadUrl = cfg.getString("uploadUrl"); } - return info; + return Response.ok(info); } /**
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 e69b27d..a7bf3e0 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/GetPreference.java
@@ -19,6 +19,8 @@ import com.google.common.base.MoreObjects; 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; @@ -58,14 +60,19 @@ } @Override - public ConfigInfo apply(AccountResource rsrc) throws AuthException, PermissionBackendException { + public Response<ConfigInfo> apply(AccountResource rsrc) throws PermissionBackendException, RestApiException { if (self.get() != rsrc.getUser()) { permissionBackend.currentUser().check(ADMINISTRATE_SERVER); } String username = self.get().getUserName().get(); - ConfigInfo globalCfg = getConfig.get().apply(new ConfigResource()); + ConfigInfo globalCfg; + try { + globalCfg = getConfig.get().apply(new ConfigResource()).value(); + } catch (Exception e) { + throw new RestApiException("Failed to get global config."); + } Config db = projectCache.getAllProjects().getConfig(pluginName + ".config").get(); ConfigInfo info = new ConfigInfo(); @@ -93,6 +100,6 @@ info.pattern = globalCfg.pattern; - return info; + return Response.ok(info); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageResource.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageResource.java index d57d42f..3551a9e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageResource.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageResource.java
@@ -14,31 +14,31 @@ package com.googlesource.gerrit.plugins.imagare; +import com.google.gerrit.entities.BranchNameKey; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.restapi.RestResource; import com.google.gerrit.extensions.restapi.RestView; -import com.google.gerrit.reviewdb.client.Branch; -import com.google.gerrit.reviewdb.client.Project; import com.google.inject.TypeLiteral; public class ImageResource implements RestResource { public static final TypeLiteral<RestView<ImageResource>> IMAGE_KIND = new TypeLiteral<RestView<ImageResource>>() {}; - private Branch.NameKey branchName; + private BranchNameKey branchName; - ImageResource(Branch.NameKey branchName) { + ImageResource(BranchNameKey branchName) { this.branchName = branchName; } public Project.NameKey getProject() { - return branchName.getParentKey(); + return branchName.project(); } public String getRef() { - return branchName.get(); + return branchName.branch(); } - public Branch.NameKey getBranchKey() { + public BranchNameKey getBranchKey() { return branchName; } }
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 9c47679..13d4ab0 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
@@ -20,11 +20,11 @@ import com.google.common.base.CharMatcher; import com.google.common.hash.Hashing; import com.google.common.net.HttpHeaders; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; -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.mime.FileTypeRegistry; @@ -118,7 +118,11 @@ ProjectState projectState = projectCache.get(key.project); String rev = key.revision; if (rev == null || Constants.HEAD.equals(rev)) { - rev = getHead.get().apply(new ProjectResource(projectState, self.get())); + 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)); + } } else { if (!ObjectId.isId(rev)) { if (!rev.startsWith(Constants.R_REFS)) { @@ -199,7 +203,6 @@ } } catch (RepositoryNotFoundException | ResourceNotFoundException - | AuthException | RevisionSyntaxException | PermissionBackendException e) { notFound(res); @@ -298,7 +301,7 @@ } private ResourceKey(String p, String f, String r) { - project = new Project.NameKey(p); + project = Project.nameKey(p); file = f; revision = r; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagesCollection.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagesCollection.java index 92a8493..8070266 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagesCollection.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImagesCollection.java
@@ -14,12 +14,12 @@ package com.googlesource.gerrit.plugins.imagare; +import com.google.gerrit.entities.BranchNameKey; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.ChildCollection; import com.google.gerrit.extensions.restapi.IdString; import com.google.gerrit.extensions.restapi.ResourceNotFoundException; import com.google.gerrit.extensions.restapi.RestView; -import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.RefPermission; import com.google.gerrit.server.project.ProjectResource; @@ -48,7 +48,7 @@ @Override public ImageResource parse(ProjectResource parent, IdString id) throws ResourceNotFoundException { - Branch.NameKey branchName = new Branch.NameKey(parent.getNameKey(), id.get()); + BranchNameKey branchName = BranchNameKey.create(parent.getNameKey(), id.get()); if (permissionBackend.user(parent.getUser()).ref(branchName).testOrFalse(RefPermission.READ)) { return new ImageResource(branchName); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java index 0a330f1..5fe103a 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
@@ -14,6 +14,8 @@ package com.googlesource.gerrit.plugins.imagare; +import com.google.gerrit.entities.BranchNameKey; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.BadRequestException; @@ -23,8 +25,6 @@ import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestApiException; import com.google.gerrit.extensions.restapi.RestModifyView; -import com.google.gerrit.reviewdb.client.Branch; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.GerritPersonIdent; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.config.CanonicalWebUrl; @@ -186,7 +186,7 @@ createRefControl.checkCreateRef( self, repo, - new Branch.NameKey(ps.getProject().getNameKey(), ref), + BranchNameKey.create(ps.getProject().getNameKey(), ref), rw.parseCommit(commitId)); } catch (AuthException e) { throw new AuthException(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/PutConfig.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/PutConfig.java index 8443094..99ad85d 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PutConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PutConfig.java
@@ -16,13 +16,13 @@ import com.google.common.base.Strings; import com.google.gerrit.common.data.GlobalCapability; +import com.google.gerrit.entities.Project; import com.google.gerrit.extensions.annotations.CapabilityScope; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.annotations.RequiresCapability; import com.google.gerrit.extensions.restapi.Response; import com.google.gerrit.extensions.restapi.RestModifyView; import com.google.gerrit.extensions.restapi.UnprocessableEntityException; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.config.ConfigResource; import com.google.gerrit.server.config.PluginConfigFactory; import com.google.gerrit.server.config.SitePaths; @@ -71,7 +71,7 @@ cfg.load(); if (input.defaultProject != null) { - if (projectCache.get(new Project.NameKey(input.defaultProject)) == null) { + if (projectCache.get(Project.nameKey(input.defaultProject)) == null) { throw new UnprocessableEntityException( "project '" + input.defaultProject + "' does not exist"); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/PutPreference.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/PutPreference.java index ffd00d4..a882042 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PutPreference.java +++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PutPreference.java
@@ -21,12 +21,12 @@ import static com.googlesource.gerrit.plugins.imagare.GetPreference.PREFERENCE; import com.google.common.base.Strings; +import com.google.gerrit.entities.Project; 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.RestModifyView; import com.google.gerrit.extensions.restapi.UnprocessableEntityException; -import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.account.AccountResource; import com.google.gerrit.server.git.meta.MetaDataUpdate; @@ -81,7 +81,7 @@ String defaultProject = db.getString(PREFERENCE, username, KEY_DEFAULT_PROJECT); if (Strings.emptyToNull(input.defaultProject) != null) { - if (projectCache.get(new Project.NameKey(input.defaultProject)) == null) { + if (projectCache.get(Project.nameKey(input.defaultProject)) == null) { throw new UnprocessableEntityException( "project '" + input.defaultProject + "' does not exist"); }