public Filter getFilter(final String filterName) { final List<Filter> filters = new ArrayList<>(); for (final Package p : getPackages()) { final Filter filter = p.getFilter(); if (filterName.equals(filter.getName())) { filters.add(filter); } else if (filterName.equals(p.getName())) { filter.setName(p.getName()); filters.add(filter); } } if (filters.size() > 1) { throw new IllegalArgumentException("Filter name " + filterName + " matched more than one filter in collectd-configuration.xml!"); } else if (filters.size() == 1) { return filters.get(0); } else { return null; } }
public boolean interfaceInFilter(String iface, Package pkg) { String filter = pkg.getFilter().getContent(); if (iface == null) return false; final InetAddress ifaceAddress = addr(iface); boolean filterPassed = false; // // Get a list of IP address per package against the filter rules from // database and populate the package, IP list map. // LOG.debug("interfaceInFilter: package is {}. filter rules are {}", pkg.getName(), filter); try { final List<InetAddress> ipList = FilterDaoFactory.getInstance().getActiveIPAddressList(filter); filterPassed = ipList.contains(ifaceAddress); if (!filterPassed) { LOG.debug("interfaceInFilter: Interface {} passed filter for package {}?: false", iface, pkg.getName()); } } catch (Throwable t) { LOG.error("interfaceInFilter: Failed to map package: {} to an IP List with filter \"{}\"", pkg.getName(), pkg.getFilter().getContent(), t); } return filterPassed; }
/** * Copy constructor. * * @param pkg */ public Package(Package pkg) { super(); setExcludeRanges(pkg.getExcludeRanges()); setFilter(pkg.getFilter()); setIfAliasComment(pkg.getIfAliasComment()); setIfAliasDomain(pkg.getIfAliasDomain()); setIncludeRanges(pkg.getIncludeRanges()); setIncludeUrlCollection(pkg.getIncludeUrls()); setName(pkg.getName()); setOutageCalendars(pkg.getOutageCalendars()); setServices(pkg.getServices()); setSpecifics(pkg.getSpecifics()); setStoreByIfAlias(pkg.getStoreByIfAlias()); setStoreByNodeID(pkg.getStoreByNodeID()); setStorFlagOverride(pkg.getStorFlagOverride()); }