package codeine.mail; import javax.inject.Inject; import org.apache.log4j.Logger; import codeine.api.NodeInfo; import codeine.db.IAlertsDatabaseConnector; import codeine.jsons.mails.CollectorNotificationJson; import codeine.jsons.nodes.NodeHelper; import codeine.jsons.peer_status.PeerStatus; import codeine.jsons.project.ProjectJson; import codeine.utils.network.InetUtils; public class NotificationDeliverToDatabase { private static final Logger log = Logger.getLogger(NotificationDeliverToDatabase.class); @Inject private PeerStatus peerStatus; @Inject private IAlertsDatabaseConnector alertsConnector; public void sendCollectorResult(String collectorName, NodeInfo node, ProjectJson project, String output, int exit_status, String duration, boolean is_for_collector, int notifications_in_24h) { String version = new NodeHelper().getVersionOrNull(peerStatus.createJson(), project, node); CollectorNotificationJson collectorNotificationJson = new CollectorNotificationJson(collectorName, project.name(), output, node.name(), node.alias(), version, InetUtils.getLocalHost().getHostName(), exit_status, duration, is_for_collector, notifications_in_24h); log.info("sending notification " + collectorNotificationJson.toStringNoOutput()); alertsConnector.put(collectorNotificationJson); } }