def array2Map(array:Array[String]): mutable.Map[String, String] = {
val receive = array
val map:mutable.Map[String, String]=Map.empty
for(i <- 0 to receive.length-1){
val elem = receive.apply(i)
val sp = elem.toString.split(":")
if(sp.length>1) {
map.+=(sp.apply(0).toString -> sp.apply(1).toString)
}
}
println(map)
return map
}
def test2(alarm: AlarmReceive):String = {
val alarmofactivemqsend = alarm.patrol_abnormal_item
val hostname = alarmofactivemqsend.hostname
val process = alarmofactivemqsend.process
val midAlarm = alarmofactivemqsend.alarm
val ext = midAlarm.extrakey
val extrakey = array2Map(ext)
val systemtype = midAlarm.systemtype
val alarmcode = midAlarm.alarmcode
val status = midAlarm.status
val level = midAlarm.level
val con = midAlarm.content
val content = array2Map(con)
val malarm:MAlarm =MAlarm(systemtype,alarmcode,status,level,content)
val st:alarmofactivemqsend= alarmofactivemqsend(hostname, process, extrakey, malarm)
val res = result1(st)
val alarmJson =Json(DefaultFormats).write(res)
println(alarmJson)
return alarmJson
}
}
case class AlarmConf(isReport: String, systemtype: String, alarmcode: String)
case class MidAlarm(systemtype: String, alarmcode: String, status: String, level: String, category: String, content: Array[String], extrakey: Array[String])
case class AlarmInfo(hostname: String, process: String, aid: String, service: String, role: String, alarm: MidAlarm) {
def apply(hostname: String, process: String, extrakey: mutable.Map[String, String], malarm: MAlarm): alarmofactivemqsend = {
val ss = alarmofactivemqsend(hostname,process,extrakey,malarm)
return ss
}
}
case class AlarmSend(patrol_abnormal_item: AlarmInfo)
case class AlarmReceive(patrol_abnormal_item: AlarmInfo, overThreashold: Boolean)
case class alarmofactivemqsend(hostname: String, process: String, extrakey: Map[String,String],alarm:MAlarm)
case class MAlarm(systemtype: String, alarmcode: String, status: String, level: String, content: Map[String,String])
case class result1(alarmofactivemqsend:alarmofactivemqsend)