Merge "Fix register micro service code"
[holmes/common.git] / holmes-actions / src / main / java / org / openo / holmes / common / api / stat / Alarm.java
index 3cd6093..c12b549 100644 (file)
@@ -46,78 +46,83 @@ public class Alarm implements AplusData, Cloneable, Serializable {
     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
@@ -145,16 +150,8 @@ public class Alarm implements AplusData, Cloneable, Serializable {
         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
@@ -197,47 +194,6 @@ public class Alarm implements AplusData, Cloneable, Serializable {
         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
@@ -245,7 +201,7 @@ public class Alarm implements AplusData, Cloneable, Serializable {
 \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