Search in sources :

Example 1 with OutageCriteria

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);
}
Also used : OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) RegainedServiceDateBeforeFilter(org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter) Date(java.util.Date) Test(org.junit.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with OutageCriteria

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")));
}
Also used : OnmsMonitoringLocation(org.opennms.netmgt.model.monitoringLocations.OnmsMonitoringLocation) RegainedServiceDateBeforeFilter(org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter) Arrays(java.util.Arrays) BeforeClass(org.junit.BeforeClass) OnmsMonitoredService(org.opennms.netmgt.model.OnmsMonitoredService) Date(java.util.Date) OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) RunWith(org.junit.runner.RunWith) OnmsEvent(org.opennms.netmgt.model.OnmsEvent) Autowired(org.springframework.beans.factory.annotation.Autowired) InetAddressUtils.addr(org.opennms.core.utils.InetAddressUtils.addr) OutageSummary(org.opennms.netmgt.model.outage.OutageSummary) InitializingBean(org.springframework.beans.factory.InitializingBean) OutageIdFilter(org.opennms.web.outage.filter.OutageIdFilter) LocationFilter(org.opennms.web.outage.filter.LocationFilter) OnmsNode(org.opennms.netmgt.model.OnmsNode) NegativeNodeFilter(org.opennms.web.outage.filter.NegativeNodeFilter) Before(org.junit.Before) DatabasePopulator(org.opennms.netmgt.dao.DatabasePopulator) Properties(java.util.Properties) OnmsIpInterface(org.opennms.netmgt.model.OnmsIpInterface) JUnitConfigurationEnvironment(org.opennms.test.JUnitConfigurationEnvironment) Assert.assertNotNull(org.junit.Assert.assertNotNull) InetAddressUtils(org.opennms.core.utils.InetAddressUtils) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) MockLogAppender(org.opennms.core.test.MockLogAppender) BeanUtils(org.opennms.core.spring.BeanUtils) List(java.util.List) OpenNMSJUnit4ClassRunner(org.opennms.core.test.OpenNMSJUnit4ClassRunner) JUnitTemporaryDatabase(org.opennms.core.test.db.annotations.JUnitTemporaryDatabase) OnmsOutage(org.opennms.netmgt.model.OnmsOutage) ForeignSourceFilter(org.opennms.web.outage.filter.ForeignSourceFilter) ContextConfiguration(org.springframework.test.context.ContextConfiguration) NodeFilter(org.opennms.web.outage.filter.NodeFilter) Assert.assertEquals(org.junit.Assert.assertEquals) OnmsSeverity(org.opennms.netmgt.model.OnmsSeverity) Transactional(org.springframework.transaction.annotation.Transactional) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) OnmsOutage(org.opennms.netmgt.model.OnmsOutage) LocationFilter(org.opennms.web.outage.filter.LocationFilter) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) Test(org.junit.Test) JUnitTemporaryDatabase(org.opennms.core.test.db.annotations.JUnitTemporaryDatabase)

Example 3 with OutageCriteria

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);
}
Also used : OutageSummary(org.opennms.netmgt.model.outage.OutageSummary) OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) Test(org.junit.Test) JUnitTemporaryDatabase(org.opennms.core.test.db.annotations.JUnitTemporaryDatabase)

Example 4 with OutageCriteria

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);
}
Also used : NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) ForeignSourceFilter(org.opennms.web.outage.filter.ForeignSourceFilter) OnmsOutage(org.opennms.netmgt.model.OnmsOutage) OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) Test(org.junit.Test) JUnitTemporaryDatabase(org.opennms.core.test.db.annotations.JUnitTemporaryDatabase)

Example 5 with OutageCriteria

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;
}
Also used : InterfaceFilter(org.opennms.web.outage.filter.InterfaceFilter) Outage(org.opennms.web.outage.Outage) Filter(org.opennms.web.filter.Filter) RecentOutagesFilter(org.opennms.web.outage.filter.RecentOutagesFilter) NodeFilter(org.opennms.web.outage.filter.NodeFilter) InterfaceFilter(org.opennms.web.outage.filter.InterfaceFilter) ArrayList(java.util.ArrayList) ModelAndView(org.springframework.web.servlet.ModelAndView) OutageCriteria(org.opennms.web.outage.filter.OutageCriteria) RecentOutagesFilter(org.opennms.web.outage.filter.RecentOutagesFilter) NodeFilter(org.opennms.web.outage.filter.NodeFilter)

Aggregations

OutageCriteria (org.opennms.web.outage.filter.OutageCriteria)11 Test (org.junit.Test)7 JUnitTemporaryDatabase (org.opennms.core.test.db.annotations.JUnitTemporaryDatabase)6 NodeFilter (org.opennms.web.outage.filter.NodeFilter)5 ArrayList (java.util.ArrayList)4 OnmsOutage (org.opennms.netmgt.model.OnmsOutage)4 Filter (org.opennms.web.filter.Filter)4 Outage (org.opennms.web.outage.Outage)4 Date (java.util.Date)3 RegainedServiceDateBeforeFilter (org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter)3 ModelAndView (org.springframework.web.servlet.ModelAndView)3 OutageSummary (org.opennms.netmgt.model.outage.OutageSummary)2 ForeignSourceFilter (org.opennms.web.outage.filter.ForeignSourceFilter)2 InterfaceFilter (org.opennms.web.outage.filter.InterfaceFilter)2 NegativeForeignSourceFilter (org.opennms.web.outage.filter.NegativeForeignSourceFilter)2 NegativeNodeFilter (org.opennms.web.outage.filter.NegativeNodeFilter)2 RecentOutagesFilter (org.opennms.web.outage.filter.RecentOutagesFilter)2 Transactional (org.springframework.transaction.annotation.Transactional)2 Arrays (java.util.Arrays)1 List (java.util.List)1