thresholdalarmpropagator.java

来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 42 行

JAVA
42
字号
/* * This source code is part of TWaver 1.3.1 * * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * Copyright 2000-2005 SERVA Software, Inc. All rights reserved. */package demo.alarm;

import java.util.Iterator;

import twaver.AlarmSeverity;
import twaver.Element;
import twaver.SummingAlarmPropagator;

public class ThresholdAlarmPropagator extends SummingAlarmPropagator{
    /**
     * propagate the element's alarm state to its parent
     * @param element the element that cause propagate
     * @param parent the parent that need to be propagate
     */
    protected void propagateToParent(Element element, Element parent){
        // figure out parent's highest prop severity
        AlarmSeverity result = null;
        Iterator it = parent.children();
        while (it.hasNext()) {
            Element child = (Element) it.next();
            int count = child.getAlarmState().getAlarmCount(AlarmSeverity.CRITICAL);
            if (count >= 3) {
                result = AlarmSeverity.CRITICAL;
                break;
            }
            if(child.getAlarmState().getPropagateSeverity() == AlarmSeverity.CRITICAL){
            	result = AlarmSeverity.CRITICAL;
                break;
            }
        }
        
        // propagate this result to parent. 
        parent.getAlarmState().setPropagateSeverity(result);
    }
}

⌨️ 快捷键说明

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