Merge change 10858
* changes: AddReviewerSender class is managed by Guice through AssistedInject.
This commit is contained in:
@@ -28,6 +28,7 @@ import com.google.gerrit.server.config.GerritServerConfig;
|
||||
import com.google.gerrit.server.config.GerritServerConfigProvider;
|
||||
import com.google.gerrit.server.config.SitePath;
|
||||
import com.google.gerrit.server.config.SitePathProvider;
|
||||
import com.google.gerrit.server.mail.AddReviewerSender;
|
||||
import com.google.gerrit.server.mail.EmailSender;
|
||||
import com.google.gerrit.server.mail.RegisterNewEmailSender;
|
||||
import com.google.gerrit.server.mail.SmtpEmailSender;
|
||||
@@ -78,5 +79,8 @@ public class GerritServerModule extends AbstractModule {
|
||||
bind(RegisterNewEmailSender.Factory.class).toProvider(
|
||||
FactoryProvider.newFactory(RegisterNewEmailSender.Factory.class,
|
||||
RegisterNewEmailSender.class));
|
||||
bind(AddReviewerSender.Factory.class).toProvider(
|
||||
FactoryProvider.newFactory(AddReviewerSender.Factory.class,
|
||||
AddReviewerSender.class));
|
||||
}
|
||||
}
|
||||
|
@@ -16,10 +16,18 @@ package com.google.gerrit.server.mail;
|
||||
|
||||
import com.google.gerrit.client.reviewdb.Change;
|
||||
import com.google.gerrit.server.GerritServer;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
|
||||
/** Asks a user to review a change. */
|
||||
public class AddReviewerSender extends NewChangeSender {
|
||||
public AddReviewerSender(GerritServer gs, EmailSender sf, Change c) {
|
||||
|
||||
public static interface Factory {
|
||||
AddReviewerSender create(Change change);
|
||||
}
|
||||
|
||||
@Inject
|
||||
public AddReviewerSender(GerritServer gs, EmailSender sf, @Assisted Change c) {
|
||||
super(gs, sf, c);
|
||||
}
|
||||
|
||||
|
@@ -72,14 +72,17 @@ public class PatchDetailServiceImpl extends BaseServiceImplementation implements
|
||||
private final GerritServer server;
|
||||
private final FileTypeRegistry registry;
|
||||
private final EmailSender emailSender;
|
||||
private final AddReviewerSender.Factory addReviewerSenderFactory;
|
||||
|
||||
@Inject
|
||||
PatchDetailServiceImpl(final SchemaFactory<ReviewDb> sf,
|
||||
final GerritServer gs, final FileTypeRegistry ftr, final EmailSender es) {
|
||||
final GerritServer gs, final FileTypeRegistry ftr, final EmailSender es,
|
||||
final AddReviewerSender.Factory arsf) {
|
||||
super(sf);
|
||||
server = gs;
|
||||
registry = ftr;
|
||||
emailSender = es;
|
||||
addReviewerSenderFactory = arsf;
|
||||
}
|
||||
|
||||
public void patchScript(final Patch.Key patchKey, final PatchSet.Id psa,
|
||||
@@ -362,7 +365,7 @@ public class PatchDetailServiceImpl extends BaseServiceImplementation implements
|
||||
// Email the reviewer
|
||||
try {
|
||||
final AddReviewerSender cm;
|
||||
cm = new AddReviewerSender(server, emailSender, change);
|
||||
cm = addReviewerSenderFactory.create(change);
|
||||
cm.setFrom(Common.getAccountId());
|
||||
cm.setReviewDb(db);
|
||||
cm.addReviewers(reviewerIds);
|
||||
|
Reference in New Issue
Block a user