CreateChangeSender class is managed by Guice through AssistedInject.
Signed-off-by: Grzegorz Kossakowski <grek@google.com>
This commit is contained in:
		@@ -29,6 +29,7 @@ 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.CreateChangeSender;
 | 
			
		||||
import com.google.gerrit.server.mail.EmailSender;
 | 
			
		||||
import com.google.gerrit.server.mail.RegisterNewEmailSender;
 | 
			
		||||
import com.google.gerrit.server.mail.SmtpEmailSender;
 | 
			
		||||
@@ -82,5 +83,8 @@ public class GerritServerModule extends AbstractModule {
 | 
			
		||||
    bind(AddReviewerSender.Factory.class).toProvider(
 | 
			
		||||
        FactoryProvider.newFactory(AddReviewerSender.Factory.class,
 | 
			
		||||
            AddReviewerSender.class));
 | 
			
		||||
    bind(CreateChangeSender.Factory.class).toProvider(
 | 
			
		||||
        FactoryProvider.newFactory(CreateChangeSender.Factory.class,
 | 
			
		||||
            CreateChangeSender.class));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -22,13 +22,21 @@ import com.google.gerrit.client.reviewdb.Change;
 | 
			
		||||
import com.google.gerrit.client.reviewdb.Project;
 | 
			
		||||
import com.google.gerrit.server.GerritServer;
 | 
			
		||||
import com.google.gwtorm.client.OrmException;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
import com.google.inject.assistedinject.Assisted;
 | 
			
		||||
 | 
			
		||||
import java.util.HashSet;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
 | 
			
		||||
/** Notify interested parties of a brand new change. */
 | 
			
		||||
public class CreateChangeSender extends NewChangeSender {
 | 
			
		||||
  public CreateChangeSender(GerritServer gs, EmailSender sf, Change c) {
 | 
			
		||||
 | 
			
		||||
  public static interface Factory {
 | 
			
		||||
    public CreateChangeSender create(Change change);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  public CreateChangeSender(GerritServer gs, EmailSender sf, @Assisted Change c) {
 | 
			
		||||
    super(gs, sf, c);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -132,6 +132,9 @@ class Receive extends AbstractGitCommand {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private EmailSender emailSender;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private CreateChangeSender.Factory createChangeSenderFactory;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private ReplicationQueue replication;
 | 
			
		||||
 | 
			
		||||
@@ -769,7 +772,7 @@ class Receive extends AbstractGitCommand {
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      final CreateChangeSender cm;
 | 
			
		||||
      cm = new CreateChangeSender(server, emailSender, change);
 | 
			
		||||
      cm = createChangeSenderFactory.create(change);
 | 
			
		||||
      cm.setFrom(me);
 | 
			
		||||
      cm.setPatchSet(ps, imp.getPatchSetInfo());
 | 
			
		||||
      cm.setReviewDb(db);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user