Search in sources :

Example 1 with LocationFilter

use of org.opennms.web.outage.filter.LocationFilter 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 2 with LocationFilter

use of org.opennms.web.outage.filter.LocationFilter in project opennms by OpenNMS.

the class OutageUtil method getFilter.

/**
     * <p>getFilter</p>
     *
     * @param filterString a {@link java.lang.String} object.
     * @return a org$opennms$web$filter$Filter object.
     */
public static Filter getFilter(String filterString, ServletContext servletContext) {
    if (filterString == null) {
        throw new IllegalArgumentException("Cannot take null parameters.");
    }
    Filter filter = null;
    StringTokenizer tokens = new StringTokenizer(filterString, "=");
    String type;
    String value;
    try {
        type = tokens.nextToken();
        value = tokens.nextToken();
    } catch (NoSuchElementException e) {
        throw new IllegalArgumentException("Could not tokenize filter string: " + filterString);
    }
    if (type.equals(NodeFilter.TYPE)) {
        filter = new NodeFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(ForeignSourceFilter.TYPE)) {
        filter = new ForeignSourceFilter(value);
    } else if (type.equals(InterfaceFilter.TYPE)) {
        filter = new InterfaceFilter(value);
    } else if (type.equals(ServiceFilter.TYPE)) {
        filter = new ServiceFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(OutageIdFilter.TYPE)) {
        filter = new OutageIdFilter(WebSecurityUtils.safeParseInt(value));
    } else if (type.equals(NegativeForeignSourceFilter.TYPE)) {
        filter = new NegativeForeignSourceFilter(value);
    } else if (type.equals(NegativeNodeFilter.TYPE)) {
        filter = new NegativeNodeFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(NegativeInterfaceFilter.TYPE)) {
        filter = new NegativeInterfaceFilter(value);
    } else if (type.equals(NegativeServiceFilter.TYPE)) {
        filter = new NegativeServiceFilter(WebSecurityUtils.safeParseInt(value), servletContext);
    } else if (type.equals(LostServiceDateBeforeFilter.TYPE)) {
        filter = new LostServiceDateBeforeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(LostServiceDateAfterFilter.TYPE)) {
        filter = new LostServiceDateAfterFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(RegainedServiceDateBeforeFilter.TYPE)) {
        filter = new RegainedServiceDateBeforeFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.equals(RegainedServiceDateAfterFilter.TYPE)) {
        filter = new RegainedServiceDateAfterFilter(WebSecurityUtils.safeParseLong(value));
    } else if (type.startsWith(AssetFilter.TYPE)) {
        filter = new AssetFilter(type, value);
    } else if (type.startsWith(LocationFilter.TYPE)) {
        filter = new LocationFilter(value);
    } else if (type.startsWith(NegativeLocationFilter.TYPE)) {
        filter = new NegativeLocationFilter(value);
    }
    return filter;
}
Also used : NegativeServiceFilter(org.opennms.web.outage.filter.NegativeServiceFilter) ServiceFilter(org.opennms.web.outage.filter.ServiceFilter) InterfaceFilter(org.opennms.web.outage.filter.InterfaceFilter) NegativeInterfaceFilter(org.opennms.web.outage.filter.NegativeInterfaceFilter) NegativeNodeFilter(org.opennms.web.outage.filter.NegativeNodeFilter) NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) RegainedServiceDateBeforeFilter(org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter) AssetFilter(org.opennms.web.outage.filter.AssetFilter) NegativeInterfaceFilter(org.opennms.web.outage.filter.NegativeInterfaceFilter) StringTokenizer(java.util.StringTokenizer) LostServiceDateBeforeFilter(org.opennms.web.outage.filter.LostServiceDateBeforeFilter) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) ForeignSourceFilter(org.opennms.web.outage.filter.ForeignSourceFilter) RegainedServiceDateAfterFilter(org.opennms.web.outage.filter.RegainedServiceDateAfterFilter) RegainedServiceDateBeforeFilter(org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter) LostServiceDateAfterFilter(org.opennms.web.outage.filter.LostServiceDateAfterFilter) OutageIdFilter(org.opennms.web.outage.filter.OutageIdFilter) LostServiceDateBeforeFilter(org.opennms.web.outage.filter.LostServiceDateBeforeFilter) NegativeServiceFilter(org.opennms.web.outage.filter.NegativeServiceFilter) LocationFilter(org.opennms.web.outage.filter.LocationFilter) AssetFilter(org.opennms.web.outage.filter.AssetFilter) InterfaceFilter(org.opennms.web.outage.filter.InterfaceFilter) NegativeNodeFilter(org.opennms.web.outage.filter.NegativeNodeFilter) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) Filter(org.opennms.web.filter.Filter) NegativeInterfaceFilter(org.opennms.web.outage.filter.NegativeInterfaceFilter) NegativeForeignSourceFilter(org.opennms.web.outage.filter.NegativeForeignSourceFilter) ForeignSourceFilter(org.opennms.web.outage.filter.ForeignSourceFilter) ServiceFilter(org.opennms.web.outage.filter.ServiceFilter) NodeFilter(org.opennms.web.outage.filter.NodeFilter) RegainedServiceDateAfterFilter(org.opennms.web.outage.filter.RegainedServiceDateAfterFilter) LocationFilter(org.opennms.web.outage.filter.LocationFilter) NegativeLocationFilter(org.opennms.web.outage.filter.NegativeLocationFilter) LostServiceDateAfterFilter(org.opennms.web.outage.filter.LostServiceDateAfterFilter) OutageIdFilter(org.opennms.web.outage.filter.OutageIdFilter) NegativeServiceFilter(org.opennms.web.outage.filter.NegativeServiceFilter) NoSuchElementException(java.util.NoSuchElementException) NegativeNodeFilter(org.opennms.web.outage.filter.NegativeNodeFilter) NodeFilter(org.opennms.web.outage.filter.NodeFilter)

Aggregations

ForeignSourceFilter (org.opennms.web.outage.filter.ForeignSourceFilter)2 LocationFilter (org.opennms.web.outage.filter.LocationFilter)2 NegativeForeignSourceFilter (org.opennms.web.outage.filter.NegativeForeignSourceFilter)2 NegativeLocationFilter (org.opennms.web.outage.filter.NegativeLocationFilter)2 NegativeNodeFilter (org.opennms.web.outage.filter.NegativeNodeFilter)2 NodeFilter (org.opennms.web.outage.filter.NodeFilter)2 OutageIdFilter (org.opennms.web.outage.filter.OutageIdFilter)2 RegainedServiceDateBeforeFilter (org.opennms.web.outage.filter.RegainedServiceDateBeforeFilter)2 Arrays (java.util.Arrays)1 Date (java.util.Date)1 List (java.util.List)1 NoSuchElementException (java.util.NoSuchElementException)1 Properties (java.util.Properties)1 StringTokenizer (java.util.StringTokenizer)1 Assert.assertEquals (org.junit.Assert.assertEquals)1 Assert.assertNotNull (org.junit.Assert.assertNotNull)1 Assert.assertTrue (org.junit.Assert.assertTrue)1 Before (org.junit.Before)1 BeforeClass (org.junit.BeforeClass)1 Test (org.junit.Test)1