UiAction: Don't create a new instance each time it is used UiActions don't maintain state and can be therefore moved in Singleton scope. Change-Id: I27224edd37140dc7e20acef0e5d0b397aa661a7a
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Abandon.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Abandon.java index 33d161c..b083850 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Abandon.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Abandon.java
@@ -36,6 +36,7 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -43,6 +44,7 @@ import java.io.IOException; import java.util.Collections; +@Singleton public class Abandon implements RestModifyView<ChangeResource, AbandonInput>, UiAction<ChangeResource> { private static final Logger log = LoggerFactory.getLogger(Abandon.class);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java index fae8971..226f70f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CherryPick.java
@@ -34,9 +34,11 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.io.IOException; +@Singleton public class CherryPick implements RestModifyView<RevisionResource, CherryPickInput>, UiAction<RevisionResource> { private final Provider<ReviewDb> dbProvider;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java index 59b52a1..28885db 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftChange.java
@@ -30,11 +30,13 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.Config; import java.io.IOException; +@Singleton public class DeleteDraftChange implements RestModifyView<ChangeResource, Input>, UiAction<ChangeResource> { public static class Input {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftPatchSet.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftPatchSet.java index 7b9b3d9..46d0ed9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftPatchSet.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/DeleteDraftPatchSet.java
@@ -34,11 +34,13 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.Config; import java.io.IOException; +@Singleton public class DeleteDraftPatchSet implements RestModifyView<RevisionResource, Input>, UiAction<RevisionResource> { public static class Input {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java index b1a3290..fc1e400 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java
@@ -32,6 +32,7 @@ import com.google.gerrit.server.project.NoSuchChangeException; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Singleton; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.MissingObjectException; @@ -39,6 +40,7 @@ import java.io.IOException; +@Singleton class EditMessage implements RestModifyView<RevisionResource, Input>, UiAction<RevisionResource> { private final ChangeUtil changeUtil;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java index 599d5ab..cd8b89f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Publish.java
@@ -36,11 +36,13 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.Config; import java.io.IOException; +@Singleton public class Publish implements RestModifyView<RevisionResource, Input>, UiAction<RevisionResource> { public static class Input {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutTopic.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutTopic.java index 1ef0ee3..8d96f2d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutTopic.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutTopic.java
@@ -35,10 +35,12 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.io.IOException; import java.util.Collections; +@Singleton class PutTopic implements RestModifyView<ChangeResource, Input>, UiAction<ChangeResource> { private final Provider<ReviewDb> dbProvider;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Rebase.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Rebase.java index e1a019f..bbd501c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Rebase.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Rebase.java
@@ -33,9 +33,11 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import java.io.IOException; +@Singleton public class Rebase implements RestModifyView<RevisionResource, Input>, UiAction<RevisionResource> { public static class Input {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java index b3641e5..9055036 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Restore.java
@@ -37,6 +37,7 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,6 +45,7 @@ import java.io.IOException; import java.util.Collections; +@Singleton public class Restore implements RestModifyView<ChangeResource, RestoreInput>, UiAction<ChangeResource> { private static final Logger log = LoggerFactory.getLogger(Restore.class);
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java index 022c12c..b44eb3d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java
@@ -34,11 +34,13 @@ import com.google.gerrit.server.ssh.NoSshInfo; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Singleton; import org.eclipse.jgit.lib.PersonIdent; import java.io.IOException; +@Singleton public class Revert implements RestModifyView<ChangeResource, RevertInput>, UiAction<ChangeResource> { private final ChangeJson json;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java index 776de37..8ed242c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Submit.java
@@ -58,6 +58,7 @@ import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; import com.google.inject.Provider; +import com.google.inject.Singleton; import org.eclipse.jgit.errors.RepositoryNotFoundException; import org.eclipse.jgit.lib.CommitBuilder; @@ -69,6 +70,7 @@ import java.util.List; import java.util.Map; +@Singleton public class Submit implements RestModifyView<RevisionResource, SubmitInput>, UiAction<RevisionResource> { public enum Status {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java index 93fc063..76b896a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/PatchSetNotificationSender.java
@@ -37,6 +37,7 @@ import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Provider; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; @@ -54,7 +55,7 @@ private static final Logger log = LoggerFactory.getLogger(PatchSetNotificationSender.class); - private final ReviewDb db; + private final Provider<ReviewDb> db; private final GitRepositoryManager repoManager; private final PatchSetInfoFactory patchSetInfoFactory; private final ApprovalsUtil approvalsUtil; @@ -63,7 +64,7 @@ private final ReplacePatchSetSender.Factory replacePatchSetFactory; @Inject - public PatchSetNotificationSender(ReviewDb db, + public PatchSetNotificationSender(Provider<ReviewDb> db, ChangeHooks hooks, GitRepositoryManager repoManager, PatchSetInfoFactory patchSetInfoFactory, @@ -104,7 +105,7 @@ recipients.remove(me); if (newChange) { - approvalsUtil.addReviewers(db, update, labelTypes, updatedChange, + approvalsUtil.addReviewers(db.get(), update, labelTypes, updatedChange, updatedPatchSet, info, recipients.getReviewers(), Collections.<Account.Id> emptySet()); try { @@ -118,12 +119,12 @@ log.error("Cannot send email for new change " + updatedChange.getId(), e); } } else { - approvalsUtil.addReviewers(db, update, labelTypes, updatedChange, + approvalsUtil.addReviewers(db.get(), update, labelTypes, updatedChange, updatedPatchSet, info, recipients.getReviewers(), - approvalsUtil.getReviewers(db, notes).values()); + approvalsUtil.getReviewers(db.get(), notes).values()); final ChangeMessage msg = new ChangeMessage(new ChangeMessage.Key(updatedChange.getId(), - ChangeUtil.messageUUID(db)), me, + ChangeUtil.messageUUID(db.get())), me, updatedPatchSet.getCreatedOn(), updatedPatchSet.getId()); msg.setMessage("Uploaded patch set " + updatedPatchSet.getPatchSetId() + "."); try {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/GarbageCollect.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/GarbageCollect.java index 2911f6e..fe1086b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/GarbageCollect.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/GarbageCollect.java
@@ -27,6 +27,7 @@ import com.google.gerrit.server.git.LocalDiskRepositoryManager; import com.google.gerrit.server.project.GarbageCollect.Input; import com.google.inject.Inject; +import com.google.inject.Singleton; import java.io.IOException; import java.io.OutputStream; @@ -35,6 +36,7 @@ import java.util.Collections; @RequiresCapability(GlobalCapability.RUN_GC) +@Singleton public class GarbageCollect implements RestModifyView<ProjectResource, Input>, UiAction<ProjectResource> { public static class Input {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java index 6a4f013..7c8b29f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListBranches.java
@@ -26,6 +26,7 @@ import com.google.gerrit.server.extensions.webui.UiActions; import com.google.gerrit.server.git.GitRepositoryManager; import com.google.inject.Inject; +import com.google.inject.Singleton; import com.google.inject.util.Providers; import org.eclipse.jgit.errors.RepositoryNotFoundException; @@ -42,6 +43,7 @@ import java.util.Set; import java.util.TreeMap; +@Singleton public class ListBranches implements RestReadView<ProjectResource> { private final GitRepositoryManager repoManager; private final DynamicMap<RestView<BranchResource>> branchViews;