Batch plugin: refactor BatchSubmitter
Refactor BatchSubmitter to re-use objects instead of creating
objects in loop. Also, remove repeated object creation.
Change-Id: I610bc1f3cbfeb3ba909be8ffef0748a18722133e
diff --git a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
index 546ae42..06bcd27 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/batch/BatchSubmitter.java
@@ -136,24 +136,24 @@
throws IOException, RepositoryNotFoundException, RestApiException, UpdateException,
PermissionBackendException {
if (dest.changes != null) {
+ Project.NameKey project = Project.nameKey(dest.project);
// TODO: Is using the first change in the batch for each dest the correct thing to do?
Change firstInDest =
notesFactory
- .createChecked(
- Project.nameKey(dest.project), dest.changes.get(0).toPatchSetId().changeId())
+ .createChecked(project, dest.changes.get(0).toPatchSetId().changeId())
.getChange();
SubmissionId submissionId = new SubmissionId(firstInDest);
for (Batch.Change change : dest.changes) {
- closeChange(Project.nameKey(dest.project), change.toPatchSetId(), dest.sha1, submissionId);
+ closeChange(project, change.toPatchSetId(), dest.sha1, submissionId);
}
}
}
private void closeChange(
- Project.NameKey destProject, PatchSet.Id psId, String sha1, SubmissionId submissionId)
+ Project.NameKey project, PatchSet.Id psId, String sha1, SubmissionId submissionId)
throws IOException, RepositoryNotFoundException, RestApiException, UpdateException,
PermissionBackendException {
- ChangeNotes changeNotes = notesFactory.createChecked(destProject, psId.changeId());
+ ChangeNotes changeNotes = notesFactory.createChecked(project, psId.changeId());
permissionBackend.user(user).change(changeNotes).check(ChangePermission.READ);
Change change = changeNotes.getChange();
PatchSet ps = psUtil.get(changeNotes, psId);
@@ -166,8 +166,6 @@
|| change.getStatus() == Change.Status.ABANDONED) {
return;
}
- BranchNameKey destination = change.getDest();
- Project.NameKey project = destination.project();
try (TraceContext traceContext =
TraceContext.open()
@@ -182,7 +180,7 @@
bu.addOp(
psId.changeId(),
mergedByPushOpFactory.create(
- requestScopePropagator, psId, submissionId, destination.branch(), sha1));
+ requestScopePropagator, psId, submissionId, change.getDest().branch(), sha1));
bu.execute();
}
}