/** * This method schedules a {@link SnmpCollection} for node for each package. Also schedule * discovery link on package when not still activated. * * @param node */ private void scheduleCollectionForNode(final LinkableNode node) { for (final SnmpCollection snmpcoll : getSnmpCollections(node.getNodeId(), node.getSnmpPrimaryIpAddr(), node.getSysoid())) { if (m_activepackages.contains(snmpcoll.getPackageName())) { LogUtils.debugf( this, "ScheduleCollectionForNode: package active: %s", snmpcoll.getPackageName()); } else { // schedule discovery link LogUtils.debugf( this, "ScheduleCollectionForNode: Scheduling Discovery Link for Active Package: %s", snmpcoll.getPackageName()); final DiscoveryLink discovery = this.getDiscoveryLink(snmpcoll.getPackageName()); if (discovery.getScheduler() == null) { discovery.setScheduler(m_scheduler); } discovery.schedule(); m_activepackages.add(snmpcoll.getPackageName()); } if (snmpcoll.getScheduler() == null) { snmpcoll.setScheduler(m_scheduler); } LogUtils.debugf( this, "ScheduleCollectionForNode: Scheduling SNMP Collection for Package/NodeId: %s/%d/%s", snmpcoll.getPackageName(), node.getNodeId(), snmpcoll.getInfo()); snmpcoll.schedule(); } }
LinkableNode getNode(int nodeid) { synchronized (m_nodes) { for (LinkableNode node : m_nodes) { if (node.getNodeId() == nodeid) return node; } return null; } }
private LinkableNode removeNode(int nodeid) { synchronized (m_nodes) { Iterator<LinkableNode> ite = m_nodes.iterator(); while (ite.hasNext()) { LinkableNode curNode = ite.next(); if (curNode.getNodeId() == nodeid) { ite.remove(); return curNode; } } return null; } }