Make ReplacePatchSetSender managed by Guice.
Since now only classes in com.google.gerrit.server.mail package depend on EmailSender interface. Signed-off-by: Grzegorz Kossakowski <grek@google.com>
This commit is contained in:
@@ -36,6 +36,7 @@ import com.google.gerrit.server.mail.CreateChangeSender;
|
||||
import com.google.gerrit.server.mail.EmailSender;
|
||||
import com.google.gerrit.server.mail.MergeFailSender;
|
||||
import com.google.gerrit.server.mail.MergedSender;
|
||||
import com.google.gerrit.server.mail.ReplacePatchSetSender;
|
||||
import com.google.gerrit.server.mail.SmtpEmailSender;
|
||||
import com.google.gerrit.server.patch.DiffCache;
|
||||
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
||||
@@ -110,5 +111,8 @@ public class GerritServerModule extends AbstractModule {
|
||||
bind(MergeFailSender.Factory.class).toProvider(
|
||||
FactoryProvider.newFactory(MergeFailSender.Factory.class,
|
||||
MergeFailSender.class));
|
||||
bind(ReplacePatchSetSender.Factory.class).toProvider(
|
||||
FactoryProvider.newFactory(ReplacePatchSetSender.Factory.class,
|
||||
ReplacePatchSetSender.class));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ package com.google.gerrit.server.mail;
|
||||
import com.google.gerrit.client.reviewdb.Account;
|
||||
import com.google.gerrit.client.reviewdb.Change;
|
||||
import com.google.gerrit.server.GerritServer;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
@@ -25,10 +27,17 @@ import java.util.Set;
|
||||
|
||||
/** Send notice of new patch sets for reviewers. */
|
||||
public class ReplacePatchSetSender extends ReplyToChangeSender {
|
||||
|
||||
public static interface Factory {
|
||||
public ReplacePatchSetSender create(Change change);
|
||||
}
|
||||
|
||||
private final Set<Account.Id> reviewers = new HashSet<Account.Id>();
|
||||
private final Set<Account.Id> extraCC = new HashSet<Account.Id>();
|
||||
|
||||
public ReplacePatchSetSender(GerritServer gs, EmailSender sf, Change c) {
|
||||
@Inject
|
||||
public ReplacePatchSetSender(GerritServer gs, EmailSender sf,
|
||||
@Assisted Change c) {
|
||||
super(gs, sf, c, "newpatchset");
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@ import com.google.gerrit.server.ChangeUtil;
|
||||
import com.google.gerrit.server.config.AuthConfig;
|
||||
import com.google.gerrit.server.mail.CreateChangeSender;
|
||||
import com.google.gerrit.server.mail.EmailException;
|
||||
import com.google.gerrit.server.mail.EmailSender;
|
||||
import com.google.gerrit.server.mail.MergedSender;
|
||||
import com.google.gerrit.server.mail.ReplacePatchSetSender;
|
||||
import com.google.gerrit.server.patch.DiffCache;
|
||||
@@ -134,15 +133,15 @@ class Receive extends AbstractGitCommand {
|
||||
@Inject
|
||||
private AuthConfig authConfig;
|
||||
|
||||
@Inject
|
||||
private EmailSender emailSender;
|
||||
|
||||
@Inject
|
||||
private CreateChangeSender.Factory createChangeSenderFactory;
|
||||
|
||||
@Inject
|
||||
private MergedSender.Factory mergedSenderFactory;
|
||||
|
||||
@Inject
|
||||
private ReplacePatchSetSender.Factory replacePatchSetFactory;
|
||||
|
||||
@Inject
|
||||
private ReplicationQueue replication;
|
||||
|
||||
@@ -1044,7 +1043,7 @@ class Receive extends AbstractGitCommand {
|
||||
|
||||
try {
|
||||
final ReplacePatchSetSender cm;
|
||||
cm = new ReplacePatchSetSender(server, emailSender, result.change);
|
||||
cm = replacePatchSetFactory.create(result.change);
|
||||
cm.setFrom(me);
|
||||
cm.setPatchSet(ps, result.info);
|
||||
cm.setChangeMessage(result.msg);
|
||||
|
||||
Reference in New Issue
Block a user