\r
package org.onap.holmes.common.api.stat;\r
\r
-import java.io.Serializable;\r
-import java.io.StringReader;\r
-import java.lang.reflect.Field;\r
-import java.util.Date;\r
-import java.util.HashMap;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
import lombok.Getter;\r
import lombok.Setter;\r
-import org.jdom.Attribute;\r
-import org.jdom.Element;\r
-import org.jdom.input.SAXBuilder;\r
-import org.jdom.output.XMLOutputter;\r
+import net.sf.json.JSONObject;\r
+\r
+import java.io.Serializable;\r
+import java.util.*;\r
\r
\r
@Getter\r
private int linkType = -1;\r
private int centerType;\r
\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
}\r
\r
@Override\r
public String toString() {\r
- final String nullStr = "<null>";\r
-\r
- Element el = new Element("Alarm");\r
- el.setAttribute("id", String.valueOf(id));\r
- el.setAttribute("aid", String.valueOf(aid));\r
- el.setAttribute("alarmKey", String.valueOf(alarmKey));\r
- el.setAttribute("eventType", String.valueOf(eventType));\r
- el.setAttribute("region", region == null ? nullStr : region);\r
- el.setAttribute("site", site == null ? nullStr : site);\r
- el.setAttribute("network", network);\r
- el.setAttribute("neType", neType);\r
- el.setAttribute("equipType", equipType);\r
- el.setAttribute("position1", position1);\r
- el.setAttribute("subPosition1", subPosition1 == null ? nullStr : subPosition1);\r
- el.setAttribute("position2", position2 == null ? nullStr : position2);\r
- el.setAttribute("subPosition2", subPosition2 == null ? nullStr : subPosition2);\r
- el.setAttribute("severity", String.valueOf(severity));\r
- el.setAttribute("alarmType", String.valueOf(alarmType));\r
- el.setAttribute("probableCause", String.valueOf(probableCause));\r
- el.setAttribute("specificProblem", specificProblem == null ? nullStr : specificProblem);\r
- el.setAttribute("additionalText", additionalText == null ? nullStr : additionalText);\r
- el.setAttribute("raisedTime", String.valueOf(raisedTime.getTime()));\r
- el.setAttribute("raisedServerTime", String.valueOf(raisedServerTime.getTime()));\r
- if (clearedTime != null) {\r
- el.setAttribute("clearedTime", String.valueOf(clearedTime.getTime()));\r
- }\r
- if (clearedServerTime != null) {\r
- el.setAttribute("clearedServerTime", String.valueOf(clearedServerTime.getTime()));\r
- }\r
\r
- return new XMLOutputter().outputString(el);\r
+ return JSONObject.fromObject(this).toString();\r
}\r
\r
@Override\r