Remove usage of deleted PatchSetAccess#byRevision method Change-Id: I2379f61972807aa3b9cdbff3d2cae4188a35d137
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java index 72c9ec9..83c469a 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
@@ -17,12 +17,10 @@ import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.LabelType; import com.google.gerrit.common.data.LabelTypes; -import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.reviewdb.client.PatchSetApproval; import com.google.gerrit.reviewdb.client.Project; -import com.google.gerrit.reviewdb.client.RevId; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.ApprovalsUtil; import com.google.gerrit.server.GerritPersonIdent; @@ -35,8 +33,11 @@ import com.google.gerrit.server.project.NoSuchChangeException; import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectState; +import com.google.gerrit.server.query.change.ChangeData; +import com.google.gerrit.server.query.change.InternalChangeQuery; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.assistedinject.Assisted; import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; @@ -80,6 +81,7 @@ private final ChangeControl.GenericFactory changeControlFactory; private final IdentifiedUser.GenericFactory userFactory; private final NotesBranchUtil.Factory notesBranchUtilFactory; + private final Provider<InternalChangeQuery> queryProvider; private final String canonicalWebUrl; private final ReviewDb reviewDb; private final Project.NameKey project; @@ -98,6 +100,7 @@ final ChangeControl.GenericFactory changeControlFactory, final IdentifiedUser.GenericFactory userFactory, final NotesBranchUtil.Factory notesBranchUtilFactory, + final Provider<InternalChangeQuery> queryProvider, @Nullable @CanonicalWebUrl final String canonicalWebUrl, @Assisted final ReviewDb reviewDb, @Assisted final Project.NameKey project, @@ -117,6 +120,7 @@ this.changeControlFactory = changeControlFactory; this.userFactory = userFactory; this.notesBranchUtilFactory = notesBranchUtilFactory; + this.queryProvider = queryProvider; this.canonicalWebUrl = canonicalWebUrl; this.reviewDb = reviewDb; this.project = project; @@ -235,23 +239,16 @@ private PatchSet loadPatchSet(RevCommit c, String destBranch) throws OrmException { - List<PatchSet> patches = reviewDb.patchSets().byRevision(new RevId(c.name())) - .toList(); - if (patches.isEmpty()) { - return null; // TODO: createNoCodeReviewNote(branch, c, fmt); - } else if (patches.size() == 1) { - return patches.get(0); - } else { - Branch.NameKey dest = new Branch.NameKey(project, destBranch); - for (PatchSet ps : patches) { - Change.Id cid = ps.getId().getParentKey(); - Change change = reviewDb.changes().get(cid); - if (change.getDest().equals(dest)) { + String hash = c.name(); + for (ChangeData cd : queryProvider.get() + .byBranchCommit(project.get(), destBranch, hash)) { + for (PatchSet ps : cd.patchSets()) { + if (ps.getRevision().matches(hash)) { return ps; } } } - return null; + return null; // TODO: createNoCodeReviewNote(branch, c, fmt); } private void createCodeReviewNote(PatchSet ps, HeaderFormatter fmt)