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
This commit is contained in:
@@ -36,6 +36,7 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -43,6 +44,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
public class Abandon implements RestModifyView<ChangeResource, AbandonInput>,
|
||||||
UiAction<ChangeResource> {
|
UiAction<ChangeResource> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(Abandon.class);
|
private static final Logger log = LoggerFactory.getLogger(Abandon.class);
|
||||||
|
@@ -34,9 +34,11 @@ import com.google.gerrit.server.project.RefControl;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class CherryPick implements RestModifyView<RevisionResource, CherryPickInput>,
|
public class CherryPick implements RestModifyView<RevisionResource, CherryPickInput>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
private final Provider<ReviewDb> dbProvider;
|
private final Provider<ReviewDb> dbProvider;
|
||||||
|
@@ -30,11 +30,13 @@ import com.google.gerrit.server.project.NoSuchChangeException;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.Config;
|
import org.eclipse.jgit.lib.Config;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class DeleteDraftChange implements
|
public class DeleteDraftChange implements
|
||||||
RestModifyView<ChangeResource, Input>, UiAction<ChangeResource> {
|
RestModifyView<ChangeResource, Input>, UiAction<ChangeResource> {
|
||||||
public static class Input {
|
public static class Input {
|
||||||
|
@@ -34,11 +34,13 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.Config;
|
import org.eclipse.jgit.lib.Config;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class DeleteDraftPatchSet implements RestModifyView<RevisionResource, Input>,
|
public class DeleteDraftPatchSet implements RestModifyView<RevisionResource, Input>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
public static class Input {
|
public static class Input {
|
||||||
|
@@ -32,6 +32,7 @@ import com.google.gerrit.server.project.InvalidChangeOperationException;
|
|||||||
import com.google.gerrit.server.project.NoSuchChangeException;
|
import com.google.gerrit.server.project.NoSuchChangeException;
|
||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
|
import org.eclipse.jgit.errors.IncorrectObjectTypeException;
|
||||||
import org.eclipse.jgit.errors.MissingObjectException;
|
import org.eclipse.jgit.errors.MissingObjectException;
|
||||||
@@ -39,6 +40,7 @@ import org.eclipse.jgit.lib.PersonIdent;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
class EditMessage implements RestModifyView<RevisionResource, Input>,
|
class EditMessage implements RestModifyView<RevisionResource, Input>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
private final ChangeUtil changeUtil;
|
private final ChangeUtil changeUtil;
|
||||||
|
@@ -36,11 +36,13 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.Config;
|
import org.eclipse.jgit.lib.Config;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Publish implements RestModifyView<RevisionResource, Input>,
|
public class Publish implements RestModifyView<RevisionResource, Input>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
public static class Input {
|
public static class Input {
|
||||||
|
@@ -35,10 +35,12 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
class PutTopic implements RestModifyView<ChangeResource, Input>,
|
class PutTopic implements RestModifyView<ChangeResource, Input>,
|
||||||
UiAction<ChangeResource> {
|
UiAction<ChangeResource> {
|
||||||
private final Provider<ReviewDb> dbProvider;
|
private final Provider<ReviewDb> dbProvider;
|
||||||
|
@@ -33,9 +33,11 @@ import com.google.gerrit.server.project.NoSuchChangeException;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Rebase implements RestModifyView<RevisionResource, Input>,
|
public class Rebase implements RestModifyView<RevisionResource, Input>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
public static class Input {
|
public static class Input {
|
||||||
|
@@ -37,6 +37,7 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -44,6 +45,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Restore implements RestModifyView<ChangeResource, RestoreInput>,
|
public class Restore implements RestModifyView<ChangeResource, RestoreInput>,
|
||||||
UiAction<ChangeResource> {
|
UiAction<ChangeResource> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(Restore.class);
|
private static final Logger log = LoggerFactory.getLogger(Restore.class);
|
||||||
|
@@ -34,11 +34,13 @@ import com.google.gerrit.server.project.NoSuchChangeException;
|
|||||||
import com.google.gerrit.server.ssh.NoSshInfo;
|
import com.google.gerrit.server.ssh.NoSshInfo;
|
||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.PersonIdent;
|
import org.eclipse.jgit.lib.PersonIdent;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Revert implements RestModifyView<ChangeResource, RevertInput>,
|
public class Revert implements RestModifyView<ChangeResource, RevertInput>,
|
||||||
UiAction<ChangeResource> {
|
UiAction<ChangeResource> {
|
||||||
private final ChangeJson json;
|
private final ChangeJson json;
|
||||||
|
@@ -58,6 +58,7 @@ import com.google.gwtorm.server.AtomicUpdate;
|
|||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
||||||
import org.eclipse.jgit.lib.CommitBuilder;
|
import org.eclipse.jgit.lib.CommitBuilder;
|
||||||
@@ -69,6 +70,7 @@ import java.util.Collection;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class Submit implements RestModifyView<RevisionResource, SubmitInput>,
|
public class Submit implements RestModifyView<RevisionResource, SubmitInput>,
|
||||||
UiAction<RevisionResource> {
|
UiAction<RevisionResource> {
|
||||||
public enum Status {
|
public enum Status {
|
||||||
|
@@ -37,6 +37,7 @@ import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
|||||||
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Provider;
|
||||||
|
|
||||||
import org.eclipse.jgit.lib.ObjectId;
|
import org.eclipse.jgit.lib.ObjectId;
|
||||||
import org.eclipse.jgit.lib.Repository;
|
import org.eclipse.jgit.lib.Repository;
|
||||||
@@ -54,7 +55,7 @@ public class PatchSetNotificationSender {
|
|||||||
private static final Logger log =
|
private static final Logger log =
|
||||||
LoggerFactory.getLogger(PatchSetNotificationSender.class);
|
LoggerFactory.getLogger(PatchSetNotificationSender.class);
|
||||||
|
|
||||||
private final ReviewDb db;
|
private final Provider<ReviewDb> db;
|
||||||
private final GitRepositoryManager repoManager;
|
private final GitRepositoryManager repoManager;
|
||||||
private final PatchSetInfoFactory patchSetInfoFactory;
|
private final PatchSetInfoFactory patchSetInfoFactory;
|
||||||
private final ApprovalsUtil approvalsUtil;
|
private final ApprovalsUtil approvalsUtil;
|
||||||
@@ -63,7 +64,7 @@ public class PatchSetNotificationSender {
|
|||||||
private final ReplacePatchSetSender.Factory replacePatchSetFactory;
|
private final ReplacePatchSetSender.Factory replacePatchSetFactory;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public PatchSetNotificationSender(ReviewDb db,
|
public PatchSetNotificationSender(Provider<ReviewDb> db,
|
||||||
ChangeHooks hooks,
|
ChangeHooks hooks,
|
||||||
GitRepositoryManager repoManager,
|
GitRepositoryManager repoManager,
|
||||||
PatchSetInfoFactory patchSetInfoFactory,
|
PatchSetInfoFactory patchSetInfoFactory,
|
||||||
@@ -104,7 +105,7 @@ public class PatchSetNotificationSender {
|
|||||||
recipients.remove(me);
|
recipients.remove(me);
|
||||||
|
|
||||||
if (newChange) {
|
if (newChange) {
|
||||||
approvalsUtil.addReviewers(db, update, labelTypes, updatedChange,
|
approvalsUtil.addReviewers(db.get(), update, labelTypes, updatedChange,
|
||||||
updatedPatchSet, info, recipients.getReviewers(),
|
updatedPatchSet, info, recipients.getReviewers(),
|
||||||
Collections.<Account.Id> emptySet());
|
Collections.<Account.Id> emptySet());
|
||||||
try {
|
try {
|
||||||
@@ -118,12 +119,12 @@ public class PatchSetNotificationSender {
|
|||||||
log.error("Cannot send email for new change " + updatedChange.getId(), e);
|
log.error("Cannot send email for new change " + updatedChange.getId(), e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
approvalsUtil.addReviewers(db, update, labelTypes, updatedChange,
|
approvalsUtil.addReviewers(db.get(), update, labelTypes, updatedChange,
|
||||||
updatedPatchSet, info, recipients.getReviewers(),
|
updatedPatchSet, info, recipients.getReviewers(),
|
||||||
approvalsUtil.getReviewers(db, notes).values());
|
approvalsUtil.getReviewers(db.get(), notes).values());
|
||||||
final ChangeMessage msg =
|
final ChangeMessage msg =
|
||||||
new ChangeMessage(new ChangeMessage.Key(updatedChange.getId(),
|
new ChangeMessage(new ChangeMessage.Key(updatedChange.getId(),
|
||||||
ChangeUtil.messageUUID(db)), me,
|
ChangeUtil.messageUUID(db.get())), me,
|
||||||
updatedPatchSet.getCreatedOn(), updatedPatchSet.getId());
|
updatedPatchSet.getCreatedOn(), updatedPatchSet.getId());
|
||||||
msg.setMessage("Uploaded patch set " + updatedPatchSet.getPatchSetId() + ".");
|
msg.setMessage("Uploaded patch set " + updatedPatchSet.getPatchSetId() + ".");
|
||||||
try {
|
try {
|
||||||
|
@@ -27,6 +27,7 @@ import com.google.gerrit.server.git.GitRepositoryManager;
|
|||||||
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
|
import com.google.gerrit.server.git.LocalDiskRepositoryManager;
|
||||||
import com.google.gerrit.server.project.GarbageCollect.Input;
|
import com.google.gerrit.server.project.GarbageCollect.Input;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
@@ -35,6 +36,7 @@ import java.io.PrintWriter;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
@RequiresCapability(GlobalCapability.RUN_GC)
|
@RequiresCapability(GlobalCapability.RUN_GC)
|
||||||
|
@Singleton
|
||||||
public class GarbageCollect implements RestModifyView<ProjectResource, Input>,
|
public class GarbageCollect implements RestModifyView<ProjectResource, Input>,
|
||||||
UiAction<ProjectResource> {
|
UiAction<ProjectResource> {
|
||||||
public static class Input {
|
public static class Input {
|
||||||
|
@@ -26,6 +26,7 @@ import com.google.gerrit.reviewdb.client.RefNames;
|
|||||||
import com.google.gerrit.server.extensions.webui.UiActions;
|
import com.google.gerrit.server.extensions.webui.UiActions;
|
||||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.Singleton;
|
||||||
import com.google.inject.util.Providers;
|
import com.google.inject.util.Providers;
|
||||||
|
|
||||||
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
import org.eclipse.jgit.errors.RepositoryNotFoundException;
|
||||||
@@ -42,6 +43,7 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
|
|
||||||
|
@Singleton
|
||||||
public class ListBranches implements RestReadView<ProjectResource> {
|
public class ListBranches implements RestReadView<ProjectResource> {
|
||||||
private final GitRepositoryManager repoManager;
|
private final GitRepositoryManager repoManager;
|
||||||
private final DynamicMap<RestView<BranchResource>> branchViews;
|
private final DynamicMap<RestView<BranchResource>> branchViews;
|
||||||
|
Reference in New Issue
Block a user