@Transactional(readOnly=true) private OnmsNode findNodebyForeignId(final String foreignSource, final String foreignId) { return m_nodeDao.findByForeignId(foreignSource, foreignId); }
@Transactional(readOnly=true) private OnmsNode findNodebyForeignId(final String foreignSource, final String foreignId) { return m_nodeDao.findByForeignId(foreignSource, foreignId); }
@Override public Node getNodeByForeignSourceAndForeignId(String foreignSource, String foreignId) { return sessionUtils.withReadOnlyTransaction(() -> ModelMappers.toNode(nodeDao.findByForeignId(foreignSource, foreignId))); } }
@Override public void process(final Exchange exchange) throws Exception { final Event event = exchange.getIn().getBody(Event.class); String systemId = exchange.getIn().getHeader(EVENT_HEADER_SYSTEMID, String.class); if (event.getNodeid() > 0) { String foreignSource = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNSOURCE, String.class); String foreignId = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNID, String.class); OnmsNode node = nodeDao.findByForeignId(foreignSource, foreignId); if (node != null && node.getId() != null) { event.setNodeid(node.getId().longValue()); event.setDistPoller(systemId); event.setSource("Endpoint="+systemId+":"+event.getSource()); } else { LOG.warn("Could not find node {}/{} in the database, cannot update node ID to local value; discarding event", foreignSource, foreignId); // Halt the route if we cannot translate the node ID exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE); } } } }
@Override public void process(final Exchange exchange) throws Exception { final String eventXml = exchange.getIn().getBody(String.class); final Event event = JaxbUtils.unmarshal(Event.class, eventXml); final String systemId = exchange.getIn().getHeader(EVENT_HEADER_SYSTEMID, String.class); if (event.getNodeid() > 0) { String foreignSource = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNSOURCE, String.class); String foreignId = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNID, String.class); OnmsNode node = nodeDao.findByForeignId(foreignSource, foreignId); if (node != null && node.getId() != null) { event.setNodeid(node.getId().longValue()); event.setDistPoller(systemId); event.setSource("Endpoint="+systemId+":"+event.getSource()); } else { LOG.warn("Could not find node {}/{} in the database, cannot update node ID to local value; discarding event", foreignSource, foreignId); // Halt the route if we cannot translate the node ID exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE); } } exchange.getIn().setBody(event, Event.class); }
private void setNodeIdForVertex(GraphMLVertex vertex) { if (vertex == null) { return; } if (vertex.getNodeID() == null) { String foreignSource = (String) vertex.getProperties().get(GraphMLProperties.FOREIGN_SOURCE); String foreignId = (String) vertex.getProperties().get(GraphMLProperties.FOREIGN_ID); if (!Strings.isNullOrEmpty(foreignSource) && !Strings.isNullOrEmpty(foreignId)) { OnmsNode onmsNode = m_serviceAccessor.getNodeDao().findByForeignId(foreignSource, foreignId); if (onmsNode != null) { vertex.setNodeID(onmsNode.getId()); } else { LOG.warn("No node found for the given foreignSource ({}) and foreignId ({}).", foreignSource, foreignId); } } } }
@Override public void process(final Exchange exchange) throws Exception { final String eventXml = exchange.getIn().getBody(String.class); final Event event = JaxbUtils.unmarshal(Event.class, eventXml); final String systemId = exchange.getIn().getHeader(EVENT_HEADER_SYSTEMID, String.class); if (event.getNodeid() > 0) { String foreignSource = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNSOURCE, String.class); String foreignId = exchange.getIn().getHeader(EVENT_HEADER_FOREIGNID, String.class); OnmsNode node = nodeDao.findByForeignId(foreignSource, foreignId); if (node != null && node.getId() != null) { event.setNodeid(node.getId().longValue()); event.setDistPoller(systemId); event.setSource("Endpoint="+systemId+":"+event.getSource()); } else { LOG.warn("Could not find node {}/{} in the database, cannot update node ID to local value; discarding event", foreignSource, foreignId); // Halt the route if we cannot translate the node ID exchange.setProperty(Exchange.ROUTE_STOP, Boolean.TRUE); } } exchange.getIn().setBody(event, Event.class); }
private void setNodeIdForVertex(GraphMLVertex vertex) { if (vertex == null) { return; } if (vertex.getNodeID() == null) { String foreignSource = (String) vertex.getProperties().get(GraphMLProperties.FOREIGN_SOURCE); String foreignId = (String) vertex.getProperties().get(GraphMLProperties.FOREIGN_ID); if (!Strings.isNullOrEmpty(foreignSource) && !Strings.isNullOrEmpty(foreignId)) { OnmsNode onmsNode = m_serviceAccessor.getNodeDao().findByForeignId(foreignSource, foreignId); if (onmsNode != null) { vertex.setNodeID(onmsNode.getId()); } else { LOG.warn("No node found for the given foreignSource ({}) and foreignId ({}).", foreignSource, foreignId); } } } }
@Transactional(readOnly=true) private OnmsNode getDbNode(final OnmsNode node) { OnmsNode dbNode; if (node.getId() != null) { dbNode = m_nodeDao.get(node.getId()); } else { dbNode = m_nodeDao.findByForeignId(node.getForeignSource(), node.getForeignId()); } return dbNode; }
@Transactional(readOnly=true) private OnmsNode getDbNode(final OnmsNode node) { OnmsNode dbNode; if (node.getId() != null) { dbNode = m_nodeDao.get(node.getId()); } else { dbNode = m_nodeDao.findByForeignId(node.getForeignSource(), node.getForeignId()); } return dbNode; }
proxyNode = nodeDao.get().findByForeignId(proxyNodeFS, proxyNodeFI); LOG.debug("Found a node via foreign-source / foreign-id '{}'/'{}' to use as proxy", proxyNodeFS, proxyNodeFI); if (proxyNode != null && proxyNode.getPrimaryInterface() != null) proxyAddress = proxyNode.getPrimaryInterface().getIpAddress();
final Parm foreignId = event.getParm("_foreignId"); if (foreignId != null && foreignId.getValue() != null) { final OnmsNode node = getNodeDao().findByForeignId(foreignSource.getValue().getContent(), foreignId.getValue().getContent()); if (node != null) { event.setNodeid(node.getId().longValue());
final Parm foreignId = event.getParm("_foreignId"); if (foreignId != null && foreignId.getValue() != null) { final OnmsNode node = getNodeDao().findByForeignId(foreignSource.getValue().getContent(), foreignId.getValue().getContent()); if (node != null) { event.setNodeid(node.getId().longValue());
private void updateParent(final OnmsIpInterface iface) { OnmsNode node = null; if (iface.getNodeId() != null) { node = getNodeDao().get(iface.getNodeId()); } else if (iface.getNode() != null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); if (node == null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); } } if (node != null && node != iface.getNode()) { LOG.debug("merging node {} into node {}", iface.getNode(), node); node.mergeNode(iface.getNode(), new NullEventForwarder(), false); iface.setNode(node); } if (!iface.getNode().getIpInterfaces().contains(iface)) { LOG.debug("adding IP interface to node {}: {}", iface.getNode().getId(), iface); iface.getNode().addIpInterface(iface); } }
private void updateParent(final OnmsIpInterface iface) { OnmsNode node = null; if (iface.getNodeId() != null) { node = getNodeDao().get(iface.getNodeId()); } else if (iface.getNode() != null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); if (node == null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); } } if (node != null && node != iface.getNode()) { LOG.debug("merging node {} into node {}", iface.getNode(), node); node.mergeNode(iface.getNode(), new NullEventForwarder(), false); iface.setNode(node); } if (!iface.getNode().getIpInterfaces().contains(iface)) { LOG.debug("adding IP interface to node {}: {}", iface.getNode().getId(), iface); iface.getNode().addIpInterface(iface); } }
private void updateParent(final OnmsSnmpInterface iface) { OnmsNode node = null; if (iface.getNodeId() != null) { node = getNodeDao().get(iface.getNodeId()); } else if (iface.getNode() != null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); } if (node != null && node != iface.getNode()) { LOG.debug("merging node {} into node {}", iface.getNode(), node); node.mergeNode(iface.getNode(), new NullEventForwarder(), false); iface.setNode(node); } if (!iface.getNode().getSnmpInterfaces().contains(iface)) { LOG.debug("adding SNMP interface to node {}: {}", iface.getNode().getId(), iface); iface.getNode().addSnmpInterface(iface); } }
private void updateParent(final OnmsSnmpInterface iface) { OnmsNode node = null; if (iface.getNodeId() != null) { node = getNodeDao().get(iface.getNodeId()); } else if (iface.getNode() != null) { node = getNodeDao().findByForeignId(iface.getNode().getForeignSource(), iface.getNode().getForeignId()); } if (node != null && node != iface.getNode()) { LOG.debug("merging node {} into node {}", iface.getNode(), node); node.mergeNode(iface.getNode(), new NullEventForwarder(), false); iface.setNode(node); } if (!iface.getNode().getSnmpInterfaces().contains(iface)) { LOG.debug("adding SNMP interface to node {}: {}", iface.getNode().getId(), iface); iface.getNode().addSnmpInterface(iface); } }
@Test public void testCriterias() throws Exception { Assert.assertNotNull(m_pollContext); OnmsNode node = m_nodeDao.findByForeignId("linkd", "cisco2691"); Assert.assertNotNull(node); List<OnmsIpInterface> ipInterfaces = m_pollContext.getPollableNodes(); Assert.assertNotNull(ipInterfaces); Assert.assertEquals(2, ipInterfaces.size()); ipInterfaces = m_pollContext.getPollableNodesByIp("10.1.4.2"); // Primary Interface Assert.assertNotNull(ipInterfaces); Assert.assertEquals(1, ipInterfaces.size()); ipInterfaces = m_pollContext.getPollableNodesByIp("10.1.5.1"); // Secondary Interface Assert.assertNotNull(ipInterfaces); Assert.assertEquals(0, ipInterfaces.size()); // Because the criteria is an SQL restriction, the access to ipinterface table is through the // internal alias created by hibernate, in this case ipinterfac1_. String criteria = "snmpifdescr like '%Ethernet%' and ipinterfac1_.ipaddr like '10.1.5.%'"; List<OnmsSnmpInterface> snmpInterfaces = m_pollContext.get(node.getId(), criteria); Assert.assertNotNull(snmpInterfaces); Assert.assertEquals(1, snmpInterfaces.size()); }