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.GerritServerConfigProvider;
import com.google.gerrit.server.config.SitePath; import com.google.gerrit.server.config.SitePath;
import com.google.gerrit.server.config.SitePathProvider; 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.AddReviewerSender;
import com.google.gerrit.server.mail.CreateChangeSender; import com.google.gerrit.server.mail.CreateChangeSender;
import com.google.gerrit.server.mail.EmailSender; import com.google.gerrit.server.mail.EmailSender;
@@ -86,5 +87,8 @@ public class GerritServerModule extends AbstractModule {
bind(CreateChangeSender.Factory.class).toProvider( bind(CreateChangeSender.Factory.class).toProvider(
FactoryProvider.newFactory(CreateChangeSender.Factory.class, FactoryProvider.newFactory(CreateChangeSender.Factory.class,
CreateChangeSender.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.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;
/** Send notice about a change being abandoned by its owner. */ /** Send notice about a change being abandoned by its owner. */
public class AbandonedSender extends ReplyToChangeSender { 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"); super(gs, sf, c, "abandon");
} }

View File

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