@Override
public Integer resolveOutagePendingRegainEventId(int nodeId, String ipAddr, String svcName, Date regainedTime) {
LOG.info("resolving outage for {}:{}:{} @ {}", nodeId, ipAddr, svcName, regainedTime);
final OnmsMonitoredService service = m_monitoredServiceDao.get(nodeId, InetAddressUtils.addr(ipAddr), svcName);
if (service == null) {
LOG.warn("Failed to resolve the pending outage for {}:{}:{} @ {}. The service could not be found.",
nodeId, ipAddr, svcName, regainedTime);
return null;
}
final OnmsOutage outage = m_outageDao.currentOutageForService(service);
if (outage == null) {
return null;
}
outage.setIfRegainedService(new Timestamp(regainedTime.getTime()));
m_outageDao.saveOrUpdate(outage);
return outage.getId();
}