Merge change 10856
* changes: RegisterNewEmailSender is managed by Guice through AssistedInject.
This commit is contained in:
@@ -30,7 +30,6 @@ import com.google.gerrit.client.rpc.InvalidSshKeyException;
|
||||
import com.google.gerrit.client.rpc.NoSuchEntityException;
|
||||
import com.google.gerrit.server.mail.EmailException;
|
||||
import com.google.gerrit.server.mail.RegisterNewEmailSender;
|
||||
import com.google.gerrit.server.mail.EmailSender;
|
||||
import com.google.gerrit.server.ssh.SshUtil;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwtjsonrpc.client.VoidResult;
|
||||
@@ -65,15 +64,15 @@ class AccountSecurityImpl extends BaseServiceImplementation implements
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final GerritServer server;
|
||||
private final ContactStore contactStore;
|
||||
private final EmailSender emailSender;
|
||||
private final RegisterNewEmailSender.Factory registerNewEmailFactory;
|
||||
|
||||
@Inject
|
||||
AccountSecurityImpl(final SchemaFactory<ReviewDb> sf, final GerritServer gs,
|
||||
final ContactStore cs, final EmailSender es) {
|
||||
final ContactStore cs, final RegisterNewEmailSender.Factory esf) {
|
||||
super(sf);
|
||||
server = gs;
|
||||
contactStore = cs;
|
||||
emailSender = es;
|
||||
registerNewEmailFactory = esf;
|
||||
}
|
||||
|
||||
public void mySshKeys(final AsyncCallback<List<AccountSshKey>> callback) {
|
||||
@@ -289,7 +288,7 @@ class AccountSecurityImpl extends BaseServiceImplementation implements
|
||||
GerritJsonServlet.getCurrentCall().getHttpServletRequest();
|
||||
try {
|
||||
final RegisterNewEmailSender sender;
|
||||
sender = new RegisterNewEmailSender(server, emailSender, address, req);
|
||||
sender = registerNewEmailFactory.create(address);
|
||||
sender.send();
|
||||
cb.onSuccess(VoidResult.INSTANCE);
|
||||
} catch (EmailException e) {
|
||||
|
@@ -29,12 +29,14 @@ 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.EmailSender;
|
||||
import com.google.gerrit.server.mail.RegisterNewEmailSender;
|
||||
import com.google.gerrit.server.mail.SmtpEmailSender;
|
||||
import com.google.gwtorm.client.SchemaFactory;
|
||||
import com.google.gwtorm.jdbc.Database;
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Key;
|
||||
import com.google.inject.TypeLiteral;
|
||||
import com.google.inject.assistedinject.FactoryProvider;
|
||||
import com.google.inject.name.Names;
|
||||
|
||||
import org.spearce.jgit.lib.Config;
|
||||
@@ -72,5 +74,9 @@ public class GerritServerModule extends AbstractModule {
|
||||
bind(GerritConfig.class).toProvider(GerritConfigProvider.class).in(
|
||||
SINGLETON);
|
||||
bind(PatchSetInfoFactory.class);
|
||||
|
||||
bind(RegisterNewEmailSender.Factory.class).toProvider(
|
||||
FactoryProvider.newFactory(RegisterNewEmailSender.Factory.class,
|
||||
RegisterNewEmailSender.class));
|
||||
}
|
||||
}
|
||||
|
@@ -16,6 +16,8 @@ package com.google.gerrit.server.mail;
|
||||
|
||||
import com.google.gerrit.server.GerritServer;
|
||||
import com.google.gwtjsonrpc.server.XsrfException;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.assistedinject.Assisted;
|
||||
|
||||
import org.spearce.jgit.util.Base64;
|
||||
|
||||
@@ -24,11 +26,17 @@ import java.io.UnsupportedEncodingException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
public class RegisterNewEmailSender extends OutgoingEmail {
|
||||
|
||||
public static interface Factory {
|
||||
public RegisterNewEmailSender create(String address);
|
||||
}
|
||||
|
||||
private final HttpServletRequest req;
|
||||
private final String addr;
|
||||
|
||||
@Inject
|
||||
public RegisterNewEmailSender(final GerritServer gs, final EmailSender sf,
|
||||
final String address, final HttpServletRequest request) {
|
||||
@Assisted final String address, final HttpServletRequest request) {
|
||||
super(gs, sf, null, "registernewemail");
|
||||
addr = address;
|
||||
req = request;
|
||||
|
Reference in New Issue
Block a user