diff options
Diffstat (limited to 'gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java')
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java index e0c78ea7f4..5c965e22d1 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeInserter.java @@ -18,6 +18,7 @@ import com.google.gerrit.common.ChangeHooks; import com.google.gerrit.common.data.LabelTypes; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.Change; +import com.google.gerrit.reviewdb.client.ChangeMessage; import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.reviewdb.client.PatchSetInfo; import com.google.gerrit.reviewdb.server.ReviewDb; @@ -29,11 +30,9 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import org.eclipse.jgit.lib.ObjectId; -import org.eclipse.jgit.revwalk.FooterLine; import org.eclipse.jgit.revwalk.RevCommit; import java.util.Collections; -import java.util.List; import java.util.Set; public class ChangeInserter { @@ -53,17 +52,27 @@ public class ChangeInserter { } public void insertChange(ReviewDb db, Change change, PatchSet ps, - RevCommit commit, LabelTypes labelTypes, List<FooterLine> footerLines, - PatchSetInfo info, Set<Account.Id> reviewers) throws OrmException { + RevCommit commit, LabelTypes labelTypes, PatchSetInfo info, + Set<Account.Id> reviewers) throws OrmException { + insertChange(db, change, null, ps, commit, labelTypes, info, reviewers); + } + + public void insertChange(ReviewDb db, Change change, + ChangeMessage changeMessage, PatchSet ps, RevCommit commit, + LabelTypes labelTypes, PatchSetInfo info, Set<Account.Id> reviewers) + throws OrmException { db.changes().beginTransaction(change.getId()); try { ChangeUtil.insertAncestors(db, ps.getId(), commit); db.patchSets().insert(Collections.singleton(ps)); db.changes().insert(Collections.singleton(change)); - ChangeUtil.updateTrackingIds(db, change, trackingFooters, footerLines); + ChangeUtil.updateTrackingIds(db, change, trackingFooters, commit.getFooterLines()); approvalsUtil.addReviewers(db, labelTypes, change, ps, info, reviewers, Collections.<Account.Id> emptySet()); + if (changeMessage != null) { + db.changeMessages().insert(Collections.singleton(changeMessage)); + } db.commit(); } finally { db.rollback(); |