mockservice.java

来自「opennms得相关源码 请大家看看」· Java 代码 · 共 221 行

JAVA
221
字号
package org.opennms.netmgt.mock;//// This file is part of the OpenNMS(R) Application.//// OpenNMS(R) is Copyright (C) 2005 The OpenNMS Group, Inc.  All rights reserved.// OpenNMS(R) is a derivative work, containing both original code, included code and modified// code that was published under the GNU General Public License. Copyrights for modified // and included code are below.//// OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.//// Original code base Copyright (C) 1999-2001 Oculan Corp.  All rights reserved.//// This program 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 2 of the License, or// (at your option) any later version.//// This program 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 this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//// For more information contact:// OpenNMS Licensing       <license@opennms.org>//     http://www.opennms.org///     http://www.opennms.com///import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;import org.opennms.netmgt.config.poller.Package;import org.opennms.netmgt.poller.monitors.ServiceMonitor;import org.opennms.netmgt.xml.event.Event;/** * @author brozow *  * TODO To change the template for this generated type comment go to Window - * Preferences - Java - Code Style - Code Templates */public class MockService extends MockElement {    private int m_pollCount;        private Set m_pollingPkgNames = new HashSet();    private int m_pollStatus;    private int m_serviceId;    private String m_svcName;    private List m_triggers = new ArrayList();    private Event m_outageEvent;   public MockService(MockInterface iface, String svcName, int serviceId) {        super(iface);        m_svcName = svcName;        m_serviceId = serviceId;        m_pollStatus = ServiceMonitor.SERVICE_AVAILABLE;        m_pollCount = 0;    }   // FIXME: model? make generic poll listener    public void addAnticipator(PollAnticipator trigger) {        m_triggers.add(trigger);    }    // model    public int getId() {        return m_serviceId;    }    // model    public MockInterface getInterface() {        return (MockInterface) getParent();    }    // model    public String getIpAddr() {        return getInterface().getIpAddr();    }    // impl    Object getKey() {        return m_svcName;    }    // model    public String getName() {        return m_svcName;    }    // model    public MockNetwork getNetwork() {        return getInterface().getNetwork();    }    // model    public MockNode getNode() {        return getInterface().getNode();    }    // model    public int getNodeId() {        return getNode().getNodeId();    }    // model    public String getNodeLabel() {        return getNode().getLabel();    }    // stats    public int getPollCount() {        return m_pollCount;    }        public Set getPollingPackages() {        return Collections.unmodifiableSet(m_pollingPkgNames);    }    // test    public int getPollStatus() {        return m_pollStatus;    }    // test    public int poll(Package pkg) {        m_pollCount++;        m_pollingPkgNames.add(pkg.getName());                Iterator it = m_triggers.iterator();        while (it.hasNext()) {            PollAnticipator trigger = (PollAnticipator) it.next();            trigger.poll(this);        }        return getPollStatus();    }    // FIXME: model? make generic poll listener    public void removeAnticipator(PollAnticipator trigger) {        m_triggers.remove(trigger);    }    // stats    public void resetPollCount() {        m_pollCount = 0;    }    //  test    public void setPollStatus(int status) {        m_pollStatus = status;    }    // impl    public void visit(MockVisitor v) {        super.visit(v);        v.visitService(this);    }        public String toString() {        return "Svc["+getNodeLabel()+"/"+getIpAddr()+"/"+getName()+"]";    }    /**     * @return     */    public Event createDownEvent() {        return MockUtil.createNodeLostServiceEvent("Test", this);    }    /**     * @return     */    public Event createUpEvent() {        return MockUtil.createNodeRegainedServiceEvent("Test", this);    }    /**     * @param outageOpened     */    public void setOutageEvent(Event outageOpened) {        m_outageEvent = outageOpened;    }    /**     * @return     */    public Event createUnresponsiveEvent() {        return MockUtil.createServiceUnresponsiveEvent("Test", this);    }    /**     * @return     */    public Event createResponsiveEvent() {        return MockUtil.createServiceResponsiveEvent("Test", this);    }        public Event createDeleteEvent() {        return MockUtil.createServiceDeletedEvent("Test", this);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?