/** * <p>onInit</p> */ @Override protected void onInit() { if (m_initialized) return; checkPreRequisites(); createMessageSelectorAndSubscribe(); m_initialized = true; }
/** * <p>Constructor for EventTranslator.</p> * * @param eventMgr a {@link org.opennms.netmgt.events.api.EventIpcManager} object. */ public EventTranslator(EventIpcManager eventMgr) { this(); setEventManager(eventMgr); }
private org.opennms.netmgt.translator.EventTranslator getEventTranslator() { return org.opennms.netmgt.translator.EventTranslator.getInstance(); } }
@Test public void testTranslateLinkDown() throws SQLException, IOException { InputStream rdr = new ByteArrayInputStream(getLinkDownTranslation().getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); // nodeId=1, ifIndex=2 will match in db final List<Event> translatedEvents = m_config.translateEvent(createLinkDownEvent(1,2)); assertNotNull(translatedEvents); assertEquals(1, translatedEvents.size()); assertEquals(3, translatedEvents.get(0).getParmCollection().size()); assertEquals(".1.3.6.1.2.1.2.2.1.1.2", translatedEvents.get(0).getParmCollection().get(0).getParmName()); assertEquals("ifName", translatedEvents.get(0).getParmCollection().get(1).getParmName()); assertEquals("ifAlias", translatedEvents.get(0).getParmCollection().get(2).getParmName()); assertEquals("david", translatedEvents.get(0).getParmCollection().get(1).getValue().getContent()); assertEquals("p-brane", translatedEvents.get(0).getParmCollection().get(2).getValue().getContent()); }
@Before public void setUp() throws Exception { MockLogAppender.setupLogging(); createMockNetwork(); createMockDb(); createAnticipators(); m_eventMgr = new MockEventIpcManager(); m_eventMgr.setEventWriter(m_db); m_eventMgr.addEventListener(m_outageAnticipator); m_eventMgr.setSynchronous(true); InputStream rdr = new ByteArrayInputStream(m_passiveStatusConfiguration.getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); m_translator.setDataSource(m_db); m_translator.init(); m_translator.start(); }
@Before @Override public void setUp() throws Exception { super.setUp(); MockLogAppender.setupLogging(); createAnticipators(); m_eventMgr = new MockEventIpcManager(); m_eventMgr.setEventWriter(m_db); m_eventMgr.addEventListener(m_outageAnticipator); m_eventMgr.setSynchronous(true); InputStream rdr = new ByteArrayInputStream(m_passiveStatusConfiguration.getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); m_translator.setDataSource(m_db); m_translator.init(); m_translator.start(); }
/** * <p>onInit</p> */ @Override protected void onInit() { try { EventTranslatorConfigFactory.init(); } catch (IOException e) { LOG.error("IOException: ", e); throw new UndeclaredThrowableException(e); } catch (ClassNotFoundException e) { LOG.error("Unable to initialize database", e); throw new UndeclaredThrowableException(e); } catch (SQLException e) { LOG.error("SQLException: ", e); throw new UndeclaredThrowableException(e); } catch (PropertyVetoException e) { LOG.error("PropertyVetoException: ", e); throw new UndeclaredThrowableException(e); } EventIpcManagerFactory.init(); EventIpcManager mgr = EventIpcManagerFactory.getIpcManager(); org.opennms.netmgt.translator.EventTranslator keeper = getEventTranslator(); keeper.setConfig(EventTranslatorConfigFactory.getInstance()); keeper.setEventManager(mgr); keeper.setDataSource(DataSourceFactory.getInstance()); keeper.init(); }
@Test public void testSubElementLong() throws Exception { m_passiveStatusConfiguration = getSqlSubValueLong(); tearDown(); setUp(); testTranslateEvent(); }
@Test public void testSubElementString() throws Exception { m_passiveStatusConfiguration = getSqlSubValueString(); tearDown(); setUp(); testTranslateEvent(); }
/** * <p>onStop</p> */ @Override protected void onStop() { getEventTranslator().stop(); }
/** * <p>onStart</p> */ @Override protected void onStart() { getEventTranslator().start(); }
/** * <p>getStatus</p> * * @return a int. */ @Override public int getStatus() { return getEventTranslator().getStatus(); }
private Event createTestEvent(String type, String nodeLabel, String ipAddr, String serviceName, String status) { final List<Parm> parms = new ArrayList<>(); if(nodeLabel != null) parms.add(buildParm(EventConstants.PARM_PASSIVE_NODE_LABEL, nodeLabel)); if(ipAddr != null) parms.add(buildParm(EventConstants.PARM_PASSIVE_IPADDR, ipAddr)); if(serviceName != null) parms.add(buildParm(EventConstants.PARM_PASSIVE_SERVICE_NAME, serviceName)); if(status != null) parms.add(buildParm(EventConstants.PARM_PASSIVE_SERVICE_STATUS, status)); return createEventWithParms("uei.opennms.org/services/"+type, parms); }
private void validateTranslatedEvent(Event event) { assertEquals(m_translator.getName(), event.getSource()); assertEquals(Long.valueOf(3), event.getNodeid()); assertEquals("www.opennms.org", event.getHost()); assertEquals("a generated event", event.getDescr()); assertEquals("192.168.1.1", event.getInterface()); assertEquals("Switch", EventUtils.getParm(event, "nodeLabel")); assertEquals("PSV", event.getService()); assertEquals("Down", EventUtils.getParm(event, "passiveStatus")); }
private String getLinkDownTranslation() { return getLinkDownTranslation(null, null); }
private void createMessageSelectorAndSubscribe() { // Subscribe to eventd List<String> ueiList = m_config.getUEIList(); ueiList.add(EventConstants.RELOAD_DAEMON_CONFIG_UEI); getEventManager().addEventListener(this, ueiList); }
@Test public void testTranslateLinkDownWithSomeDefaults() throws SQLException, IOException { final InputStream rdr = new ByteArrayInputStream(getLinkDownTranslation("foo", null).getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); // nodeId=1, ifIndex=2 will match in db final List<Event> translatedEvents1 = m_config.translateEvent(createLinkDownEvent(1,2)); assertNotNull(translatedEvents1); assertEquals(1, translatedEvents1.size()); assertEquals(3, translatedEvents1.get(0).getParmCollection().size()); assertEquals(".1.3.6.1.2.1.2.2.1.1.2", translatedEvents1.get(0).getParmCollection().get(0).getParmName()); assertEquals("ifName", translatedEvents1.get(0).getParmCollection().get(1).getParmName()); assertEquals("ifAlias", translatedEvents1.get(0).getParmCollection().get(2).getParmName()); assertEquals("david", translatedEvents1.get(0).getParmCollection().get(1).getValue().getContent()); assertEquals("p-brane", translatedEvents1.get(0).getParmCollection().get(2).getValue().getContent()); // nodeId=3, ifIndex=4 will not match in db, but only one default set... final List<Event> translatedEvents2 = m_config.translateEvent(createLinkDownEvent(3,4)); assertNotNull(translatedEvents2); assertEquals(0, translatedEvents2.size()); }
@Test public void testTranslateLinkDownWithoutDefaults() throws SQLException, IOException { final InputStream rdr = new ByteArrayInputStream(getLinkDownTranslation().getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); // nodeId=1, ifIndex=2 will match in db final List<Event> translatedEvents1 = m_config.translateEvent(createLinkDownEvent(1,2)); assertNotNull(translatedEvents1); assertEquals(1, translatedEvents1.size()); assertEquals(3, translatedEvents1.get(0).getParmCollection().size()); assertEquals(".1.3.6.1.2.1.2.2.1.1.2", translatedEvents1.get(0).getParmCollection().get(0).getParmName()); assertEquals("ifName", translatedEvents1.get(0).getParmCollection().get(1).getParmName()); assertEquals("ifAlias", translatedEvents1.get(0).getParmCollection().get(2).getParmName()); assertEquals("david", translatedEvents1.get(0).getParmCollection().get(1).getValue().getContent()); assertEquals("p-brane", translatedEvents1.get(0).getParmCollection().get(2).getValue().getContent()); // nodeId=3, ifIndex=4 will not match in db, but no defaults set... final List<Event> translatedEvents2 = m_config.translateEvent(createLinkDownEvent(3,4)); assertNotNull(translatedEvents2); assertEquals(0, translatedEvents2.size()); }
@Test public void testTranslateLinkDownWithDefaults() throws SQLException, IOException { final InputStream rdr = new ByteArrayInputStream(getLinkDownTranslation("foo", "bar").getBytes(StandardCharsets.UTF_8)); m_config = new EventTranslatorConfigFactory(rdr, m_db); EventTranslatorConfigFactory.setInstance(m_config); m_translator = EventTranslator.getInstance(); m_translator.setEventManager(m_eventMgr); m_translator.setConfig(EventTranslatorConfigFactory.getInstance()); // nodeId=1, ifIndex=2 will match in db final List<Event> translatedEvents1 = m_config.translateEvent(createLinkDownEvent(1,2)); assertNotNull(translatedEvents1); assertEquals(1, translatedEvents1.size()); assertEquals(3, translatedEvents1.get(0).getParmCollection().size()); assertEquals(".1.3.6.1.2.1.2.2.1.1.2", translatedEvents1.get(0).getParmCollection().get(0).getParmName()); assertEquals("ifName", translatedEvents1.get(0).getParmCollection().get(1).getParmName()); assertEquals("ifAlias", translatedEvents1.get(0).getParmCollection().get(2).getParmName()); assertEquals("david", translatedEvents1.get(0).getParmCollection().get(1).getValue().getContent()); assertEquals("p-brane", translatedEvents1.get(0).getParmCollection().get(2).getValue().getContent()); // nodeId=3, ifIndex=4 will not match in db final List<Event> translatedEvents2 = m_config.translateEvent(createLinkDownEvent(3,4)); assertNotNull(translatedEvents2); assertEquals(1, translatedEvents2.size()); assertEquals(3, translatedEvents2.get(0).getParmCollection().size()); assertEquals(".1.3.6.1.2.1.2.2.1.1.2", translatedEvents2.get(0).getParmCollection().get(0).getParmName()); assertEquals("ifName", translatedEvents2.get(0).getParmCollection().get(1).getParmName()); assertEquals("ifAlias", translatedEvents2.get(0).getParmCollection().get(2).getParmName()); assertEquals("foo", translatedEvents2.get(0).getParmCollection().get(1).getValue().getContent()); assertEquals("bar", translatedEvents2.get(0).getParmCollection().get(2).getValue().getContent()); }