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.EmailSender;
|
||||||
import com.google.gerrit.server.mail.MergeFailSender;
|
import com.google.gerrit.server.mail.MergeFailSender;
|
||||||
import com.google.gerrit.server.mail.MergedSender;
|
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.mail.SmtpEmailSender;
|
||||||
import com.google.gerrit.server.patch.DiffCache;
|
import com.google.gerrit.server.patch.DiffCache;
|
||||||
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
import com.google.gerrit.server.patch.PatchSetInfoFactory;
|
||||||
@@ -110,5 +111,8 @@ public class GerritServerModule extends AbstractModule {
|
|||||||
bind(MergeFailSender.Factory.class).toProvider(
|
bind(MergeFailSender.Factory.class).toProvider(
|
||||||
FactoryProvider.newFactory(MergeFailSender.Factory.class,
|
FactoryProvider.newFactory(MergeFailSender.Factory.class,
|
||||||
MergeFailSender.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.Account;
|
||||||
import com.google.gerrit.client.reviewdb.Change;
|
import com.google.gerrit.client.reviewdb.Change;
|
||||||
import com.google.gerrit.server.GerritServer;
|
import com.google.gerrit.server.GerritServer;
|
||||||
|
import com.google.inject.Inject;
|
||||||
|
import com.google.inject.assistedinject.Assisted;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -25,10 +27,17 @@ import java.util.Set;
|
|||||||
|
|
||||||
/** Send notice of new patch sets for reviewers. */
|
/** Send notice of new patch sets for reviewers. */
|
||||||
public class ReplacePatchSetSender extends ReplyToChangeSender {
|
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> reviewers = new HashSet<Account.Id>();
|
||||||
private final Set<Account.Id> extraCC = 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");
|
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.config.AuthConfig;
|
||||||
import com.google.gerrit.server.mail.CreateChangeSender;
|
import com.google.gerrit.server.mail.CreateChangeSender;
|
||||||
import com.google.gerrit.server.mail.EmailException;
|
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.MergedSender;
|
||||||
import com.google.gerrit.server.mail.ReplacePatchSetSender;
|
import com.google.gerrit.server.mail.ReplacePatchSetSender;
|
||||||
import com.google.gerrit.server.patch.DiffCache;
|
import com.google.gerrit.server.patch.DiffCache;
|
||||||
@@ -134,15 +133,15 @@ class Receive extends AbstractGitCommand {
|
|||||||
@Inject
|
@Inject
|
||||||
private AuthConfig authConfig;
|
private AuthConfig authConfig;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private EmailSender emailSender;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private CreateChangeSender.Factory createChangeSenderFactory;
|
private CreateChangeSender.Factory createChangeSenderFactory;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private MergedSender.Factory mergedSenderFactory;
|
private MergedSender.Factory mergedSenderFactory;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ReplacePatchSetSender.Factory replacePatchSetFactory;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ReplicationQueue replication;
|
private ReplicationQueue replication;
|
||||||
|
|
||||||
@@ -1044,7 +1043,7 @@ class Receive extends AbstractGitCommand {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
final ReplacePatchSetSender cm;
|
final ReplacePatchSetSender cm;
|
||||||
cm = new ReplacePatchSetSender(server, emailSender, result.change);
|
cm = replacePatchSetFactory.create(result.change);
|
||||||
cm.setFrom(me);
|
cm.setFrom(me);
|
||||||
cm.setPatchSet(ps, result.info);
|
cm.setPatchSet(ps, result.info);
|
||||||
cm.setChangeMessage(result.msg);
|
cm.setChangeMessage(result.msg);
|
||||||
|
|||||||
Reference in New Issue
Block a user