use of org.opennms.web.outage.filter.OutageCriteria in project opennms by OpenNMS.
the class DaoWebOutageRepositoryIT method testCountMatchingOutages.
@Test
@Transactional
public void testCountMatchingOutages() {
int count = m_daoOutageRepo.countMatchingOutages(new OutageCriteria());
assertEquals(3, count);
count = m_daoOutageRepo.countMatchingOutages(new OutageCriteria(new RegainedServiceDateBeforeFilter(new Date())));
assertEquals(1, count);
}
use of org.opennms.web.outage.filter.OutageCriteria in project opennms by OpenNMS.
the class DaoWebOutageRepositoryIT method testGetOutagesByLocation.
@Test
// Relies on specific IDs so we need a fresh database
@JUnitTemporaryDatabase
public void testGetOutagesByLocation() {
createNodeEventAndOutage("Pittsboro", "nodeA", "172.16.10.10", "ICMP");
createNodeEventAndOutage("Pittsboro", "nodeB", "172.16.10.20", "ICMP");
createNodeEventAndOutage("Minneapolis", "nodeC", "172.16.20.10", "ICMP");
createNodeEventAndOutage("Minneapolis", "nodeD", "172.16.20.20", "ICMP");
createNodeEventAndOutage("Minneapolis", "nodeE", "172.16.20.30", "ICMP");
Outage[] outage1 = m_daoOutageRepo.getMatchingOutages(new OutageCriteria());
assertEquals(8, outage1.length);
Outage[] outage2 = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new LocationFilter("Minneapolis")));
assertEquals(3, outage2.length);
assertTrue(Arrays.stream(outage2).allMatch(o -> o.getLocation().equals("Minneapolis")));
Outage[] outage3 = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new NegativeLocationFilter("Minneapolis")));
assertEquals(5, outage3.length);
assertTrue(Arrays.stream(outage3).allMatch(o -> !o.getLocation().equals("Minneapolis")));
}
use of org.opennms.web.outage.filter.OutageCriteria in project opennms by OpenNMS.
the class DaoWebOutageRepositoryIT method testGetOutageSummaries.
@Test
// Relies on records created in @Before so we need a fresh database
@JUnitTemporaryDatabase
public void testGetOutageSummaries() {
OutageSummary[] summaries = m_daoOutageRepo.getMatchingOutageSummaries(new OutageCriteria());
assertEquals("there should be 2 outage summary in the default (current) outage criteria match", 2, summaries.length);
}
use of org.opennms.web.outage.filter.OutageCriteria in project opennms by OpenNMS.
the class DaoWebOutageRepositoryIT method testGetMatchingOutagesByForeignSource.
/**
* @see http://issues.opennms.org/browse/NMS-8275
*/
@Test
// Relies on specific IDs so we need a fresh database
@JUnitTemporaryDatabase
public void testGetMatchingOutagesByForeignSource() {
Outage[] outages = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new ForeignSourceFilter("imported:")));
assertEquals(3, outages.length);
outages = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new ForeignSourceFilter("DOESNT_EXIST")));
assertEquals(0, outages.length);
outages = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new NegativeForeignSourceFilter("imported:")));
assertEquals(0, outages.length);
outages = m_daoOutageRepo.getMatchingOutages(new OutageCriteria(new NegativeForeignSourceFilter("DOESNT_EXIST")));
assertEquals(3, outages.length);
}
use of org.opennms.web.outage.filter.OutageCriteria in project opennms by OpenNMS.
the class InterfaceOutagesController method handleRequestInternal.
/**
* {@inheritDoc}
*/
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
String nodeIdString = request.getParameter("node");
String ipAddr = request.getParameter("ipAddr");
int nodeId = -1;
Outage[] outages = new Outage[0];
if (nodeIdString != null && ipAddr != null) {
nodeId = WebSecurityUtils.safeParseInt(nodeIdString);
List<Filter> filters = new ArrayList<>();
filters.add(new InterfaceFilter(ipAddr));
filters.add(new NodeFilter(nodeId, getServletContext()));
filters.add(new RecentOutagesFilter());
OutageCriteria criteria = new OutageCriteria(filters.toArray(new Filter[0]), SortStyle.ID, null, -1, -1);
outages = m_webOutageRepository.getMatchingOutages(criteria);
}
ModelAndView modelAndView = new ModelAndView(getSuccessView());
modelAndView.addObject("nodeId", nodeId);
modelAndView.addObject("ipAddr", ipAddr);
modelAndView.addObject("outages", outages);
return modelAndView;
}
Aggregations