AbandonedSender is managed by Guice now.

Signed-off-by: Grzegorz Kossakowski <grek@google.com>
This commit is contained in:
Grzegorz Kossakowski
2009-07-29 17:16:16 -07:00
parent de835ac826
commit d102cd74e6
3 changed files with 18 additions and 3 deletions

View File

@@ -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.AbandonedSender;
import com.google.gerrit.server.mail.AddReviewerSender;
import com.google.gerrit.server.mail.CreateChangeSender;
import com.google.gerrit.server.mail.EmailSender;
@@ -86,5 +87,8 @@ public class GerritServerModule extends AbstractModule {
bind(CreateChangeSender.Factory.class).toProvider(
FactoryProvider.newFactory(CreateChangeSender.Factory.class,
CreateChangeSender.class));
bind(AbandonedSender.Factory.class).toProvider(
FactoryProvider.newFactory(AbandonedSender.Factory.class,
AbandonedSender.class));
}
}

View File

@@ -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;
/** Send notice about a change being abandoned by its owner. */
public class AbandonedSender extends ReplyToChangeSender {
public AbandonedSender(GerritServer gs, EmailSender sf, Change c) {
public static interface Factory {
AbandonedSender create(Change change);
}
@Inject
public AbandonedSender(GerritServer gs, EmailSender sf, @Assisted Change c) {
super(gs, sf, c, "abandon");
}

View File

@@ -73,16 +73,19 @@ public class PatchDetailServiceImpl extends BaseServiceImplementation implements
private final FileTypeRegistry registry;
private final EmailSender emailSender;
private final AddReviewerSender.Factory addReviewerSenderFactory;
private final AbandonedSender.Factory abandonedSenderFactory;
@Inject
PatchDetailServiceImpl(final SchemaFactory<ReviewDb> sf,
final GerritServer gs, final FileTypeRegistry ftr, final EmailSender es,
final AddReviewerSender.Factory arsf) {
final AddReviewerSender.Factory arsf,
final AbandonedSender.Factory asf) {
super(sf);
server = gs;
registry = ftr;
emailSender = es;
addReviewerSenderFactory = arsf;
abandonedSenderFactory = asf;
}
public void patchScript(final Patch.Key patchKey, final PatchSet.Id psa,
@@ -448,7 +451,7 @@ public class PatchDetailServiceImpl extends BaseServiceImplementation implements
// Email the reviewers
try {
final AbandonedSender cm;
cm = new AbandonedSender(server, emailSender, change);
cm = abandonedSenderFactory.create(change);
cm.setFrom(me);
cm.setReviewDb(db);
cm.setChangeMessage(cmsg);