package codeine.mail;
import java.util.List;
import javax.inject.Inject;
import org.apache.log4j.Logger;
import codeine.api.NodeInfo;
import codeine.configuration.ConfiguredProjectUtils;
import codeine.configuration.NodeMonitor;
import codeine.jsons.peer_status.PeerStatus;
import codeine.jsons.project.ProjectJson;
public class MailSender
{
private static final Logger log = Logger.getLogger(MailSender.class);
@Inject private SendMailDirectly collectorStrategy;
@Inject private ConfiguredProjectUtils configuredProjectUtils;
@Inject private PeerStatus projectStatusList;
public void sendMailIfNeeded(boolean result, boolean previousResult, NodeMonitor collector, NodeInfo node, String output, ProjectJson project)
{
ShouldSendMailValidator needMailValidator = new ShouldSendMailValidator(result, previousResult, collector, configuredProjectUtils, project, node, projectStatusList);
if (!needMailValidator.shouldMail())
{
return;
}
List<String> mailingList = composeMailingList(collector, project);
log.info("sending mail to " + mailingList);
collectorStrategy.sendCollectorResult(mailingList, collector.name(), result, node, project, output);
}
private List<String> composeMailingList(NodeMonitor collector, ProjectJson project)
{
throw new UnsupportedOperationException("not enabled for now");
}
}