/******************************************************************************* * This file is part of OpenNMS(R). * * Copyright (C) 2006-2011 The OpenNMS Group, Inc. * OpenNMS(R) is Copyright (C) 1999-2011 The OpenNMS Group, Inc. * * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc. * * OpenNMS(R) is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * OpenNMS(R) is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OpenNMS(R). If not, see: * http://www.gnu.org/licenses/ * * For more information contact: * OpenNMS(R) Licensing <license@opennms.org> * http://www.opennms.org/ * http://www.opennms.com/ *******************************************************************************/ package org.openoss.opennms.spring.qosd; import org.opennms.netmgt.dao.AlarmDao; import org.opennms.netmgt.dao.AssetRecordDao; import org.opennms.netmgt.dao.NodeDao; import org.opennms.netmgt.eventd.EventIpcManager; import org.opennms.netmgt.xml.event.Event; import org.openoss.opennms.spring.dao.OnmsAlarmOssjMapper; import org.openoss.opennms.spring.dao.OssDao; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * <p>QoSD interface.</p> * * @author ranger * @version $Id: $ */ public interface QoSD { /** * provides an interface to OpenNMS which provides a unified api * * @param _ossDao the ossDao to set */ public abstract void setOssDao(OssDao _ossDao); /** * Used by Spring Application context to pass in OnmsAlarmOssjMapper * The OnmsAlarmOssjMapper class maps OpenNMS alarms to OSS/J alarms and events * * @param _onmsAlarmOssjMapper the onmsAlarmOssjMapper to set */ public abstract void setOnmsAlarmOssjMapper( OnmsAlarmOssjMapper _onmsAlarmOssjMapper); /** * Used by Spring Application context to pass in AssetRecordDao * * @param ar a {@link org.opennms.netmgt.dao.AssetRecordDao} object. */ public abstract void setAssetRecordDao(AssetRecordDao ar); /** * Used by Spring Application context to pass in NodeDaof * * @param nodedao a {@link org.opennms.netmgt.dao.NodeDao} object. */ public abstract void setNodeDao(NodeDao nodedao); /** * Used by Spring Application context to pass in EventIpcManager * * @param eventIpcManager a {@link org.opennms.netmgt.eventd.EventIpcManager} object. */ public abstract void setEventIpcManager(EventIpcManager eventIpcManager); /** * Used by Spring Application context to pass in alarmDao * * @param alarmDao a {@link org.opennms.netmgt.dao.AlarmDao} object. */ public abstract void setAlarmDao(AlarmDao alarmDao); /** * Used by Spring Application context to pass in AlarmListConnectionManager * * @param alcm a {@link org.openoss.opennms.spring.qosd.AlarmListConnectionManager} object. */ public abstract void setAlarmListConnectionManager( AlarmListConnectionManager alcm); /** * Used by jmx mbean QoSD to pass in Spring Application context * * @param m_context - application context for this bean to use */ public abstract void setApplicationContext(ClassPathXmlApplicationContext m_context); /** Constant <code>NAME="OpenOSS.QoSD"</code> */ public static final String NAME = "OpenOSS.QoSD"; /** * Method to set up the fiber * Note - not used in Spring activation */ public abstract void init(); /** * The start() method loads the configuration for the QosD daemon and registers for events */ public abstract void start(); /** * Stop method of fiber, called by OpenNMS when fiber execution is to * finish. Its purpose is to clean everything up, e.g. close any JNDI or * database connections, before the fiber's execution is ended. */ public abstract void stop(); /** * Resume method of fiber, called by OpenNMS to start the fiber up from * a paused state. */ public abstract void resume(); /** * Pause method of fiber, called by OpenNMS to put the fiber in a * suspended state until it can be later resumed. */ public abstract void pause(); /** * Returns the Log category name * * @return a {@link java.lang.String} object. */ public abstract String getName(); /** * lets OpenNMS know what state the daemon is in * * @return a int. */ public abstract int getStatus(); /** * The OpenNMS event listener runs this routine when a * new event is detected. This can be run on any event but only needs to run on * uei.opennms.org/vacuumd/alarmListChanged * * @param event a {@link org.opennms.netmgt.xml.event.Event} object. */ public abstract void onEvent(Event event); /** * Registers an OpenNMS event listener with this class. * When an event occurs, OpenNMS will call the onEvent() * method of this object. */ public abstract void registerListener(); /** * Stops OpenNMS calling the onEvent method of this object when * an event occurs. */ public abstract void unregisterListener(); /** * not used but needed for initialisation * * @return stats */ public abstract String getStats(); /** * A method to request an alarm list from the OpenNMS database * and send the "unacked" alarms to the remote AlarmMonitor bean */ public abstract void sendAlarms(); }