告警規則 Rule

import java.util.List;


public class Rule implements RuleCompare
{
private String sign = null;

private String key = null;

private String standValue = null;

private List<String> valueList = null;

public String getSign()
{
return sign;
}

public void setSign(String sign)
{
this.sign = sign;
}

public String getKey()
{
return key;
}

public void setKey(String key)
{
this.key = key;
}

public String getStandValue()
{
return standValue;
}

public void setStandValue(String standValue)
{
this.standValue = standValue;
}

public List<String> getValueList()
{
return valueList;
}

public void setValueList(List<String> valueList)
{
this.valueList = valueList;
}

public String toString()
{
StringBuffer strBuffer = new StringBuffer(20);
strBuffer.append("Rule atribute key : ").append(this.key)
.append(", sign : ").append(this.sign)
.append(", standValue : ").append(this.standValue);
return strBuffer.toString();
}

public boolean compare(String realValue)
{
boolean flag = false;

// 需要比較的數據爲空時直接返回false
if (realValue == null)
{
return false;
}

if ("=".equals(sign))
{
flag = realValue.equals(standValue);

}
else if ("!=".equals(sign))
{
flag = !realValue.equals(standValue);
}
else if (">".equals(sign))
{
flag = (Long.parseLong(realValue) > Long.parseLong(standValue));
}
else if ("<".equals(sign))
{
flag = (Long.parseLong(realValue) < Long.parseLong(standValue));
}
else if (sign.equals(RuleTools.INCLUDE))
{

if (valueList != null && valueList.contains(realValue))
{
flag = true;
}

}
else if (sign.equals(RuleTools.NOTINCLUDE))
{

if (valueList != null && valueList.contains(realValue))
{
flag = true;
}

// 找到數據,實際不需要發告警的.否則就發告警
if (flag)
{
flag = false;
}
else
{
flag = true;
}
}

return flag;
}
發佈了88 篇原創文章 · 獲贊 0 · 訪問量 4468
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章