public static EqRestriction eq(final String attribute, final Object comparator) { return new EqRestriction(attribute, comparator); }
@Override public String toString() { return "EqRestriction [attribute=" + getAttribute() + ", value=" + getValue() + "]"; } }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void visitEq(final EqRestriction restriction) { final Object o = getProperty(restriction); if (o instanceof Comparable) { try { final Comparable oC = (Comparable)o; final Comparable oV = (Comparable)restriction.getValue(); final int comparison = oC.compareTo(oV); LOG.debug("comparision = {}", comparison); if (comparison == 0) { return; } } catch (final ClassCastException e) { } } else { if (restriction.getValue().equals(o)) return; } fail(restriction); } @Override public void visitEqComplete(final EqRestriction restriction) {
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void visitEq(final EqRestriction restriction) { final Object o = getProperty(restriction); if (o instanceof Comparable) { try { final Comparable oC = (Comparable)o; final Comparable oV = (Comparable)restriction.getValue(); final int comparison = oC.compareTo(oV); LOG.debug("comparision = {}", comparison); if (comparison == 0) { return; } } catch (final ClassCastException e) { } } else { if (restriction.getValue().equals(o)) return; } fail(restriction); } @Override public void visitEqComplete(final EqRestriction restriction) {
public static EqRestriction eq(final String attribute, final Object comparator) { return new EqRestriction(attribute, comparator); }
@Override public String toString() { return "EqRestriction [attribute=" + getAttribute() + ", value=" + getValue() + "]"; } }
@Override protected void addAdditionalCriteriaOptions(Criteria criteria, Page page, boolean doOrder) { if (!doOrder) return; // We join the ipInterfaces table, to be able to sort on ipInterfaces.ipAddress. criteria.setAliases(Arrays.asList(new Alias[] { new Alias("ipInterfaces", "ipInterfaces", Alias.JoinType.LEFT_JOIN, new EqRestriction("ipInterfaces.isSnmpPrimary", PrimaryType.PRIMARY)) })); }
@Override public void visitEq(final EqRestriction restriction) { m_criterions.add(org.hibernate.criterion.Restrictions.eq(restriction.getAttribute(), restriction.getValue())); }
@Override protected void addAdditionalCriteriaOptions(Criteria criteria, Page page, boolean doOrder) { if (!doOrder) return; // We join the ipInterfaces table, to be able to sort on ipInterfaces.ipAddress. criteria.setAliases(Arrays.asList(new Alias[] { new Alias("ipInterfaces", "ipInterfaces", Alias.JoinType.LEFT_JOIN, new EqRestriction("ipInterfaces.isSnmpPrimary", PrimaryType.PRIMARY)) })); }
})); criteria.addRestriction(new AnyRestriction( new EqRestriction("monitoredService.status", "D"), new EqRestriction("monitoredService.status", "F"), new EqRestriction("monitoredService.status", "U") )); criteria.addRestriction(new NullRestriction("ifRegainedService")); })); criteria.addRestriction(new AnyRestriction( new EqRestriction("ipInterface.isManaged", "F"), new EqRestriction("ipInterface.isManaged", "U") )); criteria.addRestriction(new NullRestriction("ifRegainedService"));
protected InetAddress getNodeIpAddress(OnmsNode node) { final Criteria criteria = new Criteria(OnmsIpInterface.class) .setAliases(Arrays.asList(new Alias[] { new Alias("node", "node", JoinType.LEFT_JOIN) })) .addRestriction(new EqRestriction("node.id", node.getId())); List<OnmsIpInterface> matchingIfaces = getIpInterfaceDao().findMatching(criteria); return matchingIfaces.get(0).getIpAddress(); }
new Alias("node","node", JoinType.LEFT_JOIN), })) .addRestriction(new EqRestriction("node.id", (int)nodeId)) .addRestriction(new LikeRestriction("entPhysicalName", likeQuery)) .setOrders(Arrays.asList(new Order[] {
new Alias("node","node", JoinType.LEFT_JOIN), })) .addRestriction(new EqRestriction("node.id", (int)nodeId)) .addRestriction(new LikeRestriction("entPhysicalName", likeQuery)) .setOrders(Arrays.asList(new Order[] {
@Override public List<String[]> getNodeServices(int nodeId){ final LinkedList<String[]> servicemap = new LinkedList<>(); Criteria criteria = new Criteria(OnmsMonitoredService.class); criteria.setAliases(Arrays.asList(new Alias[] { new Alias("ipInterface", "ipInterface", JoinType.LEFT_JOIN), new Alias("ipInterface.node", "node", JoinType.LEFT_JOIN) })); criteria.addRestriction(new EqRestriction("node.id", nodeId)); criteria.addRestriction(new NeRestriction("status", "F")); // Ignore forced-unmanaged for (OnmsMonitoredService service : m_monitoredServiceDao.findMatching(criteria)) { servicemap.add(new String[] { service.getIpAddressAsString(), service.getServiceName() }); } return servicemap; }
@Override public List<OnmsNode> findByIpAddressAndService(InetAddress ipAddress, String serviceName) { final org.opennms.core.criteria.Criteria criteria = new org.opennms.core.criteria.Criteria(OnmsNode.class) .setAliases(Arrays.asList(new Alias[] { new Alias("ipInterfaces","ipInterfaces", JoinType.LEFT_JOIN), new Alias("ipInterfaces.monitoredServices","monitoredServices", JoinType.LEFT_JOIN), new Alias("monitoredServices.serviceType","serviceType", JoinType.LEFT_JOIN) })) .addRestriction(new EqRestriction("ipInterfaces.ipAddress", ipAddress)) //TODO: Replace D with a constant .addRestriction(new NeRestriction("ipInterfaces.isManaged", "D")) .addRestriction(new EqRestriction("serviceType.name", serviceName)) .setOrders(Arrays.asList(new Order[] { Order.desc("id") })); return findMatching(criteria); }
/** * <p>checkForDisconnectedMonitors</p> */ @Override public void checkForDisconnectedMonitors() { LOG.debug("Checking for disconnected monitors: disconnectedTimeout = {}", m_disconnectedTimeout); try { final Date now = m_timeKeeper.getCurrentDate(); final Date earliestAcceptable = new Date(now.getTime() - m_disconnectedTimeout); final Criteria criteria = new Criteria(OnmsLocationMonitor.class); criteria.addRestriction(new EqRestriction("status", MonitorStatus.STARTED)); criteria.addRestriction(new NotNullRestriction("lastUpdated")); criteria.addRestriction(new LtRestriction("lastUpdated", earliestAcceptable)); // Lock all of the records for update since we will be marking them as DISCONNECTED criteria.setLockType(LockType.PESSIMISTIC_READ); final Collection<OnmsLocationMonitor> monitors = m_locMonDao.findMatching(criteria); LOG.debug("Found {} monitor(s) that are transitioning to disconnected state", monitors.size()); for (final OnmsLocationMonitor monitor : monitors) { LOG.debug("Monitor {} has stopped responding", monitor.getName()); monitor.setStatus(MonitorStatus.DISCONNECTED); m_locMonDao.update(monitor); sendDisconnectedEvent(monitor); } } catch (final Throwable e) { LOG.warn("An error occurred checking for disconnected monitors.", e); } }
@Override public Node getSnmpNode(final int nodeid) { final Criteria criteria = new Criteria(OnmsNode.class); criteria.setAliases(Arrays.asList(new Alias[] { new Alias( "ipInterfaces", "iface", JoinType.LEFT_JOIN) })); criteria.addRestriction(new EqRestriction("type", NodeType.ACTIVE)); criteria.addRestriction(new EqRestriction("iface.isSnmpPrimary", PrimaryType.PRIMARY)); criteria.addRestriction(new EqRestriction("id", nodeid)); final List<OnmsNode> nodes = m_nodeDao.findMatching(criteria); if (nodes.size() > 0) { final OnmsNode node = nodes.get(0); return new Node(node.getId(), node.getLabel(), node.getPrimaryInterface().getIpAddress(), node.getSysObjectId(), node.getSysName(),node.getLocation() == null ? null : node.getLocation().getLocationName()); } else { return null; } }
/** * <p>checkForDisconnectedMonitors</p> */ @Override public void checkForDisconnectedMonitors() { LOG.debug("Checking for disconnected monitors: disconnectedTimeout = {}", m_disconnectedTimeout); try { final Date now = m_timeKeeper.getCurrentDate(); final Date earliestAcceptable = new Date(now.getTime() - m_disconnectedTimeout); final Criteria criteria = new Criteria(OnmsLocationMonitor.class); criteria.addRestriction(new EqRestriction("status", MonitorStatus.STARTED)); criteria.addRestriction(new NotNullRestriction("lastUpdated")); criteria.addRestriction(new LtRestriction("lastUpdated", earliestAcceptable)); // Lock all of the records for update since we will be marking them as DISCONNECTED criteria.setLockType(LockType.PESSIMISTIC_READ); final Collection<OnmsLocationMonitor> monitors = m_locMonDao.findMatching(criteria); LOG.debug("Found {} monitor(s) that are transitioning to disconnected state", monitors.size()); for (final OnmsLocationMonitor monitor : monitors) { LOG.debug("Monitor {} has stopped responding", monitor.getName()); monitor.setStatus(MonitorStatus.DISCONNECTED); m_locMonDao.update(monitor); sendDisconnectedEvent(monitor); } } catch (final Throwable e) { LOG.warn("An error occurred checking for disconnected monitors.", e); } }
protected OnmsIpInterfaceList getInterfaceList() { StringBuffer filterRules = new StringBuffer(getPackage().getEffectiveFilter()); List<InetAddress> ipList = FilterDaoFactory.getInstance().getActiveIPAddressList(filterRules.toString()); OnmsIpInterfaceList ifaces = new OnmsIpInterfaceList(); // Only poll the primary interface final Criteria criteria = new Criteria(OnmsIpInterface.class); criteria.addRestriction(new EqRestriction("isSnmpPrimary", PrimaryType.PRIMARY)); List<OnmsIpInterface> allValidIfaces = getIpInterfaceDao().findMatching(criteria); for (OnmsIpInterface iface : allValidIfaces) { if (ipList.contains(iface.getIpAddress())) { ifaces.add(iface); } } return ifaces; }
protected List<OnmsAlarm> getLinkdEdgeDownAlarms() { org.opennms.core.criteria.Criteria criteria = new org.opennms.core.criteria.Criteria(OnmsAlarm.class); criteria.addRestriction(new EqRestriction("uei", EventConstants.TOPOLOGY_LINK_DOWN_EVENT_UEI)); criteria.addRestriction(new NeRestriction("severity", OnmsSeverity.CLEARED)); return getAlarmDao().findMatching(criteria); }