public static final byte EVENT_RAISED = 0;\r
\r
private static final long serialVersionUID = 4520003737132012000L;\r
-\r
+ private final static Date clearedServerTime = null;\r
+ private final Map<Integer, Integer> linkIdNodeIdxMap = new HashMap<Integer, Integer>();\r
private byte eventType = EVENT_RAISED;\r
-\r
private long id = 0L;\r
-\r
private String alarmKey = "";\r
-\r
private String network = "";\r
-\r
private String neType = "";\r
-\r
private String equipType = "";\r
-\r
private String position1 = "";\r
-\r
private String subPosition1 = null;\r
-\r
private String position2 = null;\r
-\r
private String subPosition2 = null;\r
-\r
private byte severity = -1;\r
-\r
private byte alarmType = -1;\r
-\r
private long probableCause = -1;\r
-\r
private String specificProblem = null;\r
-\r
private String additionalText = null;\r
-\r
private Date raisedTime = new Date();\r
-\r
private Date raisedServerTime = new Date();\r
-\r
private Date clearedTime = null;\r
-\r
- private final Date clearedServerTime = null;\r
-\r
private String region = null;\r
-\r
private String site = null;\r
-\r
private String aid = null;\r
-\r
private short systemType = -1;\r
-\r
private boolean rootAlarmFlag = false;\r
-\r
private int linkId = -1;\r
-\r
private int nodeIdx = -1;\r
-\r
private Set<Integer> linkIds = new HashSet<Integer>();\r
-\r
private HashMap<String, Integer> priorityMap = new HashMap<String, Integer>();\r
-\r
private HashMap<String, Integer> rootAlarmTypeMap = new HashMap<String, Integer>();\r
-\r
private int rootAlarmType = -1;\r
-\r
private boolean keyAlarmFlag = false;\r
-\r
private int keyAlarmType = -1;\r
-\r
private int networkLevel = -1;\r
-\r
private int linkType = -1;\r
-\r
private int centerType;\r
\r
- private final Map<Integer, Integer> linkIdNodeIdxMap = new HashMap<Integer, Integer>();\r
+ public static Alarm valueOf(String xmlString) {\r
+ Element element;\r
+ try {\r
+ StringReader sb = new StringReader(xmlString);\r
+ element = new SAXBuilder().build(sb).getRootElement();\r
+ sb.close();\r
+ } catch (Exception e) {\r
+ throw new RuntimeException(e);\r
+ }\r
+\r
+ Alarm alarm = new Alarm();\r
+ @SuppressWarnings("unchecked")\r
+ List<Attribute> list = element.getAttributes();\r
+ for (Attribute attr : list) {\r
+ String attrName = attr.getName();\r
+ try {\r
+ Field field = Alarm.class.getDeclaredField(attrName);\r
+ if (!attrName.endsWith("Time")) {\r
+ String type = field.getType().getSimpleName();\r
+ if ("byte".equals(type)) {\r
+ field.set(alarm, Byte.parseByte(attr.getValue()));\r
+ } else if ("long".equals(type)) {\r
+ field.set(alarm, Long.parseLong(attr.getValue()));\r
+ } else if ("String".equals(type)) {\r
+ field.set(alarm, attr.getValue());\r
+ } else {\r
+ throw new RuntimeException("unknow attr type: " + type.toString());\r
+ }\r
+ } else {\r
+ Date date = new Date();\r
+ date.setTime(Long.parseLong(attr.getValue()));\r
+ field.set(alarm, date);\r
+ }\r
+ } catch (Exception e) {\r
+ throw new RuntimeException(e);\r
+ }\r
+ }\r
+\r
+ return alarm;\r
+ }\r
\r
public void addLinkIdNodeIdx(int linkId, int index) {\r
linkIdNodeIdxMap.put(linkId, index);\r
return 999;\r
}\r
\r
- public Map<Integer, Integer> getLinkIdNodeIdx() {\r
- return this.linkIdNodeIdxMap;\r
- }\r
-\r
public boolean containNode(int linkId, int index) {\r
- if (linkIdNodeIdxMap.containsKey(linkId) && linkIdNodeIdxMap.get(linkId) == index) {\r
- return true;\r
- } else {\r
- return false;\r
- }\r
+ return linkIdNodeIdxMap.containsKey(linkId) && linkIdNodeIdxMap.get(linkId) == index;\r
}\r
\r
@Override\r
return new XMLOutputter().outputString(el);\r
}\r
\r
- public static Alarm valueOf(String xmlString) {\r
- Element element = null;\r
- try {\r
- StringReader sb = new StringReader(xmlString);\r
- element = new SAXBuilder().build(sb).getRootElement();\r
- sb.close();\r
- } catch (Exception e) {\r
- throw new RuntimeException(e);\r
- }\r
-\r
- Alarm alarm = new Alarm();\r
- @SuppressWarnings("unchecked")\r
- List<Attribute> list = element.getAttributes();\r
- for (Attribute attr : list) {\r
- String attrName = attr.getName();\r
- try {\r
- Field field = Alarm.class.getDeclaredField(attrName);\r
- if (!attrName.endsWith("Time")) {\r
- String type = field.getType().getSimpleName();\r
- if (type.equals("byte")) {\r
- field.set(alarm, Byte.parseByte(attr.getValue()));\r
- } else if (type.equals("long")) {\r
- field.set(alarm, Long.parseLong(attr.getValue()));\r
- } else if (type.equals("String")) {\r
- field.set(alarm, attr.getValue());\r
- } else {\r
- throw new RuntimeException("unknow attr type: " + type.toString());\r
- }\r
- } else {\r
- Date date = new Date();\r
- date.setTime(Long.parseLong(attr.getValue()));\r
- field.set(alarm, date);\r
- }\r
- } catch (Exception e) {\r
- throw new RuntimeException(e);\r
- }\r
- }\r
-\r
- return alarm;\r
- }\r
-\r
@Override\r
public int hashCode() {\r
return this.getAlarmKey().hashCode();\r
\r
@Override\r
public boolean equals(Object arg0) {\r
- if (arg0 == null) {\r
+ if (arg0 == null || !(arg0 instanceof Alarm)) {\r
return false;\r
}\r
return this.alarmKey.equals(((Alarm) arg0).getAlarmKey());\r