Use ChangeNotes to load change
Change-Id: Ibdeda2e7e61e8d8289a6f648d6035b99e0ad9738
Signed-off-by: Edwin Kempin <ekempin@google.com>
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 83c469a..249f9b6 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewnotes/CreateReviewNotes.java
@@ -29,6 +29,7 @@
import com.google.gerrit.server.config.AnonymousCowardName;
import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.git.NotesBranchUtil;
+import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.project.ChangeControl;
import com.google.gerrit.server.project.NoSuchChangeException;
import com.google.gerrit.server.project.ProjectCache;
@@ -79,6 +80,7 @@
private final LabelTypes labelTypes;
private final ApprovalsUtil approvalsUtil;
private final ChangeControl.GenericFactory changeControlFactory;
+ private final ChangeNotes.Factory notesFactory;
private final IdentifiedUser.GenericFactory userFactory;
private final NotesBranchUtil.Factory notesBranchUtilFactory;
private final Provider<InternalChangeQuery> queryProvider;
@@ -92,19 +94,20 @@
private StringBuilder message;
@Inject
- CreateReviewNotes(@GerritPersonIdent final PersonIdent gerritIdent,
- final AccountCache accountCache,
- @AnonymousCowardName final String anonymousCowardName,
- final ProjectCache projectCache,
- final ApprovalsUtil approvalsUtil,
- 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,
- @Assisted final Repository git) {
+ CreateReviewNotes(@GerritPersonIdent PersonIdent gerritIdent,
+ AccountCache accountCache,
+ @AnonymousCowardName String anonymousCowardName,
+ ProjectCache projectCache,
+ ApprovalsUtil approvalsUtil,
+ ChangeControl.GenericFactory changeControlFactory,
+ ChangeNotes.Factory notesFactory,
+ IdentifiedUser.GenericFactory userFactory,
+ NotesBranchUtil.Factory notesBranchUtilFactory,
+ Provider<InternalChangeQuery> queryProvider,
+ @Nullable @CanonicalWebUrl String canonicalWebUrl,
+ @Assisted ReviewDb reviewDb,
+ @Assisted Project.NameKey project,
+ @Assisted Repository git) {
this.gerritServerIdent = gerritIdent;
this.accountCache = accountCache;
this.anonymousCowardName = anonymousCowardName;
@@ -118,6 +121,7 @@
}
this.approvalsUtil = approvalsUtil;
this.changeControlFactory = changeControlFactory;
+ this.notesFactory = notesFactory;
this.userFactory = userFactory;
this.notesBranchUtilFactory = notesBranchUtilFactory;
this.queryProvider = queryProvider;
@@ -253,19 +257,16 @@
private void createCodeReviewNote(PatchSet ps, HeaderFormatter fmt)
throws OrmException, NoSuchChangeException {
- createCodeReviewNote(
- reviewDb.changes().get(ps.getId().getParentKey()), ps, fmt);
- }
-
- private void createCodeReviewNote(Change change, PatchSet ps,
- HeaderFormatter fmt) throws OrmException, NoSuchChangeException {
// This races with the label normalization/writeback done by MergeOp. It may
// repeat some work, but results should be identical except in the case of
// an additional race with a permissions change.
// TODO(dborowitz): These will eventually be stamped in the ChangeNotes at
// commit time so we will be able to skip this normalization step.
+ ChangeNotes notes =
+ notesFactory.create(reviewDb, project, ps.getId().getParentKey());
+ Change change = notes.getChange();
ChangeControl ctl = changeControlFactory.controlFor(
- change, userFactory.create(change.getOwner()));
+ notes, userFactory.create(change.getOwner()));
PatchSetApproval submit = null;
for (PatchSetApproval a :
approvalsUtil.byPatchSet(reviewDb, ctl, ps.getId())) {