Adapt to upstream changes
- ChangeHooks is gone. Hooks are now invoked via the ref-update event.
- The ref-update firing mechanism now needs the user
- ProjectControl#canReadCommit now takes a Repository, not RevWalk
- Repository#getRef is deprecated in favor of #exactRef
The Buck build was already updated to build with 2.13-SNAPSHOT, but
the pom.xml was still using 2.12-SNAPSHOT, so update that too.
Change-Id: I3dd4b22c8ab3f8d12c0e787807e7fc1ca443c456
diff --git a/pom.xml b/pom.xml
index b607858..dfbc4fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
<groupId>com.googlesource.gerrit.plugins.imagare</groupId>
<artifactId>imagare</artifactId>
<packaging>jar</packaging>
- <version>2.12-SNAPSHOT</version>
+ <version>2.13-SNAPSHOT</version>
<name>imagare</name>
<properties>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
index 2805ba4..7a6449e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/DeleteImage.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.imagare;
-import com.google.gerrit.common.ChangeHooks;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
@@ -51,17 +50,16 @@
private final Provider<IdentifiedUser> self;
private final GitRepositoryManager repoManager;
private final GitReferenceUpdated referenceUpdated;
- private final ChangeHooks hooks;
@Inject
- public DeleteImage(@PluginName String pluginName, Provider<IdentifiedUser> self,
- GitRepositoryManager repoManager, GitReferenceUpdated referenceUpdated,
- ChangeHooks hooks) {
+ public DeleteImage(@PluginName String pluginName,
+ Provider<IdentifiedUser> self,
+ GitRepositoryManager repoManager,
+ GitReferenceUpdated referenceUpdated) {
this.pluginName = pluginName;
this.self = self;
this.repoManager = repoManager;
this.referenceUpdated = referenceUpdated;
- this.hooks = hooks;
}
@Override
@@ -95,8 +93,7 @@
case NO_CHANGE:
case FAST_FORWARD:
case FORCED:
- referenceUpdated.fire(rsrc.getProject(), u);
- hooks.doRefUpdatedHook(rsrc.getBranchKey(), u, self.get().getAccount());
+ referenceUpdated.fire(rsrc.getProject(), u, self.get().getAccount());
break;
case REJECTED_CURRENT_BRANCH:
@@ -113,7 +110,7 @@
private void validateOwnImage(Repository repo, String ref)
throws IOException, ResourceNotFoundException, AuthException {
- Ref r = repo.getRef(ref);
+ Ref r = repo.exactRef(ref);
if (r == null) {
throw new ResourceNotFoundException(ref);
}
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 4218fcc..69ef8d1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/ImageServlet.java
@@ -142,7 +142,7 @@
if (ObjectId.isId(rev)) {
try (RevWalk rw = new RevWalk(repo)) {
RevCommit commit = rw.parseCommit(repo.resolve(rev));
- if (!projectControl.canReadCommit(db.get(), rw, commit)) {
+ if (!projectControl.canReadCommit(db.get(), repo, commit)) {
notFound(res);
return;
}
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 c41e75a..5b58590 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/imagare/PostImage.java
@@ -14,7 +14,6 @@
package com.googlesource.gerrit.plugins.imagare;
-import com.google.gerrit.common.ChangeHooks;
import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.BadRequestException;
@@ -23,7 +22,6 @@
import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.extensions.restapi.Response;
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.reviewdb.server.ReviewDb;
import com.google.gerrit.server.mime.FileTypeRegistry;
@@ -74,7 +72,6 @@
private final Provider<IdentifiedUser> self;
private final GitRepositoryManager repoManager;
private final GitReferenceUpdated referenceUpdated;
- private final ChangeHooks hooks;
private final PersonIdent myIdent;
private final String canonicalWebUrl;
private final Config cfg;
@@ -82,17 +79,20 @@
private final String pluginName;
@Inject
- public PostImage(FileTypeRegistry registry, Provider<IdentifiedUser> self,
- GitRepositoryManager repoManager, GitReferenceUpdated referenceUpdated,
- ChangeHooks hooks, @GerritPersonIdent PersonIdent myIdent,
- @CanonicalWebUrl String canonicalWebUrl, @GerritServerConfig Config cfg,
- Provider<ReviewDb> db, @PluginName String pluginName) {
+ public PostImage(FileTypeRegistry registry,
+ Provider<IdentifiedUser> self,
+ GitRepositoryManager repoManager,
+ GitReferenceUpdated referenceUpdated,
+ @GerritPersonIdent PersonIdent myIdent,
+ @CanonicalWebUrl String canonicalWebUrl,
+ @GerritServerConfig Config cfg,
+ Provider<ReviewDb> db,
+ @PluginName String pluginName) {
this.registry = registry;
this.imageDataPattern = Pattern.compile("data:([\\w/.-]+);([\\w]+),(.*)");
this.self = self;
this.repoManager = repoManager;
this.referenceUpdated = referenceUpdated;
- this.hooks = hooks;
this.myIdent = myIdent;
this.canonicalWebUrl = canonicalWebUrl;
this.cfg = cfg;
@@ -192,7 +192,7 @@
commitId = oi.insert(cb);
oi.flush();
- if (!rc.canCreate(db.get(), rw, rw.parseCommit(commitId))) {
+ if (!rc.canCreate(db.get(), repo, rw.parseCommit(commitId))) {
throw new AuthException(String.format(
"Project %s doesn't allow image upload.", pc.getProject().getName()));
}
@@ -202,9 +202,8 @@
ru.setNewObjectId(commitId);
ru.disableRefLog();
if (ru.update(rw) == RefUpdate.Result.NEW) {
- referenceUpdated.fire(pc.getProject().getNameKey(), ru);
- hooks.doRefUpdatedHook(new Branch.NameKey(pc.getProject()
- .getNameKey(), ref), ru, self.get().getAccount());
+ referenceUpdated.fire(pc.getProject().getNameKey(), ru,
+ self.get().getAccount());
} else {
throw new IOException(String.format(
"Failed to create ref %s in %s: %s", ref,